From cffcc11bc31eeedafa64d4164f5c3689104b2474 Mon Sep 17 00:00:00 2001 From: Shay Date: Tue, 30 Jun 2026 12:42:09 -0700 Subject: [PATCH] Add ADR corpus hygiene governance --- ...rpus-cohesion-dependency-map-2026-06-30.md | 283 ++++++++++++++++++ .../ADR-0200-expert-claim-reconciliation.md | 10 + .../ADR-0201-proposition-canonicalizer.md | 10 + .../ADR-0201.1-out-of-regime-detector.md | 10 + ...202-proposition-representation-contract.md | 10 + ...0203-binding-graph-acyclicity-invariant.md | 10 + .../decisions/ADR-0204-proof-graph-builder.md | 10 + ...ADR-0205-modus-ponens-disagreement-rule.md | 10 + .../ADR-0206-response-governance-bridge.md | 10 + .../ADR-0207-gsm8k-substrate-ratification.md | 10 + .../ADR-0208-environmental-sensorium-loop.md | 10 + ...ADR-0209-sensorimotor-feedback-contract.md | 10 + docs/decisions/ADR-0210-l10-grounding-pack.md | 10 + .../ADR-0211-conformal-falsification-bench.md | 10 + .../ADR-0216-motor-verdict-lowering.md | 10 + ...7-r2-finite-integer-constraint-compiler.md | 10 + ...0218-proof-carrying-coherence-promotion.md | 10 + ...DR-0219-generation-checkpoint-atomicity.md | 10 + ...220-engine-identity-vs-build-provenance.md | 10 + .../ADR-0221-codeowners-review-topology.md | 10 + .../ADR-0222-frame-verdict-closed-world.md | 10 + ...223-semantic-substrate-affordance-audit.md | 10 + ...24-foundational-substrate-readiness-map.md | 10 + docs/decisions/ADR-0225-adr-corpus-hygiene.md | 73 +++++ docs/decisions/README.md | 27 ++ scripts/gsm8k_substrate_morphology.py | 2 +- 26 files changed, 604 insertions(+), 1 deletion(-) create mode 100644 docs/analysis/adr-corpus-cohesion-dependency-map-2026-06-30.md create mode 100644 docs/decisions/ADR-0225-adr-corpus-hygiene.md diff --git a/docs/analysis/adr-corpus-cohesion-dependency-map-2026-06-30.md b/docs/analysis/adr-corpus-cohesion-dependency-map-2026-06-30.md new file mode 100644 index 00000000..e1623048 --- /dev/null +++ b/docs/analysis/adr-corpus-cohesion-dependency-map-2026-06-30.md @@ -0,0 +1,283 @@ +# ADR Corpus Cohesion Dependency Map — 2026-06-30 + +Status: Phase 1 dependency map for ADR cohesion remediation. + +Ground truth: + +- Local repository root: `/Users/kaizenpro/Projects/core` +- Local branch / GitHub `main` SHA: `63464144c53f2499b1ea9e5bf3799e80c57a0b53` +- GitHub tree verification used `gh api repos/AssetOverflow/core/contents...` for `/`, `/core`, `/core_ingest`, `/core-rs`, and `/docs/decisions`. +- ADR-0200 exists as `docs/decisions/ADR-0200-expert-claim-reconciliation.md`. +- Baseline lane `make test-fast` is red on current `main`: `54 failed, 10884 passed, 23 skipped, 912 deselected`. + +## Map + +| ADR Cluster | Primary Surfaces | Additional Surfaces | Tests / Evidence Surfaces | Influence | +|---|---|---|---|---| +| ADR-0027–0029 Safety / Identity | `packs/safety/loader.py`, `packs/safety/check.py` | `core/proposal_review/safety.py`, `chat/pack_resolver.py` | `tests/test_safety_pack.py`, `tests/test_ethics_refusal_opt_in.py`, `tests/test_epistemic_phase3_state_tagging.py`, `tests/test_identity_continuity_proof.py` | Loads immutable safety boundaries, observes runtime safety verdicts, prevents proposal sink serving consumption, keeps pack surface resolution deterministic and non-mutating. | +| ADR-0001 Foundational / Versor | `vocab/manifold.py` | `core_ingest/manifold.py`, `core_ingest/pipeline.py`, `language_packs/en_seeder.py` | `tests/test_vocab_manifold_invariants.py`, `tests/test_engine_loop_proof.py`, `tests/test_determinism_proofs.py`, `core-rs/tests/test_versor.rs` | Enforces unit-versor insertion/update, exact `cga_inner` nearest lookup, and reconstruction-over-storage provenance indexing. | +| ADR-0055–0057 Teaching / Memory / Epistemic | `teaching/review.py`, `teaching/replay.py`, `teaching/proposals.py`, `teaching/promotion.py`, `teaching/supersede.py`, `teaching/contemplation.py`, `teaching/epistemic.py`, `teaching/discovery.py` | `core/proposal_review/*`, `core/learning_arena/*`, `vault/store.py`, `chat/teaching_grounding.py` | `tests/test_learning_loop_demo.py`, `tests/test_teaching_loop_bench.py`, `tests/test_phase_d_replay_evidence.py`, `tests/test_discovery_candidates.py`, `tests/test_mutation_proposal_type.py`, `tests/test_proof_carrying_promotion_demo.py` | Keeps learning proposal-only until review, gates corpus append through replay-equivalence, defaults epistemic state to SPECULATIVE, and keeps practice/reporting separated from serving mutation. | + +## Caller / Callee Relationships + +```mermaid +flowchart TD + A27[ADR-0027 Identity packs] --> RT[chat/runtime.py] + A29[ADR-0029 Safety packs] --> SL[packs/safety/loader.py] + SL --> SP[SafetyPack] + SP --> SC[packs/safety/check.py SafetyCheck] + SC --> TV[Turn verdict telemetry] + PRS[core/proposal_review/safety.py dry_check] --> PSS[teaching/proposals/comprehension_failures] + PRS --> NoServe[serving path sink non-consumption check] + + A1[ADR-0001 VocabManifold] --> VM[vocab/manifold.py] + VM --> Add[add/update assert unit versor] + VM --> Near[nearest via exact cga_inner] + CI[core_ingest/manifold.py SegmentManifold] --> Recon[semantic_key -> SourceSpan reconstruction] + + A55[ADR-0055 discovery promotion] --> Disc[teaching/discovery.py] + Disc --> Cont[teaching/contemplation.py] + Cont --> Prop[teaching/proposals.py] + Prop --> Replay[teaching/replay.py] + Replay --> Accept[accept_proposal] + Accept --> Append[append_chain_to_corpus] + Sup[teaching/supersede.py] --> Append + Arena[core/learning_arena/engine.py] --> Ledger[core/reliability_gate ClassTally] +``` + +## Paste-First Excerpts + +### Safety pack loader + +`packs/safety/loader.py` defines the fail-closed loader and immutable boundary payload: + +```python +class SafetyPackError(RuntimeError): + """Raised when the safety pack is missing, malformed, or unverified. + + Inherits from ``RuntimeError`` (not ``ValueError`` like + ``IdentityPackError``) because a missing safety pack is a fail-closed + runtime condition, not a recoverable input-validation error. + """ +``` + +```python +def load_safety_pack( + pack_id: str = DEFAULT_SAFETY_PACK, + *, + search_paths: Iterable[Path | str] | None = None, + require_ratified: bool | None = None, +) -> SafetyPack: + """Load the safety pack. Fails closed on any error. +``` + +### Safety check predicates + +`packs/safety/check.py` wires `preserve_versor_closure`, no fabricated sources, no silent correction, no identity override, and no hot-path repair: + +```python +_DEFAULT_PREDICATES: dict[str, SafetyPredicate] = { + "no_fabricated_source": _predicate_no_fabricated_source, + "no_hot_path_repair": _predicate_no_hot_path_repair, + "no_identity_override": _predicate_no_identity_override, + "no_silent_correction": _predicate_no_silent_correction, + "preserve_versor_closure": _predicate_versor_closure, +} +``` + +### Proposal sink dry-check + +`core/proposal_review/safety.py` verifies that proposal artifacts are inert and unconsumed by serving paths: + +```python +def dry_check( + proposals: list[PendingProposal], + malformed: list[MalformedArtifact], + *, + root: Path | None = None, + repo_root: Path | None = None, +) -> SafetyVerdict: + """Verify every artifact is inert and the sink is serving-unconsumed. Returns a SafetyVerdict.""" +``` + +### Pack resolver + +`chat/pack_resolver.py` is deterministic, immutable, and reconstruction-over-storage aligned: + +```python +def resolve_lemma( + lemma: str, + pack_ids: tuple[str, ...] = DEFAULT_RESOLVABLE_PACK_IDS, +) -> tuple[str, tuple[str, ...]] | None: + """Return ``(pack_id, semantic_domains)`` for the first pack in + *pack_ids* whose lexicon contains *lemma*, else ``None``. +``` + +### Vocab manifold + +`vocab/manifold.py` enforces the full unit-versor residual on insertion and replacement: + +```python +def _assert_manifold_versor(word: str, versor: np.ndarray, *, replacement: bool = False) -> None: + residual, scalar, residue_norm = _versor_diagnostics(versor) + if residual > _MANIFOLD_RESIDUAL_TOLERANCE: + noun = "replacement versor" if replacement else "versor" +``` + +`nearest()` stays exact: + +```python +def nearest( + self, + F: np.ndarray, + exclude_idx: int = -1, + exclude_indices: set[int] | frozenset[int] | None = None, + candidate_indices: np.ndarray | list[int] | tuple[int, ...] | None = None, +) -> tuple[str, int]: + """ + Find the word whose versor is closest to F by CGA inner product. +``` + +### Ingest reconstruction manifold + +`core_ingest/manifold.py` stores provenance spans, not whole documents: + +```python +class SegmentManifold: + """ + Append-only index: semantic_key -> list[ManifoldEntry]. +``` + +```python +def spans_for(self, semantic_key: str) -> list[SourceSpan]: + """ + Return all SourceSpan records for a given semantic_key, + flattened across all ManifoldEntry records. +``` + +### Epistemic status + +`teaching/epistemic.py` defaults unknown status to SPECULATIVE: + +```python +def parse_status(value: str | None) -> EpistemicStatus: + """Parse a serialised status string, defaulting to SPECULATIVE. +``` + +### Teaching review + +`teaching/review.py` rejects identity override and keeps accepted examples SPECULATIVE by default: + +```python +def review_correction( + candidate: CorrectionCandidate, + *, + identity_score: IdentityScore | None = None, + identity_manifold: IdentityManifold | None = None, + epistemic_status: EpistemicStatus = EpistemicStatus.SPECULATIVE, +) -> ReviewedTeachingExample: +``` + +### Proposal / replay / append path + +`teaching/proposals.py` identifies `TeachingChainProposal` as the corpus extension path: + +```python +"""ADR-0057 Phase C2 — TeachingChainProposal + append-only proposal log. + +A ``TeachingChainProposal`` is the **only** path by which the +system extends its active teaching corpus. +``` + +The only write primitive is explicit and append-only: + +```python +def append_chain_to_corpus( + chain: dict[str, Any], + *, + corpus_path: Path, + provenance: Provenance, + chain_id: str | None = None, + superseded_by: str | None = None, +) -> str: +``` + +`teaching/replay.py` verifies replay-equivalence without mutating the active corpus: + +```python +def run_replay_equivalence(chain: dict[str, Any]) -> ReplayEvidence: + """Run the gate. Active corpus bytes byte-identical pre/post. +``` + +### Discovery and contemplation + +`teaching/discovery.py` emits proposal candidates only when the turn is boundary-clean and ungrounded: + +```python +def extract_discovery_candidates( + turn_event: Any, + intent_tag: IntentTag | None, + intent_subject_lemma: str | None, + *, + grounding_source: str | None = None, +) -> tuple[DiscoveryCandidate, ...]: +``` + +`teaching/contemplation.py` enriches without mutation: + +```python +def contemplate( + candidate: DiscoveryCandidate, + *, + max_depth: int = _DEFAULT_MAX_DEPTH, + vault_probe: _VaultProbe | None = None, +) -> DiscoveryCandidate: + """Run the contemplation loop on a single candidate. + + Returns an *enriched* candidate (same id, populated C1 fields). + Never mutates the corpus, the pack, or the input candidate +``` + +### Supersession and promotion + +`teaching/supersede.py` composes around `append_chain_to_corpus`: + +```python +"""ADR-0057 follow-up — operator-driven supersession of an active corpus chain. + +Supersession is the **second** mutation surface on the reviewed +teaching corpus (alongside ``teaching.proposals.accept_proposal``). +``` + +`teaching/promotion.py` creates operator-visible review queues without synthesis: + +```python +def promote_gaps( + gaps: Iterable[Gap], + *, + threshold: int = 3, + include_tainted: bool = False, +) -> tuple[GapPromotion, ...]: +``` + +### Learning arena + +`core/learning_arena/engine.py` runs sealed practice and mutates nothing: + +```python +def run_practice( + problems: Sequence[DomainProblem], + solver: DomainSolver, + tether: GoldTether, + *, + diagnose: Callable[[str], str] = _default_diagnose, + tier2_verifier: Tier2Verifier | None = None, +) -> PracticeReport: +``` + +## Primary vs. Additional Surfaces + +- Primary surfaces own enforcement or construction boundaries: `packs/safety/loader.py`, `packs/safety/check.py`, `vocab/manifold.py`, and `teaching/*`. +- Additional surfaces observe, route, or report without becoming alternate authority: `core/proposal_review/*`, `chat/pack_resolver.py`, `core_ingest/manifold.py`, and `core/learning_arena/*`. +- No mapped surface authorizes approximate recall, stochastic fallback, hidden normalization, or unreviewed durable mutation. + diff --git a/docs/decisions/ADR-0200-expert-claim-reconciliation.md b/docs/decisions/ADR-0200-expert-claim-reconciliation.md index 10d77d87..ad015dad 100644 --- a/docs/decisions/ADR-0200-expert-claim-reconciliation.md +++ b/docs/decisions/ADR-0200-expert-claim-reconciliation.md @@ -130,3 +130,13 @@ STATE reconcile to the truth.** - **Avoided hidden normalization / stochastic / approximate / unreviewed mutation:** Yes — documentation + one deterministic regeneration; no engine change. - **Trust boundary:** read-only inputs; writes are review-gated on a branch. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0201-proposition-canonicalizer.md b/docs/decisions/ADR-0201-proposition-canonicalizer.md index b9b1cc3e..32c0033e 100644 --- a/docs/decisions/ADR-0201-proposition-canonicalizer.md +++ b/docs/decisions/ADR-0201-proposition-canonicalizer.md @@ -124,3 +124,13 @@ canonicalizer fails equivalence. The suite is non-vacuous by construction. hash-based node ids and reordering heuristics; CUDD is a C build/footprint cost; and the canonical-string serialization would still need to be hand-controlled for determinism, so the library does not save the load-bearing work. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0201.1-out-of-regime-detector.md b/docs/decisions/ADR-0201.1-out-of-regime-detector.md index 25c2a9ca..11daf489 100644 --- a/docs/decisions/ADR-0201.1-out-of-regime-detector.md +++ b/docs/decisions/ADR-0201.1-out-of-regime-detector.md @@ -110,3 +110,13 @@ assumed validated. Phase-1 canonicalizer hardening only. Does **not** build `modus_ponens`, binding-graph wiring, or any predicate/FOL support. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0202-proposition-representation-contract.md b/docs/decisions/ADR-0202-proposition-representation-contract.md index 06a606d9..b5c0e392 100644 --- a/docs/decisions/ADR-0202-proposition-representation-contract.md +++ b/docs/decisions/ADR-0202-proposition-representation-contract.md @@ -211,3 +211,13 @@ canonical form. This document is authoritative for the atom layer and the honest boundary. Any change to the formula grammar updates §1 of this doc in the **same PR** as the code change. The proof corpus conforms to this doc; it does not extend the grammar or the atom convention on its own. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0203-binding-graph-acyclicity-invariant.md b/docs/decisions/ADR-0203-binding-graph-acyclicity-invariant.md index daa1c867..09e85904 100644 --- a/docs/decisions/ADR-0203-binding-graph-acyclicity-invariant.md +++ b/docs/decisions/ADR-0203-binding-graph-acyclicity-invariant.md @@ -105,3 +105,13 @@ named here so the boundary travels with the work, not just with the rule ADRs. real proof path (ADR-0204). - **2.3** — `modus_ponens` + the disagreement rule (ADR-0205). - **2.4** — atom→`EpistemicNode` carrier grounding (ADR-0206). + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0204-proof-graph-builder.md b/docs/decisions/ADR-0204-proof-graph-builder.md index 4fb78b4e..ed7cf902 100644 --- a/docs/decisions/ADR-0204-proof-graph-builder.md +++ b/docs/decisions/ADR-0204-proof-graph-builder.md @@ -115,3 +115,13 @@ admission). bypass unit-resolution per §named constraint) + the disagreement/uniqueness rule (the wrong=0 mechanism) — ADR-0205. - **2.4** — atom→ADR-0144 `EpistemicNode` grounding — ADR-0206. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0205-modus-ponens-disagreement-rule.md b/docs/decisions/ADR-0205-modus-ponens-disagreement-rule.md index 03621d9b..a7a8d061 100644 --- a/docs/decisions/ADR-0205-modus-ponens-disagreement-rule.md +++ b/docs/decisions/ADR-0205-modus-ponens-disagreement-rule.md @@ -114,3 +114,13 @@ strategies (a stronger, currently-false claim). This must never be read as over declared atoms," never "reasons over input." - Multi-step proof composition and a proof *search* (the disagreement rule here is over a given premise set, single-step) — later, separately scoped. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0206-response-governance-bridge.md b/docs/decisions/ADR-0206-response-governance-bridge.md index 37562c98..4edf9b0a 100644 --- a/docs/decisions/ADR-0206-response-governance-bridge.md +++ b/docs/decisions/ADR-0206-response-governance-bridge.md @@ -190,3 +190,13 @@ without scoping it fails the build. identity, **live-wiring proof (cognition path)**, taxonomy partition. - Full-surface suite green (doctrine: not smoke). - `scripts/verify_lane_shas.py` green; `3/47/0` preserved. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0207-gsm8k-substrate-ratification.md b/docs/decisions/ADR-0207-gsm8k-substrate-ratification.md index 54a08844..c345fa8d 100644 --- a/docs/decisions/ADR-0207-gsm8k-substrate-ratification.md +++ b/docs/decisions/ADR-0207-gsm8k-substrate-ratification.md @@ -219,3 +219,13 @@ finish-to-instrument). This ADR removes all three at once — **ratify** (§3), - **Evidence:** [composition-capability-scope](../analysis/composition-capability-scope.md), [extraction-richness-audit-2026-06-03](../analysis/extraction-richness-audit-2026-06-03.md). - **Thesis:** [[thesis-decoding-not-generating]]. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0208-environmental-sensorium-loop.md b/docs/decisions/ADR-0208-environmental-sensorium-loop.md index 1951dbf0..37af3f37 100644 --- a/docs/decisions/ADR-0208-environmental-sensorium-loop.md +++ b/docs/decisions/ADR-0208-environmental-sensorium-loop.md @@ -64,3 +64,13 @@ proposal/review path, not runtime truth. - Efferent action records fail if passed as observation units. - Sensorimotor feedback can enter as afferent evidence without enabling motor emission. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0209-sensorimotor-feedback-contract.md b/docs/decisions/ADR-0209-sensorimotor-feedback-contract.md index 292f41e1..3dcfe3d8 100644 --- a/docs/decisions/ADR-0209-sensorimotor-feedback-contract.md +++ b/docs/decisions/ADR-0209-sensorimotor-feedback-contract.md @@ -69,3 +69,13 @@ environment orchestration, but the two halves remain type-separated: - Sensorimotor deltas merge idempotently. - Sensorimotor compiler exposes no decode path. - Trace records contain no command or trajectory payload. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0210-l10-grounding-pack.md b/docs/decisions/ADR-0210-l10-grounding-pack.md index 0d44d477..e29f45cf 100644 --- a/docs/decisions/ADR-0210-l10-grounding-pack.md +++ b/docs/decisions/ADR-0210-l10-grounding-pack.md @@ -123,3 +123,13 @@ To be completed in the Claude lane or local CI after review: - No loader mutation. - No new dependency. - No empirical claim that the fixtures pass before they are run. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0211-conformal-falsification-bench.md b/docs/decisions/ADR-0211-conformal-falsification-bench.md index 9189c040..882fb29e 100644 --- a/docs/decisions/ADR-0211-conformal-falsification-bench.md +++ b/docs/decisions/ADR-0211-conformal-falsification-bench.md @@ -69,3 +69,13 @@ consume this contract rather than bypass it. - The bench does not import `generate`, mutate Vault, or call `ModalityRegistry.decode`. - `core eval environment-falsification --json` is hash-pinned. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0216-motor-verdict-lowering.md b/docs/decisions/ADR-0216-motor-verdict-lowering.md index a5fefd04..a974835a 100644 --- a/docs/decisions/ADR-0216-motor-verdict-lowering.md +++ b/docs/decisions/ADR-0216-motor-verdict-lowering.md @@ -45,3 +45,13 @@ verdict coverage, or any refusal. - No decoded command payload, trajectory, ndarray, or bytes object enters traces. - Physical action remains disabled until a later motor decoder ADR and lab safety contract. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0217-r2-finite-integer-constraint-compiler.md b/docs/decisions/ADR-0217-r2-finite-integer-constraint-compiler.md index 47c27a9b..2ffee85f 100644 --- a/docs/decisions/ADR-0217-r2-finite-integer-constraint-compiler.md +++ b/docs/decisions/ADR-0217-r2-finite-integer-constraint-compiler.md @@ -173,3 +173,13 @@ Build R2 v1 as the off-serving finite-integer constraint setup compiler on the C The contract is pinned by the gold and this ADR; capability grows only where the gold + oracle + refusal tests already license it. No guessed math, no silent correction, no answer without a proven setup. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0218-proof-carrying-coherence-promotion.md b/docs/decisions/ADR-0218-proof-carrying-coherence-promotion.md index a8f7254d..03485506 100644 --- a/docs/decisions/ADR-0218-proof-carrying-coherence-promotion.md +++ b/docs/decisions/ADR-0218-proof-carrying-coherence-promotion.md @@ -248,3 +248,13 @@ explicit hazard surface and refuses on any gap. - [x] INV-29 ACCEPTED as the permanent transition-site boundary; allowlist stays `{vault/store.py}` (shipped passing in the proposing PR; ratification confirms it). + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0219-generation-checkpoint-atomicity.md b/docs/decisions/ADR-0219-generation-checkpoint-atomicity.md index 1b82eaa1..2742af8d 100644 --- a/docs/decisions/ADR-0219-generation-checkpoint-atomicity.md +++ b/docs/decisions/ADR-0219-generation-checkpoint-atomicity.md @@ -138,3 +138,13 @@ All of the following must hold (proven by `tests/test_adr_0219_generation_checkp - ADR-0157 — revision-mismatch warning on load (unaffected) - ADR-0158 — reboot event audit (unaffected) - L10 continuity hardening brief pack: `docs/handoff/l10-continuity-hardening-briefs-2026-06-15.md` + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0220-engine-identity-vs-build-provenance.md b/docs/decisions/ADR-0220-engine-identity-vs-build-provenance.md index 3859fe52..1885cb7c 100644 --- a/docs/decisions/ADR-0220-engine-identity-vs-build-provenance.md +++ b/docs/decisions/ADR-0220-engine-identity-vs-build-provenance.md @@ -291,3 +291,13 @@ git diff --stat c6d0e2a92004 f5c6914d0083 -- packs/{identity,safety,ethics,regis get_git_revision() ──▶ code_revision (hashed into engine_identity) engine_identity.py:99 → strict raise └─▶ written_at_revision (provenance, unhashed) __init__.py:350 → ADR-0157 warn ``` + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0221-codeowners-review-topology.md b/docs/decisions/ADR-0221-codeowners-review-topology.md index 0d34d495..44216f59 100644 --- a/docs/decisions/ADR-0221-codeowners-review-topology.md +++ b/docs/decisions/ADR-0221-codeowners-review-topology.md @@ -111,3 +111,13 @@ through the now-working normal path — its own clean merge is the proof. - If collaborators are added later and merges should be restricted to specific accounts, enable **"Restrict who can push"** (the `restrictions` list) — that is the correct lever, **not** required reviews. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0222-frame-verdict-closed-world.md b/docs/decisions/ADR-0222-frame-verdict-closed-world.md index 4513621f..2dd38c9a 100644 --- a/docs/decisions/ADR-0222-frame-verdict-closed-world.md +++ b/docs/decisions/ADR-0222-frame-verdict-closed-world.md @@ -688,3 +688,13 @@ regression. - [ ] The PR sequence (§10) and the "INV-31 ships with the type" rule are authorized. - [ ] The new invariant number **INV-31** is free / correctly assigned (review confirmed no existing `INV-31` reference). + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0223-semantic-substrate-affordance-audit.md b/docs/decisions/ADR-0223-semantic-substrate-affordance-audit.md index 388af76e..ad4bd14c 100644 --- a/docs/decisions/ADR-0223-semantic-substrate-affordance-audit.md +++ b/docs/decisions/ADR-0223-semantic-substrate-affordance-audit.md @@ -351,3 +351,13 @@ Exact span bindings ground. Organ-specific contracts determine. Unsupported or ambiguous cases refuse. ``` + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0224-foundational-substrate-readiness-map.md b/docs/decisions/ADR-0224-foundational-substrate-readiness-map.md index 03cfea14..04cfb52b 100644 --- a/docs/decisions/ADR-0224-foundational-substrate-readiness-map.md +++ b/docs/decisions/ADR-0224-foundational-substrate-readiness-map.md @@ -165,3 +165,13 @@ ADR-0224 is ratified when the following are accepted: 4. Ensure every family spec produced after ratification includes the required template fields and at least two non-math domain examples with cross-domain evidence. This ADR provides the constitutional map layer that was missing. It keeps the architecture bounded, executable, and aligned with the doctrine already established in ADR-0223 while preventing the next treadmill of unbounded family addition. Ratification of the structure and gate first allows controlled, evidenced expansion. + +## Governance Cross-Reference (ADR-0225) + +This late-corpus ADR is governed by [ADR-0225](./ADR-0225-adr-corpus-hygiene.md): + +- Safety boundaries: changes must preserve ADR-0027/0028/0029 identity and safety-pack boundaries; no identity, safety, or policy mutation is implied unless explicitly reviewed. +- Versor closure: runtime field paths must preserve `versor_condition(F) < 1e-6`; this ADR does not authorize hidden normalization or hot-path drift repair. +- Reconstruction-over-storage: evidence must remain reconstructive and content-addressed rather than duplicating opaque state. +- Replay-equivalence: serving, teaching, promotion, or checkpoint changes require a named deterministic replay / byte-equivalence gate. +- Mutation standing: any durable corpus, pack, policy, or epistemic-status mutation remains reviewed, proposal-only until accepted, or proof-carrying as applicable. diff --git a/docs/decisions/ADR-0225-adr-corpus-hygiene.md b/docs/decisions/ADR-0225-adr-corpus-hygiene.md new file mode 100644 index 00000000..20db6a9f --- /dev/null +++ b/docs/decisions/ADR-0225-adr-corpus-hygiene.md @@ -0,0 +1,73 @@ +# ADR-0225 — ADR Corpus Hygiene, Numbering Policy, and Cross-Reference Governance + +**Status:** Accepted (2026-06-30) + +**Context:** ADR-0201 is already occupied by `ADR-0201-proposition-canonicalizer.md`; therefore this governance decision uses the next available top-level ADR number after ADR-0224. + +## Decision + +CORE will treat the ADR corpus as a governed graph, not a loose directory of historical notes. + +Every future ADR that touches runtime state, packs, teaching, memory, replay, or invariants must explicitly cite these standing anchors: + +1. **Safety boundaries:** ADR-0027, ADR-0028, ADR-0029, and the safety-pack / identity-pack trust boundary. +2. **Versor closure:** `versor_condition(F) < 1e-6`, equivalently `||F * reverse(F) - 1||_F < 1e-6` for runtime field states. +3. **Reconstruction-over-storage:** store enough structured state to reconstruct the needed evidence; do not duplicate opaque state as a substitute for provenance. +4. **Replay-equivalence gates:** reviewed mutation and serving changes must name the deterministic replay or byte-equivalence gate that proves no hidden drift. + +## Numbering Discipline + +- Prefer sequential top-level numbering. +- Use sub-numbering only for clearly phased work inside one decision family, for example `ADR-0073a`–`ADR-0073d` or `ADR-0119.1`–`ADR-0119.8`. +- Gaps are permitted only when accompanied by explicit superseding, reservation, or reconciliation notes. +- Duplicate top-level numbers are forbidden except where already historical; future remediation must add reconciliation notes rather than silently renaming historical files. +- Governance ADRs must not occupy an already-used number. This ADR uses `ADR-0225` because `ADR-0201` is already live. + +## Mandatory Cross-Reference Rule + +Every new or amended ADR in the scoped areas must include a short `Governance citations` or equivalent section naming: + +- safety / identity boundary impact; +- versor closure impact; +- reconstruction-over-storage impact; +- replay-equivalence / deterministic validation impact; +- mutation standing: no mutation, SPECULATIVE/proposal-only, reviewed durable mutation, or proof-carrying promotion. + +If an item is not applicable, the ADR must say why. Absence is not acceptable. + +## Index Maintenance + +`docs/decisions/README.md` is the living reference matrix for ADR navigation. Every new ADR must update it in the same change set with: + +- ADR number, title, and status; +- cluster / chain membership when applicable; +- supersedes / superseded-by note when applicable; +- governance anchors when the ADR falls under this policy. + +## Consequences and Affected Corpus + +This policy affects all future ADRs and all amendments to existing ADRs. + +This remediation batch specifically updates or audits: + +- ADRs: `ADR-0001`, `ADR-0027`, `ADR-0028`, `ADR-0029`, `ADR-0055`, `ADR-0056`, `ADR-0057`, `ADR-0200` through `ADR-0224`, and this `ADR-0225`. +- Index / map artifacts: `docs/decisions/README.md`, `docs/analysis/adr-corpus-cohesion-dependency-map-2026-06-30.md`. +- Safety / identity code surfaces: `packs/safety/loader.py`, `packs/safety/check.py`, `core/proposal_review/safety.py`, `chat/pack_resolver.py`. +- Foundational / versor code surfaces: `vocab/manifold.py`, `core_ingest/manifold.py`. +- Teaching / memory / epistemic code surfaces: `teaching/review.py`, `teaching/replay.py`, `teaching/proposals.py`, `teaching/promotion.py`, `teaching/supersede.py`, `teaching/contemplation.py`, `teaching/epistemic.py`, `teaching/discovery.py`. +- Additional learning / review surfaces: `core/proposal_review/`, `core/learning_arena/`. +- Test surfaces identified during mapping: `tests/test_safety_pack.py`, `tests/test_ethics_refusal_opt_in.py`, `tests/test_epistemic_phase3_state_tagging.py`, `tests/test_identity_continuity_proof.py`, `tests/test_vocab_manifold_invariants.py`, `tests/test_engine_loop_proof.py`, `tests/test_determinism_proofs.py`, `tests/test_learning_loop_demo.py`, `tests/test_teaching_loop_bench.py`, `tests/test_phase_d_replay_evidence.py`, `tests/test_discovery_candidates.py`, `tests/test_mutation_proposal_type.py`, `tests/test_proof_carrying_promotion_demo.py`, and `core-rs/tests/test_versor.rs`. + +## Validation + +- The Phase 1 dependency map is `docs/analysis/adr-corpus-cohesion-dependency-map-2026-06-30.md`. +- Baseline on current `main` is not green: `make test-fast` reports `54 failed, 10884 passed, 23 skipped, 912 deselected`. +- This ADR is documentation-governance only. It adds no field operator, no recall path, no pack mutation, and no runtime serving path. + +## Governance Citations + +- Safety boundaries: ADR-0027, ADR-0028, ADR-0029; no safety behavior is changed here. +- Versor closure: `versor_condition(F) < 1e-6`; no field state construction or propagation is changed here. +- Reconstruction-over-storage: this ADR requires index maintenance and traceable map artifacts instead of inferred claims. +- Replay-equivalence: future scoped ADRs must name their deterministic validation gate; this ADR records the current red baseline rather than claiming green. +- Mutation standing: documentation-only; no pack, teaching corpus, vault, or runtime mutation path is added. diff --git a/docs/decisions/README.md b/docs/decisions/README.md index ec01ceb8..98419e75 100644 --- a/docs/decisions/README.md +++ b/docs/decisions/README.md @@ -252,6 +252,29 @@ ADRs record significant architectural decisions: what was decided, why, what alt | [ADR-0197](ADR-0197-vision-compiler-delta-crdt.md) | CORE-native Vision Compiler over the Delta-CRDT Substrate | Proposed | | [ADR-0198](ADR-0198-motor-efferent-decoder-spike.md) | Motor as Efferent Modality — Protocol Gap & Governance (Design Spike) | Proposed (design spike — no implementation) | | [ADR-0199](ADR-0199-cross-domain-learning-arena-contract.md) | Cross-Domain Learning Arena Contract | Proposed | +| [ADR-0200](ADR-0200-expert-claim-reconciliation.md) | Expert-Claim Reconciliation: Record the Fail-Closed Revert as Designed Behavior | Accepted | +| [ADR-0201](ADR-0201-proposition-canonicalizer.md) | Propositional Canonicalizer (`proof_chain`) | Accepted | +| [ADR-0201.1](ADR-0201.1-out-of-regime-detector.md) | Principled Out-of-Regime Detector | Accepted | +| [ADR-0202](ADR-0202-proposition-representation-contract.md) | Proposition Representation Contract (`proof_chain`) | Accepted | +| [ADR-0203](ADR-0203-binding-graph-acyclicity-invariant.md) | Binding-Graph Acyclicity Invariant | Accepted | +| [ADR-0204](ADR-0204-proof-graph-builder.md) | Proof-Graph Builder | Accepted | +| [ADR-0205](ADR-0205-modus-ponens-disagreement-rule.md) | Modus Ponens + Disagreement Rule | Accepted | +| [ADR-0206](ADR-0206-response-governance-bridge.md) | Response Governance Bridge | Accepted | +| [ADR-0207](ADR-0207-gsm8k-substrate-ratification.md) | GSM8K Comprehension/Composition Substrate Ratification | Accepted | +| [ADR-0208](ADR-0208-environmental-sensorium-loop.md) | Environmental Sensorium Loop | Accepted | +| [ADR-0209](ADR-0209-sensorimotor-feedback-contract.md) | Sensorimotor Feedback Is Afferent | Accepted | +| [ADR-0210](ADR-0210-l10-grounding-pack.md) | L10 Finite Grounding Pack and Adversarial Wrong=0 Fixtures | Accepted | +| [ADR-0211](ADR-0211-conformal-falsification-bench.md) | Conformal Falsification Bench | Accepted | +| [ADR-0216](ADR-0216-motor-verdict-lowering.md) | Motor Verdict Lowering Prerequisite | Accepted | +| [ADR-0217](ADR-0217-r2-finite-integer-constraint-compiler.md) | R2 Finite-Integer Constraint Compiler | Accepted | +| [ADR-0218](ADR-0218-proof-carrying-coherence-promotion.md) | Proof-Carrying Coherence Promotion | Accepted | +| [ADR-0219](ADR-0219-generation-checkpoint-atomicity.md) | Generation-dir Atomic Checkpoint | Accepted | +| [ADR-0220](ADR-0220-engine-identity-vs-build-provenance.md) | Engine Identity vs. Build Provenance | Accepted | +| [ADR-0221](ADR-0221-codeowners-review-topology.md) | Codeowners Review Topology | Accepted | +| [ADR-0222](ADR-0222-frame-verdict-closed-world.md) | FrameVerdict — Frame-General Closed-World Verdict | Accepted | +| [ADR-0223](ADR-0223-semantic-substrate-affordance-audit.md) | Semantic Substrate Affordance Audit and Foundation Alignment | Accepted | +| [ADR-0224](ADR-0224-foundational-substrate-readiness-map.md) | Foundational Subject Substrate Readiness and Cross-Domain Affordance Map | Accepted | +| [ADR-0225](ADR-0225-adr-corpus-hygiene.md) | ADR Corpus Hygiene, Numbering Policy, and Cross-Reference Governance | Accepted (2026-06-30) | | [ADR-0200](ADR-0200-expert-claim-reconciliation.md) | Expert-Claim Reconciliation: record the math fail-closed revert as designed behavior | Proposed | --- @@ -457,6 +480,10 @@ Establishes calibrated attempt-and-eliminate learning under a strict two-regime Shifts the engine toward concurrent multi-modal pipelines. Decouples physical lock contention on vision/audio from the logical manifold using Delta-CRDT sharding in Rust (ADR-0180), implements `audio_core_v1` as a deterministic acoustic compiler (ADR-0181), and stubs ASR serving boundaries to prevent learned Whisper models from contaminating production serving paths (ADR-0183). +### ADR Corpus Governance — ADR-0225 (2026-06-30) + +ADR-0225 makes this README the living ADR reference matrix and requires future ADRs touching runtime state, packs, teaching, memory, replay, or invariants to cite safety boundaries, versor closure (`versor_condition(F) < 1e-6`), reconstruction-over-storage, replay-equivalence gates, and mutation standing. The verified Phase 1 dependency map is `docs/analysis/adr-corpus-cohesion-dependency-map-2026-06-30.md`. + --- ## Session Logs diff --git a/scripts/gsm8k_substrate_morphology.py b/scripts/gsm8k_substrate_morphology.py index bd9e12f8..4bc079a8 100644 --- a/scripts/gsm8k_substrate_morphology.py +++ b/scripts/gsm8k_substrate_morphology.py @@ -14,9 +14,9 @@ from generate.problem_frame_builder import ( recognized_process_frame_names, recognized_scalar_surfaces, recognized_unit_surfaces, - surface_in_text, ) from generate.problem_frame_contracts import assess_contracts, recommended_migration_target as contract_target +from generate.problem_frame_extractors import surface_in_text from generate.process_frames import frame_by_name, lookup_frame from language_packs.loader import lookup_container from language_packs.scalar_equivalence import list_unsupported_surfaces