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
302 lines
5.4 KiB
JSON
302 lines
5.4 KiB
JSON
{
|
|
"ArtifactDetail": [
|
|
"content_type",
|
|
"content"
|
|
],
|
|
"ArtifactRef": [
|
|
"artifact_id",
|
|
"kind",
|
|
"path",
|
|
"digest",
|
|
"created_at"
|
|
],
|
|
"AuditEvent": [
|
|
"event_id",
|
|
"source",
|
|
"source_path",
|
|
"timestamp",
|
|
"event_type",
|
|
"mutation_boundary",
|
|
"summary",
|
|
"ref_id",
|
|
"payload_digest",
|
|
"payload"
|
|
],
|
|
"CalibrationClass": [
|
|
"class_name",
|
|
"correct",
|
|
"wrong",
|
|
"refused",
|
|
"committed",
|
|
"reliability_floor",
|
|
"coverage",
|
|
"propose_required",
|
|
"propose_licensed",
|
|
"serve_required",
|
|
"serve_licensed",
|
|
"source_path",
|
|
"source_digest"
|
|
],
|
|
"ChatTurnResult": [
|
|
"prompt",
|
|
"surface",
|
|
"articulation_surface",
|
|
"walk_surface",
|
|
"grounding_source",
|
|
"epistemic_state",
|
|
"normative_clearance",
|
|
"normative_detail",
|
|
"trace_hash",
|
|
"refusal_emitted",
|
|
"hedge_injected",
|
|
"mutation_mode",
|
|
"identity_verdict",
|
|
"safety_verdict",
|
|
"ethics_verdict",
|
|
"proposal_candidates",
|
|
"turn_cost_ms",
|
|
"checkpoint_emitted",
|
|
"leeway_evidence",
|
|
"turn_id"
|
|
],
|
|
"DemoRunResult": [
|
|
"demo_id",
|
|
"all_passed",
|
|
"what_this_proves",
|
|
"what_this_does_not_prove",
|
|
"scenarios"
|
|
],
|
|
"DemoScenarioRunResult": [
|
|
"scenario_id",
|
|
"status",
|
|
"passed",
|
|
"proposer_wrong",
|
|
"evidence_class",
|
|
"decision_reason",
|
|
"trace_hash",
|
|
"problems",
|
|
"response"
|
|
],
|
|
"DemoScenarioSummary": [
|
|
"scenario_id",
|
|
"title",
|
|
"expected_status",
|
|
"evidence_class",
|
|
"proposer_wrong",
|
|
"what_this_proves",
|
|
"what_this_does_not_prove"
|
|
],
|
|
"DemoSummary": [
|
|
"demo_id",
|
|
"title",
|
|
"description",
|
|
"evidence_class",
|
|
"scenario_count",
|
|
"read_only",
|
|
"scenarios"
|
|
],
|
|
"EvalLaneSummary": [
|
|
"lane",
|
|
"versions",
|
|
"read_only",
|
|
"description"
|
|
],
|
|
"EvalRunResult": [
|
|
"lane",
|
|
"version",
|
|
"split",
|
|
"passed",
|
|
"metrics",
|
|
"cases",
|
|
"source_digest"
|
|
],
|
|
"LeewayEvidence": [
|
|
"class_name",
|
|
"license",
|
|
"theta",
|
|
"claim_disclosure",
|
|
"source_digest",
|
|
"calibration_evidence_ref"
|
|
],
|
|
"MathProposalDetail": [
|
|
"wrong_zero_assertion",
|
|
"proposed_change_payload",
|
|
"reasoning_trace_id",
|
|
"reasoning_trace_steps",
|
|
"evidence_hashes",
|
|
"handler_name",
|
|
"suggested_ratify_cli",
|
|
"leeway_evidence"
|
|
],
|
|
"MathProposalSummary": [
|
|
"proposal_id",
|
|
"domain",
|
|
"shape_category",
|
|
"proposed_change_kind",
|
|
"structural_commonality",
|
|
"evidence_count",
|
|
"replay_equivalence_hash"
|
|
],
|
|
"MathRatifyResult": [
|
|
"proposal_id",
|
|
"change_kind",
|
|
"handler_name",
|
|
"routing_status",
|
|
"message",
|
|
"suggested_cli",
|
|
"applied",
|
|
"target_path",
|
|
"evidence_hash"
|
|
],
|
|
"MathReasoningStep": [
|
|
"step_index",
|
|
"step_kind",
|
|
"claim",
|
|
"justification",
|
|
"input_pointers",
|
|
"output_payload"
|
|
],
|
|
"PackDetail": [
|
|
"manifest_digest",
|
|
"manifest"
|
|
],
|
|
"PackSummary": [
|
|
"pack_id",
|
|
"source",
|
|
"manifest_path",
|
|
"version",
|
|
"language",
|
|
"modality",
|
|
"determinism_class",
|
|
"checksum",
|
|
"checksums"
|
|
],
|
|
"ProposalDetail": [
|
|
"proposed_chain",
|
|
"replay_evidence",
|
|
"source",
|
|
"evidence",
|
|
"artifact_refs",
|
|
"suggested_cli",
|
|
"leeway_evidence"
|
|
],
|
|
"ProposalRef": [
|
|
"candidate_id",
|
|
"source_kind"
|
|
],
|
|
"ProposalSummary": [
|
|
"proposal_id",
|
|
"state",
|
|
"source_kind",
|
|
"replay_equivalent",
|
|
"created_at",
|
|
"downstream_effect"
|
|
],
|
|
"RunDetail": [
|
|
"turns",
|
|
"manifest"
|
|
],
|
|
"RunSummary": [
|
|
"session_id",
|
|
"source",
|
|
"turn_count",
|
|
"started_at",
|
|
"updated_at",
|
|
"checkpoint_present",
|
|
"checkpoint_revision",
|
|
"artifact_refs",
|
|
"evidence_gap"
|
|
],
|
|
"RunTurnRef": [
|
|
"turn_id",
|
|
"trace_hash",
|
|
"timestamp",
|
|
"trace_path",
|
|
"surface_excerpt",
|
|
"trace_integrity"
|
|
],
|
|
"RuntimeStatus": [
|
|
"backend",
|
|
"git_revision",
|
|
"engine_state_present",
|
|
"checkpoint_revision",
|
|
"revision_warning",
|
|
"active_session_id",
|
|
"mutation_mode"
|
|
],
|
|
"ServingMetrics": [
|
|
"lane",
|
|
"correct",
|
|
"refused",
|
|
"wrong",
|
|
"sample_count",
|
|
"source_path",
|
|
"source_digest"
|
|
],
|
|
"TurnJournalEntrySchema": [
|
|
"turn_id",
|
|
"timestamp",
|
|
"trace_hash",
|
|
"prompt",
|
|
"surface",
|
|
"articulation_surface",
|
|
"walk_surface",
|
|
"grounding_source",
|
|
"epistemic_state",
|
|
"normative_clearance",
|
|
"verdicts",
|
|
"refusal_emitted",
|
|
"hedge_injected",
|
|
"proposal_candidates",
|
|
"turn_cost_ms",
|
|
"checkpoint_emitted",
|
|
"trace_integrity",
|
|
"journal_digest",
|
|
"leeway_evidence"
|
|
],
|
|
"TurnJournalSummarySchema": [
|
|
"turn_id",
|
|
"timestamp",
|
|
"prompt_excerpt",
|
|
"surface_excerpt",
|
|
"trace_hash",
|
|
"grounding_source",
|
|
"trace_integrity"
|
|
],
|
|
"TurnReplayComparison": [
|
|
"turn_id",
|
|
"comparison_basis",
|
|
"origin_state",
|
|
"original_trace_hash",
|
|
"replay_trace_hash",
|
|
"equivalent",
|
|
"replay_turn_cost_ms",
|
|
"divergences",
|
|
"leeway_evidence"
|
|
],
|
|
"TurnReplayDivergence": [
|
|
"path",
|
|
"original",
|
|
"replay",
|
|
"severity"
|
|
],
|
|
"TurnVerdict": [
|
|
"outcome",
|
|
"runtime_detail"
|
|
],
|
|
"VaultEntry": [
|
|
"entry_index",
|
|
"epistemic_status",
|
|
"epistemic_state",
|
|
"metadata",
|
|
"versor_digest"
|
|
],
|
|
"VaultSummary": [
|
|
"source_path",
|
|
"entry_count",
|
|
"store_count",
|
|
"reproject_interval",
|
|
"max_entries",
|
|
"persisted"
|
|
]
|
|
}
|