chore(tradein/estimator): схлопнуть low-risk кластер флагов (dedup/disclosure/manual-review/confidence-floor) — #1970 #2378

Open
opened 2026-07-04 06:34:55 +00:00 by lekss361 · 0 comments
Owner

Родитель: #1970. Precondition (#1966 backtest CI gate) закрыт 2026-07-03.

9 полей в config.py — default True с введения, 0 упоминаний в .env.example/docker-compose любого стека, 0 тестов на OFF-состояние:

  • estimate_wide_corridor_disclosure_enabled / estimate_wide_corridor_threshold (#1871 P2)
  • estimate_confidence_floor_no_analogs (#1871 P1.2)
  • estimate_manual_review_enabled / _high_value_rub / _wide_range_ratio / _elite_ppm2 (#2002 #4, metadata-only — НЕ трогает median/expected_sold/ranges)
  • estimate_radius_dedup_enabled (#1871 P2)
  • estimate_dedup_analogs_enabled (#2087 H4 — бэктест #1966 уже подтвердил OFF vs ON accuracy-идентичны: MAPE 13.89%→13.89%, coverage 83.33%→83.33%, bias −3.83%→−3.83%)

Задача: убрать if-ветку / OFF-путь, оставить только ON-поведение как единственный код-путь. Поля либо удалить из Settings, либо (если implementer решит — задокументировать почему) оставить как internal-константы модуля.

Acceptance:

  • full pytest green
  • test_backtest_regression_gate.py метрики без изменений (bit-identical или объяснённая разница == 0)
  • grep estimate_(wide_corridor|confidence_floor_no_analogs|manual_review|radius_dedup|dedup_analogs) в config.py/estimator.py — 0 совпадений (или явные module-level constants)

Files: tradein-mvp/backend/app/core/config.py, tradein-mvp/backend/app/services/estimator.py (~2318-2323, 3504, 3699-3712, 4223, 4981)

Risk: LOW — manual_review чисто метаданные; dedup/disclosure/confidence-floor трогают n_analogs/confidence в выдаче — сверить с backtest gate + qa-tester spot-check.

Родитель: #1970. Precondition (#1966 backtest CI gate) закрыт 2026-07-03. 9 полей в config.py — default True с введения, 0 упоминаний в .env.example/docker-compose любого стека, 0 тестов на OFF-состояние: - `estimate_wide_corridor_disclosure_enabled` / `estimate_wide_corridor_threshold` (#1871 P2) - `estimate_confidence_floor_no_analogs` (#1871 P1.2) - `estimate_manual_review_enabled` / `_high_value_rub` / `_wide_range_ratio` / `_elite_ppm2` (#2002 #4, metadata-only — НЕ трогает median/expected_sold/ranges) - `estimate_radius_dedup_enabled` (#1871 P2) - `estimate_dedup_analogs_enabled` (#2087 H4 — бэктест #1966 уже подтвердил OFF vs ON accuracy-идентичны: MAPE 13.89%→13.89%, coverage 83.33%→83.33%, bias −3.83%→−3.83%) Задача: убрать if-ветку / OFF-путь, оставить только ON-поведение как единственный код-путь. Поля либо удалить из Settings, либо (если implementer решит — задокументировать почему) оставить как internal-константы модуля. **Acceptance:** - full pytest green - `test_backtest_regression_gate.py` метрики без изменений (bit-identical или объяснённая разница == 0) - grep `estimate_(wide_corridor|confidence_floor_no_analogs|manual_review|radius_dedup|dedup_analogs)` в config.py/estimator.py — 0 совпадений (или явные module-level constants) **Files:** `tradein-mvp/backend/app/core/config.py`, `tradein-mvp/backend/app/services/estimator.py` (~2318-2323, 3504, 3699-3712, 4223, 4981) **Risk:** LOW — manual_review чисто метаданные; dedup/disclosure/confidence-floor трогают n_analogs/confidence в выдаче — сверить с backtest gate + qa-tester spot-check.
lekss361 added the
chore
scope/backend
tech-debt
tradein
labels 2026-07-04 10:23:48 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2378
No description provided.