fix: align production defaults and close review parity gaps

Ship greenfield min_rr=2.0 and conf=0, read-only Structural S/R, indicator
cache invalidation, and UI/gate language that treats GTL as screening not exit.
Align strategy_rank missing-vol fallback live vs backtest, single-source
PRIMARY_TARGET_MIN_RR, expand prod parity tests, and drop dead FE clients.
This commit is contained in:
2026-07-18 13:03:22 +02:00
parent e07da0f8f0
commit b0e33e1606
25 changed files with 429 additions and 221 deletions
+6 -6
View File
@@ -76,13 +76,13 @@ async def get_trade_performance(
_user=Depends(require_access),
db: AsyncSession = Depends(get_db),
) -> APIEnvelope:
"""Aggregate outcome statistics over evaluated trade setups.
"""Aggregate setup-outcome statistics (gate barrier diagnostic).
Outcomes are written by the nightly outcome_evaluator job (win = target
hit first, loss = stop hit first, expired = neither within the window).
With qualified_only, the overall/direction/action breakdowns cover only
setups clearing the activation gate; the confidence breakdown always
covers all setups so the gate can be validated against it.
Outcomes come from the nightly outcome_evaluator: win = gate target first,
loss = stop first, expired = neither in the window. This is **not** the
production ATR-trail book; it checks setup grading plumbing only.
With qualified_only, overall/direction/action cover only gate-clearing
setups; the confidence breakdown always covers all setups.
"""
config = await admin_service.get_activation_config(db) if qualified_only else None
stats = await get_performance_stats(db, config=config)