core/docs
Shay 512453b6fc
feat(identity): split engine identity from build provenance (ADR-0220 PR C) (#774)
Removes code_revision from the engine-identity hash: engine_identity is now the
sha256 of the 5 ratified packs ONLY. The build revision is provenance (the
manifest's written_at_revision), not identity — so a behavior-neutral rebuild is
the SAME identity and the always-on daemon no longer flag-day strict-breaks on
every commit (the ADR-0220 defect).

Core:
- core/engine_identity.py: ratified_substrate/compute_engine_identity drop the
  git_revision arg (packs-only); add compute_legacy_engine_identity (reproduces
  the pre-split packs+rev hash, for migration verification), ENGINE_IDENTITY_SCHEME=2,
  IdentityReconciliation enum, and reconcile_loaded_identity — the single source of
  truth for the runtime guard AND the workbench reader.
- chat/runtime.py: the load guard reconciles via scheme. Current scheme -> direct
  packs-only compare. Legacy (code_revision-folded) stamp -> a VERIFYING migration:
  reconstruct the legacy hash from the persisted written_at_revision; a match proves
  packs unchanged (warn + re-stamp, resume, no break) — a mismatch means the packs
  genuinely changed (DIVERGED -> strict-refuse). Preserves 'distinct packs => refuse'.
- engine_state/save_manifest: stamp identity_scheme alongside engine_identity
  (additive-optional; no schema_version bump).
- workbench/readers.py: continuity reader uses the same reconcile (no phantom break
  on legacy checkpoints). cli.py break message reworded (packs, not 'build revision').

Callsite cleanup: drop the now-unused git_revision arg + imports across
always_on.py, evals/l10_always_on/runner.py, workbench/readers.py.

Tests:
- test_identity_provenance_split.py (new): 5 reconcile unit proofs + 3 runtime
  integration proofs incl. the wrong=identity defense (legacy stamp of DIFFERENT
  packs still strict-refuses) and the re-stamp migration.
- test_engine_identity.py: invert the code-revision test (rev no longer changes
  identity); assert the substrate is packs-only.
- Restore 3 lineage tests silently red since ADR-0219 (flat-path _manifest helper
  now resolves the gen-dir).
- Update remaining callsites/monkeypatches for the new signature.

Hygiene: .gitignore now covers the ADR-0219 gen-dir runtime files
(current, gen-*/, session_state.json, proposals.jsonl).

Verified: 59 identity/migration/lineage/workbench + 32 L10 + 76 invariants/cli +
34 smoke pass; serving lane SHAs unchanged (no derivation/reliability_gate touch).
2026-06-15 11:38:04 -07:00
..
adr
analysis feat(l10): autonomous idle frontier-contemplation — the always-on life learns on its own (#758) 2026-06-14 23:59:49 -07:00
architecture
audit audit(l10-l11): lookback review lived spine 2026-06-05 15:52:40 -07:00
brief
briefs
curriculum
decisions feat(identity): split engine identity from build provenance (ADR-0220 PR C) (#774) 2026-06-15 11:38:04 -07:00
evals
handoff docs(handoff): add L10 continuity hardening brief pack (#759) 2026-06-15 00:41:06 -07:00
handoffs
implementation
issues feat(teaching): ADR-0218 P3 — proof-carrying coherence promotion 2026-06-11 17:02:45 -07:00
lab Add passive tabletop lab protocol 2026-06-06 12:37:57 -07:00
planning docs(planning): record #700 deductive entailment demo as merged 2026-06-12 16:34:53 -07:00
plans Add sensorium compiler law and tile vision 2026-06-03 19:58:36 -07:00
research docs(research): select quantitative field reasoner wedge 2026-06-04 17:23:57 -07:00
sessions docs(scoping): epistemic disclosure bus (Stage 2 / VERIFIED v1) + Q1 question-articulation briefs 2026-06-08 14:53:47 -07:00
workbench docs(workbench): mark Vault P0/P1/P2 complete; document recall endpoint (#768) 2026-06-15 02:44:45 -07:00
zig
admissibility-exemplars.md
audio_pipeline_overview.md
capability_roadmap.md
claims_ledger.md Merge pull request #546 from AssetOverflow/docs/reconcile-current-state-2026-06-03 2026-06-04 07:14:39 -07:00
ethics_packs.md
EVAL_AUDIT_2026-05-20.md
eval_methodology.md
formation_pipeline_plan.md
frontier_baselines.md
gaps.md
hitl-backpressure.md
holdout_recipients.txt
identity_packs.md
master-plan-post-substrate-audit.md
memo.html memo: tighten for Karpathy + Anthropic exec audience 2026-06-10 16:10:47 -07:00
model_dependency_size_tally.md
pack_inventory_2026-05-21.md
position_paper.md fix(demo): harden epistemic truth-state authority — sealed corpus + entailment-decided inference 2026-06-11 23:38:03 -07:00
PROGRESS.md
recognizer-registry.md
refusal-taxonomy.md
reviewers.yaml
runtime_contracts.md test(invariants): INV-30 open-world DETERMINE never asserts False; document typed learning boundary (#770) 2026-06-15 10:22:47 -07:00
RUST.md
safety_packs.md
teaching_order.md
test-debt-quarantine.md
truth_seeking_schema.md
Whitepaper.md
Yellowpaper.md