WS3: surface evaluation internals (gap/rvol/per-criterion reasons)
- SetupEvaluationResult.criteria_detail: per-criterion {name,passed,reason}.
- watcher CriteriaEvaluatedEvent now carries gap_pct, relative_volume, status,
reason, and the per-criterion detail (was only passed/failed names).
- CLI: 'inspect criteria SYMBOL' shows status + gap/rvol + each criterion reason;
new 'inspect signals' = ready board + per-symbol gap/rvol/status.
Verified on real 2026-06-15 bars: RGNT shows 9/9 with reasons (rvol 26.2x),
'late' explained by the 10:30 ET cutoff. 67/67 tests green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
9e79c50751
commit
a16a8cd29d
4 files changed
+84
-6
No files matched your search
@@ -204,6 +204,11 @@ class Watcher:
|
||||
criteria_results={
|
||||
"passed": evaluation.criteria_names_passed,
|
||||
"failed": evaluation.criteria_names_failed,
|
||||
"detail": evaluation.criteria_detail,
|
||||
"gap_pct": evaluation.gap_pct,
|
||||
"relative_volume": evaluation.relative_volume,
|
||||
"status": evaluation.status,
|
||||
"reason": evaluation.reason,
|
||||
},
|
||||
total_criteria=evaluation.criteria_total,
|
||||
passed_criteria=evaluation.criteria_passed,
|
||||
@@ -212,6 +217,9 @@ class Watcher:
|
||||
"symbol": symbol,
|
||||
"success_score_pct": evaluation.success_score_pct,
|
||||
"status": evaluation.status,
|
||||
"reason": evaluation.reason,
|
||||
"gap_pct": evaluation.gap_pct,
|
||||
"relative_volume": evaluation.relative_volume,
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user