# ADR-0168.1 — MathFrameClaimProposal Adapter **Status:** Proposed (design bridge; no runtime FrameClaim admission in this PR) **Date:** 2026-05-27 **Author:** Shay **Parent:** [ADR-0168](./ADR-0168-frameclaim-ratification.md) **Related:** ADR-0057, ADR-0167, ADR-0163, ADR-0164, ADR-0166 --- ## Context ADR-0168 identified a required compatibility bridge before any FrameClaim implementation can land. ADR-0057 ordinary `TeachingChainProposal` eligibility requires a reviewed `source="corpus"` evidence pointer. That is correct for cognition teaching chains, where the claim is grounded in reviewed teaching-corpus material. Math-domain FrameClaims originate elsewhere: ```text MathReaderRefusalEvidence / audit rows ``` Those rows are legitimate evidence of a teachable gap, but they are not cognition corpus evidence and must never be laundered into cognition corpus pointers. Therefore FrameClaim cannot simply reuse ordinary `TeachingChainProposal` as-is without either: 1. weakening ADR-0057's reviewed-evidence floor, or 2. falsely treating audit evidence as cognition corpus evidence. Both are forbidden. --- ## Decision Choose a math-specific proposal/ratification adapter: ```text MathFrameClaimProposal ``` instead of creating a reviewed math corpus artifact first. This adapter preserves ADR-0057's discipline: - append-only proposal log - replay-equivalence/admissibility as precondition, not permission - explicit operator review before mutation - no deletion - no auto-accept - no active-pack mutation during replay but gives math-domain audit evidence its own honest evidence floor. --- ## Why not a reviewed math corpus first? A reviewed math corpus may eventually be useful, but it is premature for the first FrameClaim bridge. Creating it now would require deciding: - corpus schema - corpus lifecycle - corpus indexing semantics - corpus replay integration - whether frame evidence, slot evidence, and composition evidence share one corpus or separate corpora - how accepted math evidence relates to pack manifests That is a larger substrate decision than FrameClaim needs. The adapter is narrower: ```text one claim type one proposal surface one replay gate one operator acceptance boundary ``` It keeps the capability path moving without inventing a new corpus family before the need is proven. --- ## Data shape A future implementation should define a frozen, canonicalizable data shape similar to: ```python @dataclass(frozen=True, slots=True) class MathFrameClaimProposal: proposal_id: str claim_signature: str surface_form: str frame_category: str polarity: Literal["affirms", "falsifies"] evidence: tuple[MathReaderRefusalEvidencePointer, ...] replay_evidence: AdmissibilityReplayEvidence | None review_state: Literal["pending", "accepted", "rejected", "withdrawn"] operator_note: str provenance: MathProposalProvenance | None ``` This is deliberately not a `TeachingChainProposal` because its evidence floor is not cognition corpus evidence. It is also deliberately not a runtime frame registry entry. It is a proposal. --- ## Evidence floor A `MathFrameClaimProposal` is eligible only if it has: 1. at least one audit/refusal evidence pointer, 2. a deterministic audit-row digest, 3. a normalized claim signature, 4. a known `missing_operator` subtype mapping to `FrameClaim`, 5. an allowlisted `frame_category`, 6. `boundary_clean=True`, and 7. `polarity in {"affirms", "falsifies"}`. Audit evidence must include enough provenance to replay the claim: - case id - sentence index - token/span index when available - missing operator - refusal reason/detail - recognized terms digest - audit row canonical digest The evidence pointer source must be a math-specific value such as: ```text source="math_audit" ``` It must not be `source="corpus"` unless and until a real reviewed math corpus exists. --- ## Replay gate The adapter uses the math-domain replay gate: ```text run_admissibility_replay_gate ``` Replay remains a precondition, not permission. If replay regresses any protected metric, the proposal auto-transitions to `rejected` with an `auto_rollback_regression` note. If replay passes, the proposal remains `pending` until explicit operator review. --- ## Accepted proposal effect Accepting a `MathFrameClaimProposal` may only append or propose append to a reviewed frame mapping artifact. It must not directly mutate: - active runtime state - solver code - parser code - graph verifier code - arithmetic semantics - cognition corpus - cognition packs Acceptance should produce an append-only provenance record linking: ```text proposal_id -> claim_signature -> target artifact row -> reviewer ``` --- ## Idempotency `proposal_id` must derive from canonical claim identity, not clock time. Recommended identity: ```text sha256(domain | subtype | surface_form | frame_category | polarity | evidence_digest_set) ``` Equivalent evidence should deduplicate. Adding a second audit row for the same claim may either: 1. append evidence to the existing proposal record, or 2. create a new event referencing the existing proposal id. It must not create a second independent mutation opportunity for the same claim. --- ## Partition guarantees The adapter is math-domain only. It must not: - consume cognition corpus evidence, - emit cognition TeachingChainProposal records, - append to cognition chains, - read cognition semantic-domain classifiers, - use cognition replay gates. It may share infrastructure patterns from ADR-0057, but not evidence identity. --- ## Acceptance gates for implementation A future implementation PR must prove: - deterministic claim signature - deterministic proposal id - duplicate evidence deduplication - append-only proposal log behavior - replay-gate selection = math admissibility replay - replay pass leaves proposal pending, not accepted - replay regression auto-rejects - operator accept is required for mutation - accept writes only the reviewed math frame target artifact - active corpus and active pack bytes are unchanged during replay - audit evidence is never serialized as cognition corpus evidence - case 0050 remains safe - recognized-but-uninjectable remains refused unless fully admitted correctly --- ## Non-goals This ADR does not implement: - FrameClaim runtime admission - frame mapping artifact schema - workbench rendering - CompositionClaim - ReferenceClaim - SlotClaim - reviewed math corpus substrate - automatic acceptance This is only the bridge decision that makes future FrameClaim implementation compatible with ADR-0057. --- ## Decision summary > Use a dedicated `MathFrameClaimProposal` adapter for math-domain FrameClaim > evidence. Preserve ADR-0057's replay/review discipline, but do not impersonate > ADR-0057's cognition corpus evidence floor. Audit evidence stays audit > evidence; operator-reviewed accepted proposals may later append to a reviewed > math frame artifact under deterministic replay gates.