mirror of
https://github.com/saymrwulf/ltl-accumulator-verified.git
synced 2026-09-03 19:53:48 +00:00
KNOWN-GAPS 14: record closure of the consistency-verifier seam
The deployed verify_consistency was corrected (pacta ddbb5a4) to restore
RFC 9162 2.1.4.2 Step 7's terminal sn==0 check. Gap 14 is marked CLOSED
with a closure note, and two incorrect statements in the original item
are fixed:
- "accepts strictly more than the mechanized ConsRec" -> the finite
pinned-family one-sidedness (no global inclusion relation claimed).
- "deployed behavior matches upstream RFC 9162 implementations" -> this
was false; the deployed verifier OMITTED RFC 9162 Step 7, and a
faithful RFC verifier rejects the same lied-size family. The claim is
quoted in the closure note only to refute it.
- "the deployed RFC 9162 iterative algorithm" -> "the deployed iterative
verifier (an RFC 9162-style loop, but see root cause)"; the mislabel
(assuming conformance) is precisely what let the two-way harness file
the divergence as a scoped gap instead of a bug.
The historical divergence remains recorded in public entry 13 and
reproducible at the tagged pre-fix commit; entry 13, the attested
accumulator commit 172a1d0, and the IACR submission PDF are unchanged.
Gap 15 (deployment refinement invariant) remains open.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
c570c6114a
commit
9f406557fb
1 changed files with 34 additions and 8 deletions
|
|
@ -84,19 +84,25 @@ list is COMPLETE, not merely that the items are acceptable.
|
||||||
from the kit). Round 3 ships the complete stdlib-only import closure
|
from the kit). Round 3 ships the complete stdlib-only import closure
|
||||||
of `pacta.transparency`, content-addressed against pacta commit
|
of `pacta.transparency`, content-addressed against pacta commit
|
||||||
`3d81d53`, plus the clean-extraction transcript with exit code.
|
`3d81d53`, plus the clean-extraction transcript with exit code.
|
||||||
14. **Deployed `verify_consistency` accepts strictly more than the
|
14. **Deployed `verify_consistency` accepted lied-size proofs the
|
||||||
mechanized `ConsRec` on lied-size inputs** (round-3 Claude addendum
|
mechanized `ConsRec` rejects** — finite pinned family, no global
|
||||||
F1*, reproduced by the operator against deployed pacta). Witness:
|
inclusion relation claimed. **[CLOSED 2026-07-23 — see closure note
|
||||||
|
at the end of this item.]** (round-3 Claude addendum F1*, reproduced
|
||||||
|
by the operator against deployed pacta). Witness:
|
||||||
for the honest proof P between sizes 2→3, `verify_consistency(1, 3,
|
for the honest proof P between sizes 2→3, `verify_consistency(1, 3,
|
||||||
R2, R3, P)` returns True — a semantically false claim ("R2 is the
|
R2, R3, P)` returns True — a semantically false claim ("R2 is the
|
||||||
root of a size-1 prefix") — while `ConsRec` rejects; 3,405 such
|
root of a size-1 prefix") — while `ConsRec` rejects; 3,405 such
|
||||||
divergences exist for n < 60, ALL one-sided (the mechanized model
|
divergences exist for n < 60, ALL one-sided (the mechanized model
|
||||||
never accepts anything the deployed verifier rejects; inclusion
|
never accepts anything the deployed verifier rejects; inclusion
|
||||||
shows zero divergences under identical abuse). Mechanism: when the
|
shows zero divergences under identical abuse). Mechanism: when the
|
||||||
claimed old size is a power of two, the deployed RFC 9162 iterative
|
claimed old size is a power of two, the deployed iterative verifier
|
||||||
algorithm seeds the walk with the old root and uses the sizes only
|
(an RFC 9162-style loop, but see root cause) seeds the walk with the
|
||||||
|
old root and uses the sizes only
|
||||||
as bit-navigation state, so several size claims navigate one proof
|
as bit-navigation state, so several size claims navigate one proof
|
||||||
identically. Consequences: (a) fidelity between the two consistency
|
identically. (Root cause, identified at closure: the deployed
|
||||||
|
verifier omitted RFC 9162 §2.1.4.2 Step 7's terminal `sn == 0`
|
||||||
|
condition; see the closure note below.) Consequences: (a) fidelity
|
||||||
|
between the two consistency
|
||||||
verifiers is agreement over the pinned case families, NOT
|
verifiers is agreement over the pinned case families, NOT
|
||||||
extensional equality — the harness's lied-size family pins the
|
extensional equality — the harness's lied-size family pins the
|
||||||
boundary (73,573 cases: lied old size exhaustive for n < 60, lied
|
boundary (73,573 cases: lied old size exhaustive for n < 60, lied
|
||||||
|
|
@ -115,8 +121,28 @@ list is COMPLETE, not merely that the items are acceptable.
|
||||||
`src/pacta/sthstore.py` and `src/pacta/logclient.py` — code OUTSIDE
|
`src/pacta/sthstore.py` and `src/pacta/logclient.py` — code OUTSIDE
|
||||||
the supplied fidelity target (review R4-3/GPT-4). No exploitability
|
the supplied fidelity target (review R4-3/GPT-4). No exploitability
|
||||||
against that flow is claimed or ruled out here; assessing it
|
against that flow is claimed or ruled out here; assessing it
|
||||||
requires the signature/STH layer (gap 4). No pacta code change is
|
requires the signature/STH layer (gap 4).
|
||||||
made (deployed behavior matches upstream RFC 9162 implementations).
|
|
||||||
|
**CLOSURE (2026-07-23, pacta `ddbb5a4`).** The earlier sentence
|
||||||
|
"deployed behavior matches upstream RFC 9162 implementations" was
|
||||||
|
incorrect: the deployed `verify_consistency` implemented the RFC
|
||||||
|
9162 §2.1.4.2 bit-navigation loop but omitted its Step 7 terminal
|
||||||
|
condition that the new-size navigation counter reach zero
|
||||||
|
(`sn == 0`). That omission — not any property of RFC 9162 — is the
|
||||||
|
whole of the divergence: a faithful RFC verifier rejects the same
|
||||||
|
lied-size family. Restoring the one conjunct removes every divergence
|
||||||
|
in the pinned 73,573-case family, verified by a new three-way
|
||||||
|
regression `test_consistency_lied_size_three_way_agreement`
|
||||||
|
(deployed verifier / recursive `ConsRec` model / an independent
|
||||||
|
faithful RFC 9162 transliteration) over both the honest and lied-size
|
||||||
|
families. The divergence was originally surfaced by this corpus's own
|
||||||
|
two-way fidelity harness; the missing third (RFC) oracle is what
|
||||||
|
assigned blame to the deployed side rather than the model. The
|
||||||
|
historical divergence remains truthfully recorded in public log entry
|
||||||
|
13 and is reproducible at the tagged pre-fix commit
|
||||||
|
`vulnerable/sn0-consistency-fd2f6ba`; public entry 13, the attested
|
||||||
|
accumulator commit `172a1d0`, and the IACR submission PDF are all
|
||||||
|
unchanged. Gap 15 (deployment refinement invariant) remains open.
|
||||||
15. **Deployment refinement invariant unmechanized** (round-4 GPT, its
|
15. **Deployment refinement invariant unmechanized** (round-4 GPT, its
|
||||||
principal finding — split out from gap 14 because it carries the
|
principal finding — split out from gap 14 because it carries the
|
||||||
deployed-soundness claim). The corpus proves soundness of the
|
deployed-soundness claim). The corpus proves soundness of the
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue