v0.47.8
Hardening found by actually opening the rendered dashboard and reviewing it as a hostile quality/UX/robustness reviewer would — the data-layer tests were green but the UI surfaced real issues.
- Custom checks were silently empty in global multi-project mode. The daemon loaded
rules.jsonfrom the dominant cwd of the whole event window, so a run in project A got project B's rules — or none. Same "daemon's-latest ≠ the viewed run" mismatch already fixed for optimize and baselines. The daemon now ships a{project → RulePack}map and the dashboard evaluates the pack for the run it's showing. (Verified live: anode_modulesread and a test-less commit render for the right project.) - Accessibility: rule severity was border-colour only — added a text WARN/BAD/INFO tag (works in forced-colors / for colour-blind users) and
aria-labels on the rule rows and the archetype/outcome/baseline chips (were title-only). - Two-score clarity: the effectiveness chip is captioned OUTCOME (e.g. "OUTCOME · likely ok · 80") so it isn't read as a second efficiency number.
In-browser audit: all 11 metrics + the new chips render, low-signal runs hide tentative chips, the optimize modal targets the viewed run's project, 0 console errors on a clean load. 239 tests pass.
`npx -y @taewooopark/agent-blackbox@0.47.8 up --host claude-code`