The L10 heartbeat (chat/always_on, #747) holds CORE alive over uptime but had no surface. This adds the read-only Lived Life route that renders the continuous-life evidence: the heartbeat over uptime + the resume-as-same-life verdict — both halves of "one continuous life" on one surface. Persist-first, never recompute engine-owned values: - chat/always_on: serialize_report + write_lived_life persist a run deterministically (sorted keys) to engine_state/lived_life.json; run_continuous gains an opt-in report_path so a real continuous-life run leaves its evidence where the workbench reads it. closure_ceiling is persisted so the artifact is self-describing. - workbench/lived_life.py: projection + a fail-closed validate() gate — the wrong=0 analogue for the continuity surface: closure_held/closure_observed/totals/converged are each re-checked against the per-beat measurements, and resume_status is re-checked against identity-vs-current-substrate, so a tampered artifact RAISES rather than rendering a false claim (a beat lying about a breached ceiling, an inflated closure, a miscounted total, a falsely-claimed resume). - workbench/readers.lived_life(): reads the artifact, computes the resume verdict from the persisted identity vs the canonical engine_identity_for_config (fail-soft -> "unknown", like IdentityContinuity). Honest absence when no run has been persisted. - GET /lived-life + LivedLife/LivedLifeHeartbeat schemas (snapshot regenerated; the schema-drift gate proves every field is mirrored in src/types/api.ts). The resume verdict made felt: would_resume / substrate_changed / unknown IS the L11 reboot guarantee (a reboot recomputes identity and refuses if it differs) — so the surface shows this life wakes up as ITSELF, not a copy. The per-reboot lineage chain stays owned by Runs > Identity (honest cross-link). Frontend: /lived-life route (Evidence section, route count 15 -> 16). Renders the headline (heartbeats, closure-held-by-construction, learned-while-idle, at-rest, resume pill), the summary, the heartbeat timeline (closure flat below the ceiling — read, never repaired), and the resume verdict. Honest absence + ADR-0162 route conformance (loading/error/empty), fail-closed like Vault/Calibration. Tests (non-vacuous): 12 backend (every tamper case raises; resume tracks identity vs substrate; run_continuous(report_path) round-trips a readable+valid artifact) + 4 frontend render tests (recorded life renders; a breached beat shows the warning, never a false "held"; a changed substrate shows would-refuse, never a false resume; absent shows honest absence). All workbench Python (167) + affected vitest (167) + tsc + vite build green; architectural invariants green. engine_state/lived_life.json is runtime state (gitignored, ADR-0146 pattern).
578 lines
10 KiB
JSON
578 lines
10 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"
|
|
],
|
|
"DeterminismTour": [
|
|
"schema_version",
|
|
"title",
|
|
"thesis",
|
|
"steps"
|
|
],
|
|
"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"
|
|
],
|
|
"LivedLife": [
|
|
"schema_version",
|
|
"status",
|
|
"missing_reason",
|
|
"identity",
|
|
"heartbeats",
|
|
"closure_observed",
|
|
"closure_held",
|
|
"closure_ceiling",
|
|
"final_checkpoint_ok",
|
|
"converged",
|
|
"total_facts_consolidated",
|
|
"total_proposals_created",
|
|
"current_identity",
|
|
"resume_status",
|
|
"resume_summary",
|
|
"records",
|
|
"artifact"
|
|
],
|
|
"LivedLifeHeartbeat": [
|
|
"tick",
|
|
"versor_condition",
|
|
"field_valid",
|
|
"facts_consolidated",
|
|
"proposals_created",
|
|
"pending_proposals",
|
|
"did_work"
|
|
],
|
|
"LogosAlignmentRow": [
|
|
"edge_id",
|
|
"source_id",
|
|
"target_id",
|
|
"relation",
|
|
"weight",
|
|
"evidence_ids",
|
|
"target_pack_id",
|
|
"target_resolved",
|
|
"invalid_target"
|
|
],
|
|
"LogosAlignmentTargetIssue": [
|
|
"edge_id",
|
|
"source_id",
|
|
"target_id",
|
|
"relation",
|
|
"target_pack_id"
|
|
],
|
|
"LogosGlossRow": [
|
|
"gloss_id",
|
|
"lemma",
|
|
"gloss",
|
|
"pos",
|
|
"entry_ids",
|
|
"provenance_ids",
|
|
"epistemic_status",
|
|
"raw"
|
|
],
|
|
"LogosLexiconRow": [
|
|
"entry_id",
|
|
"surface",
|
|
"lemma",
|
|
"language",
|
|
"part_of_speech",
|
|
"pos",
|
|
"morphology_id",
|
|
"morphology_tags",
|
|
"semantic_domains",
|
|
"provenance_ids",
|
|
"epistemic_status"
|
|
],
|
|
"LogosMorphologyLinkIssue": [
|
|
"entry_id",
|
|
"morphology_id"
|
|
],
|
|
"LogosMorphologyRow": [
|
|
"morphology_id",
|
|
"surface",
|
|
"lemma",
|
|
"language",
|
|
"root",
|
|
"prefix_chain",
|
|
"stem",
|
|
"inflection",
|
|
"suffix_chain"
|
|
],
|
|
"LogosPackContents": [
|
|
"schema_version",
|
|
"pack_id",
|
|
"manifest",
|
|
"lexicon",
|
|
"glosses",
|
|
"morphology",
|
|
"frames",
|
|
"compositions",
|
|
"alignment_edges",
|
|
"holonomy_cases"
|
|
],
|
|
"LogosPackOverview": [
|
|
"schema_version",
|
|
"normalization_policy",
|
|
"source_manifest",
|
|
"known_gaps"
|
|
],
|
|
"LogosPackSummary": [
|
|
"pack_id",
|
|
"language",
|
|
"role",
|
|
"script",
|
|
"version",
|
|
"determinism_class",
|
|
"gate_engaged",
|
|
"oov_policy",
|
|
"lexicon_count",
|
|
"gloss_count",
|
|
"morphology_count",
|
|
"frame_count",
|
|
"composition_count",
|
|
"alignment_edge_count",
|
|
"holonomy_case_count",
|
|
"safety_status",
|
|
"manifest_digest",
|
|
"manifest_path"
|
|
],
|
|
"LogosSafetyReport": [
|
|
"schema_version",
|
|
"pack_id",
|
|
"checksum_status",
|
|
"checksum_errors",
|
|
"domain_contract",
|
|
"domain_contract_status",
|
|
"oov_policy_ok",
|
|
"gate_policy_ok",
|
|
"path_safety_ok",
|
|
"dangling_morphology_links",
|
|
"invalid_alignment_targets",
|
|
"missing_holonomy_refs",
|
|
"epistemic_status_counts",
|
|
"speculative_entries",
|
|
"contested_entries",
|
|
"falsified_entries",
|
|
"known_gaps",
|
|
"verdict"
|
|
],
|
|
"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"
|
|
],
|
|
"TourStep": [
|
|
"step_id",
|
|
"order",
|
|
"kind",
|
|
"headline",
|
|
"narrative",
|
|
"demo_id",
|
|
"demo_title",
|
|
"what_this_proves",
|
|
"what_this_does_not_prove",
|
|
"route_hint"
|
|
],
|
|
"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"
|
|
]
|
|
}
|