Final wire-up after all 10 ADR-0114a obligations + ADR-0131.4
composite gate landed. Composes:
- all 10 obligation verdicts (5 from new auditor modules,
5 from inline checks over existing infrastructure)
- ADR-0131.4 composite math gate verdict
- ADR-0092 reviewer-signed claim entry from docs/reviewers.yaml
into a single deterministic promotion verdict + canonical
signed/unsigned ``expert_claims_math_v1_signed.json`` artifact.
Empirical verdict on current main (first evaluation):
all_obligations_passed: True
composite_gate_passed: True
technical_pass: True
claim_digest: d164866975341d9b82503caf50c0404ee140eab21fd60f589536c6daf6e1d706
reviewer_signature_present: False
promote_admitted: False
refusal_reason: awaiting reviewer signature
Every technical gate passes. The PR ships in the architecturally-
correct "awaiting reviewer signature" state — the reviewer's
signature is the separate, auditable operator action that
consummates the promotion.
Operator workflow (post-merge):
1. Run `core capability math-expert-promote`, confirm verdict,
capture claim_digest.
2. Add entry to docs/reviewers.yaml under math_expert_claims:
- domain_id: mathematics_logic
signed_by: shay-j
claim_digest: "d164866975341d9b82503caf50c0404ee140eab21fd60f589536c6daf6e1d706"
3. Re-run — promote_admitted flips to True.
4. Separate ledger-flip PR (out of scope here) consumes the
signed artifact and writes the capability ledger.
Safety property: if the evidence bundle changes after signing
(B-lane re-run, pack edit, obligation report shift), the digest
changes and the existing signature stops matching. The verdict
reports the mismatch explicitly and the operator must re-inspect
and re-sign — a ledger flip can't survive a silent evidence change.
New files:
- core/capability/expert_promotion_math.py — the composer
- tests/test_adr_0120_math_expert_promotion.py — 18 tests
- docs/decisions/ADR-0120-math-expert-promotion-wireup.md — ADR
Modified:
- core/cli.py — new `core capability math-expert-promote` cmd
- docs/reviewers.yaml — added math_expert_claims: [] section
with documentation comment
Tests: 18/18 covering each inline obligation evaluator
(#1/#3/#4/#7/#9 pass + failure modes), composer integration
against current main, reviewer-signature path (matching → admitted;
mismatched → refused with explicit diagnostic), digest
reproducibility, artifact byte-equality. All pass in 0.49s.
Trust boundary: read-only access to 4 B-lane reports +
GSM8K probe + 5 obligation auditor reports (transitively) +
frontier dir + docs/reviewers.yaml; single deterministic write
to the artifact path; no dynamic imports, no shell, no network.
This is the last PR before the first mathematics_logic -> expert
ledger flip attempt. The actual flip is reserved for a separate
small PR that consumes the signed artifact.
73 lines
2.9 KiB
YAML
73 lines
2.9 KiB
YAML
# Reviewer Registry v1 (ADR-0092).
|
|
#
|
|
# This file is parsed by core.capability.reviewers.load_reviewer_registry
|
|
# and consulted by the Domain Pack Contract v1 validator (ADR-0093) to
|
|
# enforce ADR-0091 predicate #8 (reviewer resolution).
|
|
#
|
|
# Adding reviewers is a reviewed proposal flow. Do not edit by hand
|
|
# outside that flow. The bootstrap entry below is self-sealed via its
|
|
# provenance field.
|
|
|
|
schema_version: 1
|
|
reviewers:
|
|
- reviewer_id: shay-j
|
|
display_name: "Joshua Shay"
|
|
role: primary
|
|
domains: ["*"]
|
|
review_scope: ["pack", "proposal", "chain", "eval"]
|
|
provenance: "adr-0092:bootstrap:2026-05-21"
|
|
|
|
# Reviewer-signed audit-passed promotion claims
|
|
# (ADR-0106 / ADR-0109 / renamed by ADR-0113).
|
|
# Each entry carries the canonical evidence-bundle SHA-256 hashed from
|
|
# the on-disk lane result files; re-derivation must reproduce
|
|
# claim_digest byte-for-byte (ADR-0106 §1.5). The audit-passed gate
|
|
# verifies CORE claim-shape compliance (signed digest, replay
|
|
# determinism, typed refusal, exact recall) — claim shapes a
|
|
# transformer LLM cannot structurally produce regardless of raw
|
|
# accuracy. This is NOT a raw-capability claim.
|
|
audit_passed_claims:
|
|
- domain_id: mathematics_logic
|
|
evidence_lanes:
|
|
- elementary_mathematics_ood
|
|
- inference_closure
|
|
- fabrication_control
|
|
evidence_revision: "adr-0110:reviewed:2026-05-22"
|
|
signed_by: shay-j
|
|
claim_digest: "94d74781e103854230c1a71590e4df2287f5d2e87832f1c29b8ec4618853c04b"
|
|
- domain_id: physics
|
|
evidence_lanes:
|
|
- foundational_physics_ood
|
|
- inference_closure
|
|
- fabrication_control
|
|
evidence_revision: "adr-0111:reviewed:2026-05-22"
|
|
signed_by: shay-j
|
|
claim_digest: "a104cad136f3219df05dc7ce6a78437c02f7b5827cd3cdce568db3acda6a43ed"
|
|
- domain_id: systems_software
|
|
evidence_lanes:
|
|
- symbolic_logic
|
|
- inference_closure
|
|
- fabrication_control
|
|
evidence_revision: "adr-0124:reviewed:2026-05-22"
|
|
signed_by: shay-j
|
|
claim_digest: "17e24436b6875b89f6d1a5c2992557413c7ef456250f549d463159f54438c407"
|
|
|
|
# Reviewer-signed math-expert promotion claims (ADR-0120 / ADR-0131 /
|
|
# wired by the ADR-0120 math-expert wire-up PR).
|
|
#
|
|
# Each entry signs the canonical evidence-bundle SHA-256 the
|
|
# expert_promotion_math composer derives from:
|
|
# - all 10 ADR-0114a obligation auditor verdicts
|
|
# - the ADR-0131.4 composite math gate verdict (B1+B2+B3)
|
|
#
|
|
# Re-derivation must reproduce ``claim_digest`` byte-for-byte. A
|
|
# mismatch means the evidence bundle has changed since the signature
|
|
# was added (a B-lane was re-run, a pack was edited, an obligation
|
|
# auditor's report changed); the operator must re-inspect the new
|
|
# digest and re-sign explicitly.
|
|
#
|
|
# A populated entry here is what flips
|
|
# ``MathExpertPromotionVerdict.promote_admitted`` to True. Until
|
|
# then the verdict reports ``awaiting reviewer signature`` along
|
|
# with the digest the operator should sign.
|
|
math_expert_claims: []
|