diff --git a/docs/decisions/ADR-0094-proposal-source-provenance.md b/docs/decisions/ADR-0094-proposal-source-provenance.md index 0de55f65..bd8136f6 100644 --- a/docs/decisions/ADR-0094-proposal-source-provenance.md +++ b/docs/decisions/ADR-0094-proposal-source-provenance.md @@ -1,11 +1,25 @@ # ADR-0094 — Proposal Source Provenance -**Status:** Proposed +**Status:** Accepted **Date:** 2026-05-21 +**Accepted:** 2026-05-22 **Author:** CORE agents + reviewers --- +## Acceptance evidence + +Accepted after the sealed `ProposalSource` schema, exhaustive-match consumers, and deterministic migration landed: + +- `teaching/source.py` defines the sealed `ProposalSource` type with `kind` ∈ {operator, miner, curriculum}, serialization, and parse-time rejection of unknown kinds. +- `teaching/proposals.py` widens `PackMutationProposal` / `TeachingProposal` to carry a required `source: ProposalSource` field; parsing fails without it. +- `teaching/store.py` consumers branch on `source.kind` via exhaustive `match`. +- `teaching/migrate_proposals_source_field.py` provides the one-shot deterministic rewriter; two runs produce byte-identical output. +- `tests/test_proposal_source.py` exercises round-trip serialization, parse-time rejection, exhaustive-match enforcement, and migration determinism. +- `tests/test_epistemic_invariants.py` pins `proposal_source_exhaustive_match`. + +--- + ## Context `teaching/proposals/proposals.jsonl` and the surrounding review flow diff --git a/docs/decisions/ADR-0095-miner-sourced-teaching-proposals.md b/docs/decisions/ADR-0095-miner-sourced-teaching-proposals.md index d4fa0745..6c85922e 100644 --- a/docs/decisions/ADR-0095-miner-sourced-teaching-proposals.md +++ b/docs/decisions/ADR-0095-miner-sourced-teaching-proposals.md @@ -1,12 +1,24 @@ # ADR-0095 — Miner-Sourced Teaching Proposals -**Status:** Proposed +**Status:** Accepted **Date:** 2026-05-21 +**Accepted:** 2026-05-22 **Author:** CORE agents + reviewers **Depends on:** ADR-0094 --- +## Acceptance evidence + +Accepted after miner-sourced proposals were wired through the reviewed teaching pipeline with a deterministic, SHA-pinned closure lane: + +- `teaching/from_miner.py` converts contemplation miner outputs into `PackMutationProposal` / `TeachingProposal` records carrying `ProposalSource(kind="miner", source_id=, ...)`. +- `evals/miner_loop_closure/runner.py` and `evals/miner_loop_closure/contract.md` define the closure lane; `evals/miner_loop_closure/results/v1_dev.json` is the canonical report. +- `tests/test_miner_proposals.py` exercises miner-to-proposal conversion, source-tagging, replay determinism, and review-gate parity with operator-sourced proposals. +- `scripts/verify_lane_shas.py` pins `miner_loop_closure` at SHA `9f071733abe7dcacf759f928548ce738fb639af3fd6e4c621a651b306d7e77ce`; verified locally and by the `lane-shas` workflow on `main`. + +--- + ## Context Phase 5 of the contemplation arc landed three miners under diff --git a/docs/decisions/ADR-0098-demo-composition-contract.md b/docs/decisions/ADR-0098-demo-composition-contract.md index c3cae950..dda31b2c 100644 --- a/docs/decisions/ADR-0098-demo-composition-contract.md +++ b/docs/decisions/ADR-0098-demo-composition-contract.md @@ -1,11 +1,24 @@ # ADR-0098 — Demo Composition Contract -**Status:** Proposed +**Status:** Accepted **Date:** 2026-05-21 +**Accepted:** 2026-05-22 **Author:** CORE agents + reviewers --- +## Acceptance evidence + +Accepted after the demo composition contract was implemented as a typed, deterministic adapter layer with a SHA-pinned lane: + +- `core/demos/contract.py` defines the typed `DemoScene` / `DemoArtifact` / `CompositionResult` schema and the contract surface that adapters must satisfy. +- `core/demos/audit_tour_adapter.py` and `core/demos/tour_adapters.py` wrap existing demos (audit-tour, register-tour, anchor-lens-tour) without reimplementation or subprocess stdout parsing. +- `evals/demo_composition/runner.py` and `evals/demo_composition/contract.md` define the composition lane; `evals/demo_composition/results/v1_dev.json` is the canonical report. +- `tests/test_demo_composition.py` exercises contract enforcement, adapter determinism, and rejection of non-deterministic / mutating adapters. +- `scripts/verify_lane_shas.py` pins `demo_composition` at SHA `27d838241bf3ed9e15d0e918ec6d89a823494d7e17c2dab9777825af7188f20f`; verified locally and by the `lane-shas` workflow on `main`. + +--- + ## Context CORE has shipped a growing set of operator-facing demos: diff --git a/docs/decisions/ADR-0099-public-showcase-demo.md b/docs/decisions/ADR-0099-public-showcase-demo.md index 5e388152..beab7562 100644 --- a/docs/decisions/ADR-0099-public-showcase-demo.md +++ b/docs/decisions/ADR-0099-public-showcase-demo.md @@ -1,12 +1,26 @@ # ADR-0099 — Public Showcase Demo -**Status:** Proposed +**Status:** Accepted **Date:** 2026-05-21 +**Accepted:** 2026-05-22 **Author:** CORE agents + reviewers **Depends on:** ADR-0096, ADR-0097, ADR-0098 --- +## Acceptance evidence + +Accepted after the public showcase was implemented over the ADR-0098 composition contract with a SHA-pinned, deterministic lane: + +- `core/demos/showcase.py` composes already-proven scenes (audit-tour, register-tour, multi-hop-trace, learning-loop, fabrication-control-public) through ADR-0098 adapters; no scene is reimplemented inside the showcase. +- `core/demos/showcase_adapters.py` and `core/demos/learning_loop_adapter.py` wrap the constituent demos. +- `core/cli.py` wires `core demo public-showcase` with deterministic JSON output. +- `evals/public_demo/runner.py` and `evals/public_demo/contract.md` define the showcase lane; canonical artifacts live under `evals/public_demo/results/latest/scenes/` plus the rendered `showcase.json` / `showcase.html`. +- `tests/test_public_showcase.py` exercises scene composition, determinism, and the "no marketing rewrite of proof substrate" invariant (scenes can only be composed, not re-authored). +- `scripts/verify_lane_shas.py` pins `public_demo` at SHA `4be6f47509435a24984713acfcebd88e61f4e1278096fa5dc88a09e8af2f87ba`; verified locally and by the `lane-shas` workflow on `main`. + +--- + ## Context CORE's distinctive properties (deterministic cognition, honest diff --git a/docs/decisions/README.md b/docs/decisions/README.md index f873057a..404ef585 100644 --- a/docs/decisions/README.md +++ b/docs/decisions/README.md @@ -90,12 +90,12 @@ ADRs record significant architectural decisions: what was decided, why, what alt | [ADR-0091](ADR-0091-domain-pack-contract-v1.md) | Domain Pack Contract v1 | Accepted (2026-05-22) | | [ADR-0092](ADR-0092-reviewer-registry-v1.md) | Reviewer Registry v1 | Accepted (2026-05-22) | | [ADR-0093](ADR-0093-domain-pack-contract-v1-implementation.md) | Domain Pack Contract v1 implementation | Accepted (2026-05-22) | -| [ADR-0094](ADR-0094-proposal-source-provenance.md) | Proposal Source Provenance | Proposed | -| [ADR-0095](ADR-0095-miner-sourced-teaching-proposals.md) | Miner-Sourced Teaching Proposals | Proposed | +| [ADR-0094](ADR-0094-proposal-source-provenance.md) | Proposal Source Provenance | Accepted (2026-05-22) | +| [ADR-0095](ADR-0095-miner-sourced-teaching-proposals.md) | Miner-Sourced Teaching Proposals | Accepted (2026-05-22) | | [ADR-0096](ADR-0096-fabrication-control-eval-lane.md) | Fabrication-Control Eval Lane | Accepted (2026-05-22) | | [ADR-0097](ADR-0097-mathematics-logic-reasoning-capable-ratification.md) | Mathematics-Logic Reasoning-Capable Ratification | Accepted (2026-05-22) | -| [ADR-0098](ADR-0098-demo-composition-contract.md) | Demo Composition Contract | Proposed — current implementation frontier | -| [ADR-0099](ADR-0099-public-showcase-demo.md) | Public Showcase Demo | Proposed — depends on ADR-0098 | +| [ADR-0098](ADR-0098-demo-composition-contract.md) | Demo Composition Contract | Accepted (2026-05-22) | +| [ADR-0099](ADR-0099-public-showcase-demo.md) | Public Showcase Demo | Accepted (2026-05-22) | | [ADR-0100](ADR-0100-physics-reasoning-capable-ratification.md) | Physics Reasoning-Capable Ratification | Accepted (2026-05-22) | | [ADR-0101](ADR-0101-systems-software-reasoning-capable-ratification.md) | Systems-Software Reasoning-Capable Ratification | Accepted (2026-05-22) | | [ADR-0102](ADR-0102-hebrew-greek-reasoning-capable-ratification.md) | Hebrew-Greek Textual-Reasoning Reasoning-Capable Ratification | Accepted (2026-05-22) | @@ -104,38 +104,30 @@ ADRs record significant architectural decisions: what was decided, why, what alt ## Current frontier -The active frontier is no longer domain-ratification substrate. The following are already accepted and mechanically evidenced: +The ADR-0091..0102 slate is fully accepted and mechanically evidenced: - Domain Pack Contract v1 — ADR-0091 - Reviewer Registry v1 — ADR-0092 - Domain Contract v1 enforcement — ADR-0093 +- Proposal Source Provenance — ADR-0094 +- Miner-Sourced Teaching Proposals — ADR-0095 - Fabrication-control negative eval lane — ADR-0096 - `mathematics_logic` reasoning-capable ratification — ADR-0097 +- Demo Composition Contract — ADR-0098 +- Public Showcase Demo — ADR-0099 - `physics` reasoning-capable ratification — ADR-0100 - `systems_software` reasoning-capable ratification — ADR-0101 - `hebrew_greek_textual_reasoning` multi-pack reasoning-capable ratification — ADR-0102 -The current implementation frontier is therefore: +Six lanes are SHA-pinned in `scripts/verify_lane_shas.py` and gated by the `lane-shas` GitHub Actions workflow: `reviewer_registry`, `domain_contract_validation`, `miner_loop_closure`, `fabrication_control_summary`, `demo_composition`, `public_demo`. -```text -ADR-0098 — Demo Composition Contract - ↓ -ADR-0099 — Public Showcase Demo -``` +The next implementation frontier is open. Candidate directions include: -ADR-0098 is the evidence-orchestration layer. It must let existing proof artifacts compose without reimplementation, subprocess stdout parsing, hidden state mutation, or non-deterministic JSON. +- **Curriculum-sourced proposals.** ADR-0094 reserved `ProposalSource(kind="curriculum")`; a curriculum ADR can introduce it without secondary schema churn. +- **Holdout splits for language-specific lanes.** ADR-0102 currently relies on universal lanes (`inference_closure`, `fabrication_control`); language-specific fluency lanes (`evals/hebrew_fluency/`, `evals/koine_greek_fluency/`) need sealed holdout splits before they can attach to `reasoning-capable` claims. +- **Expert-demo ratification.** All ADR-0097/0100/0101/0102 ledger rows currently sit at `reasoning-capable` with `expert_demo=false`. The next status tier requires evidence beyond the universal lanes. -ADR-0099 should not begin until ADR-0098 is accepted. The showcase must compose already-proven scenes; it must not become a marketing rewrite of the proof substrate. - -Learning-loop expansion remains deliberately later: - -```text -ADR-0094 — Proposal Source Provenance - ↓ -ADR-0095 — Miner-Sourced Teaching Proposals -``` - -Do not begin ADR-0095 until ADR-0094 is accepted. +No ADR currently sits in a "Proposed but unimplemented" state. ---