core/docs/workbench/phase-a-residue-ledger.md
Shay bdb294eac3 feat(workbench): land B3.5-b/c/d/e — calibration evidence subject, B4a leeway gate, docs; runner-reproducible practice artifact
Completes the Wave M B3.5 consolidation slice (b–e), built on #728.

B3.5-b — calibration as a first-class evidence subject (`calibration_class`,
address `calibration:<class_name>`): RightInspector projection + Evidence
Chain Rail semantics (serving-discipline evidence, not runtime truth).

B3.5-c / B4a — nullable `LeewayEvidence` read model threaded through turn,
replay, cognition-proposal, and math-proposal surfaces, with a shared
absence-honest card. B4 is gated correctly: the tuple exists in typed data but
no producer populates it, so the card renders absence (verified: no non-null
producer in workbench/core/chat).

B3.5-d/e — UI-UX-GUIDE.md, b4-leeway-feasibility-gate.md, phase-a-residue-ledger.md.

Practice artifact — earn-it-for-real (runner-reproducible). The committed
`report.json` (additive earns PROPOSE @0.861, 95/5/50) is now emitted by a
deterministic runner rather than copied from the queue. `propose_runner`
gains `regenerate_practice_artifacts()`, which runs ONE sealed `resolve_pooled`
practice pass and writes BOTH report.json (the per-class ledger the calibration
reader consumes) and ratification_queue.json — two projections of one ledger,
coherent by construction and byte-reproducible. `runner.main()` delegates to
it (lazy import, no cycle), so both entry points produce the identical pair.
This closes the gap where a hand-copied report.json agreed with the queue but
no runner produced it. `resolve_pooled` is the aggressive sealed PROPOSE-regime
scorer (proposal-only/HITL, unsafe for serving, legitimate for
attempt-and-eliminate); wrong=5 is the sealed-practice learning signal, NOT the
serving wrong=0. No serving/derivation/reliability_gate source touched; the
practice lane is not in the serving-frozen SHA gate.

Validated:
- python -m pytest tests/test_workbench_{calibration,journal,replay,schemas}.py -> 31 passed
- python -m pytest tests/ -k "workbench or propose or learning_arena or practice"
  -> 190 passed (3 failing tests in test_adr_0175_phase2_practice_lane.py are
  PRE-EXISTING reds on clean origin/main: stale 4/0/46 assertions on build_report,
  which this change does not touch)
- report.json + ratification_queue.json: deterministic (run1==run2) and
  reproduced byte-identically by both `python -m ...runner` and `...propose_runner`
- pnpm build green; 144 UI tests across calibration/leeway/evidence/replay/
  doctrine-gates/routes-docs-drift all pass
2026-06-13 07:36:44 -07:00

1.6 KiB

Wave M B3.5-e — Phase A Residue Ledger

Date: 2026-06-13 Status: active consolidation ledger

Item Status Reason Next PR
Density preferences deferred Settings currently owns landing route and inspector-open preferences, but no density mode is wired through the shell/design tokens. Phase A polish follow-up.
Command palette route drift implemented Navigate commands derive from WORKBENCH_ROUTES; Demos and Calibration are palette-visible. None.
Landing route drift implemented Landing route ids derive from WORKBENCH_ROUTES; Replay and Calibration are eligible. None.
Deterministic DAG consumers beyond proposal chain deferred Proposal chain uses the primitive; PCCP proof-promotion and entailment traces still need real reader wiring. Phase A follow-up before Phase C visualizer expansion.
Calibration evidence subject implemented calibration_class is addressable via /calibration?inspect=calibration:<className> and renders in RightInspector/EvidenceChainRail. None.
UI/UX guide implemented docs/workbench/UI-UX-GUIDE.md now records the current 12-route map, evidence grammar, route proofs, and absences. Keep updated when route registry changes.
Route registry implemented workbench-ui/src/app/routes.ts is the route source for App, LeftNav, palette, shortcuts, landing prefs, and route tests. None.
B4 source tuple blocked Full B4 producer is absent. B4a nullable LeewayEvidence read model now exists, but no backend path populates it yet. B4 producer wiring from engine-owned approximation/calibration evidence.