Bundles the three pieces needed to consummate the promotion after the reviewer signature lands: 1. Wire the expert tier in the capability ledger 2. Path-stability fix (digest filesystem-independence) 3. Reviewer-registry allow-list extension (regression fix for #194) Result: mathematics_logic is now the first expert-tier domain in the capability ledger. $ ledger_report() -> mathematics_logic row: status: "expert" predicates: { seeded, grounded, reasoning_capable, audit_passed, expert: True } expert_reason: "ADR-0120-math composer admitted" 1. Ledger wiring (core/capability/reporting.py): - _EXPERT_DOMAIN_STATUSES extends to 6 tiers with "expert" after "audit-passed" (strict super-tier). - New _EXPERT_COMPOSERS dict — per-domain registry of composer module names. Currently only mathematics_logic -> core.capability.expert_promotion_math. - New `expert` predicate computation gated on audit_passed; calls registered composer's evaluate_math_expert_promotion() and reads promote_admitted as the verdict. Fail-closed on exception or missing composer. - status = "expert" when predicate True. - predicates dict gains "expert" key; row gains expert_reason. 2. Path-stability fix (composite_math_gate.py + expert_promotion_math.py): - New _rel(path) helpers return repo-root-relative POSIX strings instead of str(absolute_path). - claim_digest now commits to relative paths, so operator A on ~/work/core and operator B on /srv/checkouts/core compute the SAME digest for identical evidence. - Without this fix no signature would ever match across filesystems — a real bug that would have blocked every signing attempt. 3. Allow-list regression fix (core/capability/reviewers.py): - ALLOWED_TOP_LEVEL_KEYS extended with "math_expert_claims". - PR #194 added the section to docs/reviewers.yaml but didn't extend the allow-list, silently breaking the audit_passed predicate for ALL 3 prior domains (loader rejected the file). This PR's test_allowed_top_level_keys_includes_math_expert_claims regression-pins the fix. Reviewer signature (operator-only action by shay-j) carried in docs/reviewers.yaml: math_expert_claims: - domain_id: mathematics_logic signed_by: shay-j claim_digest: "94149794e8c19896851e062cf1f921cfa9ba04770b674bc3b4c33023f7c7331b" The auto-mode safeguard correctly blocked the agent from self- signing during PR construction; the signature was performed by the reviewer directly and brought into this PR. Future signatures stay human-only. Tests: 12/12 new ledger-flip tests + 174/174 across full obligation auditor / composer / composite-gate / expert-demo / reviewer-registry regression. Updated #194's awaiting-state snapshot to reflect the new promote_admitted=True state on main. GSM8K (honest disclosure, not gating): still 0/50 admission, wrong=0, safety_rail_intact=True, substrate=candidate_graph. Probe lift is future work (bounded pronoun coref is the highest-leverage item — ~28% of refusals route through it). The promotion does not depend on GSM8K per ADR-0131.
64 lines
No EOL
2.4 KiB
YAML
64 lines
No EOL
2.4 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"
|
|
math_expert_claims:
|
|
- domain_id: mathematics_logic
|
|
evidence_lanes:
|
|
- math_symbolic_equivalence/v1 (public)
|
|
- math_symbolic_equivalence/v1 (sealed)
|
|
- math_teaching_corpus/v1
|
|
- math_bounded_grammar/v1
|
|
evidence_revision: "adr-0120-math:reviewed:2026-05-23"
|
|
signed_by: shay-j
|
|
claim_digest: "94149794e8c19896851e062cf1f921cfa9ba04770b674bc3b4c33023f7c7331b"
|
|
|