core/workbench-ui/schema-snapshot.json
Shay 5061a0804b feat(workbench): Wave M D3 — shareable evidence bundles (reproducibility as a deliverable)
The "they'd want to use it" deliverable: a turn's evidence exported as ONE
deterministic, content-addressed, citable artifact — composing the Phase-C
evidence (pipeline + field) with the trace and the calibration leeway verdict.

Backend (read-only, no engine execution):
  - schemas.py: EvidenceBundle.
  - workbench/evidence_bundle.py: build_evidence_bundle(entry) assembles a turn
    journal entry into the bundle and computes bundle_digest. The digest
    content-addresses the DETERMINISTIC cognitive evidence only — journal
    position + wall-clock (turn_id, journal_digest, replay_reproducer,
    generated_from) are carried for provenance but EXCLUDED, so the same turn
    content reproduces the same digest regardless of journal position.
  - api.py: GET /trace/{turn_id}/bundle. schema-snapshot.json regenerated.

The bundle carries a replay *reproducer* command (how to verify) rather than a
live-run replay, so the artifact itself stays deterministic — verification is
the consumer's step: re-run the prompt sealed, confirm trace_hash, recompute the
bundle, check the digest.

Frontend:
  - types/api.ts EvidenceBundle; client/query hook; Trace route **Bundle** tab —
    citable digest, "what this proves / does not prove" honesty note, the
    reproducer, and a deterministic JSON download (Blob anchor, leak-safe).

Validation: 135 workbench Python tests incl. non-vacuous bundle guards (digest
reproducible, journal-position/wall-clock excluded, any evidence change flips
the digest, missing Phase-C evidence honest); 468/468 frontend incl. schemaDrift
+ the citable-download bundle test; pnpm build clean; git diff --check clean. No
serving-path imports.
2026-06-13 17:26:26 -07:00

418 lines
7.5 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",
"pipeline_record",
"field_evidence",
"turn_id"
],
"CognitivePipelineEdge": [
"from_stage",
"to_stage",
"label"
],
"CognitivePipelineRecord": [
"schema_version",
"status",
"missing_reason",
"trace_hash",
"versor_condition",
"field_digest",
"stages",
"edges"
],
"CognitivePipelineStage": [
"stage_id",
"label",
"status",
"summary",
"detail"
],
"ContemplationRunDetail": [
"before",
"after",
"engine_chain",
"scenes"
],
"ContemplationRunSummary": [
"run_id",
"source_path",
"source_digest",
"prompt",
"cold_subject",
"scene_count",
"learning_arc_closed",
"all_claims_supported",
"active_corpus_byte_identical"
],
"ContemplationScene": [
"scene_id",
"claim",
"detail",
"stage_role",
"proposal_id",
"candidate_id",
"proposal_state",
"grounding_source"
],
"DemoDagEdge": [
"from_node",
"to_node",
"label"
],
"DemoDagNode": [
"node_id",
"label",
"summary",
"detail"
],
"DemoEvidenceDag": [
"graph_id",
"graph_kind",
"title",
"source_digest",
"nodes",
"edges"
],
"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",
"evidence_dag"
],
"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"
],
"EvidenceBundle": [
"schema_version",
"turn_id",
"generated_from",
"trace_hash",
"trace_integrity",
"prompt",
"surface",
"grounding_source",
"epistemic_state",
"normative_clearance",
"refusal_emitted",
"journal_digest",
"pipeline_record",
"field_evidence",
"leeway_evidence",
"replay_reproducer",
"bundle_digest"
],
"FieldEvidence": [
"schema_version",
"status",
"missing_reason",
"trace_hash",
"versor_condition",
"versor_condition_ceiling",
"field_valid",
"field_digest",
"parent_field_digest",
"transition_inner_product"
],
"IdentityContinuity": [
"status",
"engine_identity",
"parent_engine_identity",
"current_engine_identity",
"written_at_revision",
"current_revision",
"lineage_relation",
"verification_summary",
"evidence_gap"
],
"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",
"identity_continuity"
],
"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",
"pipeline_record",
"field_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"
]
}