* docs: consolidate governance anchors and clean up test registries * refactor(cli): decompose cli into dedicated modules * test: fix broken test baselines and formatting * docs: add domain boundary READMEs for governance anchors * test: update baseline for determination lane * test: fix capability_pass expectation * test: fix CORE_SHOWCASE_SKIP_BUDGET enforcement * chore: cleanup CLI extraction and unreachable code
5.3 KiB
ADR-0106 — Expert-Demo Promotion Contract
Status: Accepted Date: 2026-05-22 Author: CORE agents + reviewers Depends on: ADR-0091, ADR-0092, ADR-0093, ADR-0096, ADR-0097, ADR-0100, ADR-0101, ADR-0102
Context
Four domains now sit at reasoning-capable in the ledger (mathematics_logic,
physics, systems_software, hebrew_greek_textual_reasoning). The
expert_demo field on each ledger row is false and currently has no
domain-aware contract behind it.
core/capability/reporting.py:418 is the only site that can flip
expert_demo to true, and it does so by reading the cognition lane's
public/holdout metrics regardless of which domain is being scored. This is
incoherent: a math ratification cannot be promoted to expert_demo by
evidence from a cognition pack it never claimed against.
Without a domain-aware contract, reasoning-capable is the ceiling — and
that ceiling is "contract predicates satisfied, no fabrication, operator
coverage above floor," which is not the same claim as "the system can do
real expert work in this domain." External readers cannot distinguish the
two, so the ratification ledger overstates what the system has actually
demonstrated.
ADR-0106 closes that gap.
Decision
Introduce expert_demo as a domain-scoped, reviewer-signed capability
promotion, not a global threshold.
1. Promotion predicate (domain-aware)
expert_demo = true for a ratified domain D requires all of:
- D is already
reasoning-capable(ADR-0093 contract still holds). - Every lane attached to D's ratified packs reports
publicandholdoutsplits at:surface_groundedness >= 0.95term_capture_rate >= 0.85intent_accuracy >= 0.95versor_closure_rate == 1.0
- D's
fabrication_controllane ispassed=1.0on bothpublicandholdout. - A signed expert-demo claim exists in the reviewer registry under a
new
expert_demo_claimsblock, naming:domain_idevidence_lanes(list of lane ids consulted)evidence_revision(git sha at promotion time)signed_by(reviewer id from ADR-0092 registry)claim_digest(SHA-256 over the canonical evidence bundle)
- The promotion is replay-deterministic: re-running the consulted lanes
at
evidence_revisionreproducesclaim_digestbyte-for-byte.
If any condition fails the row stays at reasoning-capable. Promotion is
never silent — it requires both mechanical thresholds AND a reviewer
signature.
2. Reporting changes
core/capability/reporting.py stops consulting the cognition lane for
non-cognition domains. The expert-demo branch consults the domain's own
attached lanes. The cognition lane keeps its existing thresholds only when
the domain under evaluation is the cognition pack itself.
3. First worked promotion
This ADR does not promote any domain. It defines the contract.
A follow-up ADR (ADR-0107, expected to be mathematics_logic) will be
the first worked expert-demo promotion against the contract defined here,
including the reviewer-signed claim and the SHA-pinned evidence bundle.
Invariants
expert_demo_requires_signature
No domain row may carry expert_demo=true without a corresponding entry in
expert_demo_claims whose claim_digest matches the re-derived evidence.
expert_demo_domain_aware
The reporting layer must consult only lanes attached to the domain's
ratified packs when computing expert_demo. Cross-domain lane bleed
(e.g. cognition lane metrics deciding a math promotion) is rejected by a
test gate.
expert_demo_replay_byte_equality
Re-running every consulted lane at evidence_revision must reproduce the
exact JSON bytes hashed into claim_digest. A drift here demotes the row
to reasoning-capable until re-signed.
Acceptance evidence
Accepted when the following land together:
expert_demo_claimsblock added to the reviewer registry schema (ADR-0092 extension, additive only)- domain-aware
expert_demopredicate incore/capability/reporting.py - new test
tests/test_expert_demo_contract.pycovering the three invariants above - updated
docs/adr/README.mdindex and "Accepted reasoning-capable domains" table noting theexpert_democolumn is contract-gated (not thresholded only) - no domain row's
expert_demofield flips by this ADR — only the contract changes
Consequences
- "Reasoning-capable" becomes an honest ceiling: it means the contract predicates hold, not that the system has demonstrated expert work.
- Promoting a domain to
expert_demo=truenow requires deliberate reviewer action and replayable evidence — the same discipline that ADR-0092 imposed on reviewers themselves. - The ledger becomes externally legible: an outside reader can tell at a glance which domains are contract-passing versus demonstrated.
- Opens the door to ADR-0107+ as worked promotions, starting with
mathematics_logicas the smallest expert-demo proof surface.
Out of scope
- This ADR does not change Domain Pack Contract v1 (ADR-0091).
- This ADR does not introduce new eval lanes.
- This ADR does not promote any existing domain — promotions are separate ADRs that consume this contract.
- Multi-reviewer threshold signing (ADR-0105 candidate frontier) is orthogonal and remains future work.