Commit graph

2 commits

Author SHA1 Message Date
2587cc018b publish assets: sync the fail-open time bomb; llms/course/test docs refreshed (doc audit 2026-07-19)
REAL DEFECT found by the operator-ordered doc-freshness audit:
published_assets.py still carried the PRE-HARDENING fail-open verify.py
and the pre-Tier-2 README as the templates that log-publish drops into
the mirror — the next publish would have silently overwritten the
round-13-hardened fail-closed verifier and the corrected README with
the old versions. Fixed:
- published_assets.py regenerated from the canonical mirror files
  (byte-identity verified by round-trip exec), now also carrying
  verify_selftest.py; SYNC RULE documented in the module docstring.
- transparency_log.publish() now writes verify_selftest.py too.
- NEW tests/test_published_assets.py pins the security-critical markers
  (fail-closed FATAL, RECEIPT_TYPE, verify_receipt, --all receipt
  coverage, required fingerprint) so template drift fails CI instead of
  shipping.
- test_web_and_witness updated to the hardened verifier's markers —
  the published test log now passes FULL signature mode end to end
  ('RESULT: OK [full]'), a stronger assertion than the old string.

Doc refresh in the same pass:
- llms.txt: thirteen leaves + entry-13 self-attestation + fail-closed
  verifier; paper line -> new title, 23 pages, v0.2/v0.1 archives.
- Course (generator + generated 06b notebook): 'the git hash IS the
  content hash' -> 'the commit pins the exact source tree';
  'irrevocably part of the log every other agent sees' -> 'committed to
  the log's signed view, which any agent can compare' (the two Tier-2
  scope corrections had never reached the teaching material).
- test_paper_verifiers.py docstring rescoped: its 164k counts are the
  archived v0.2 report's citation; the current paper cites the corpus
  harness and makes no extensional-equality claim.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 13:10:55 +02:00
3700ed8a90 paper: Fable-5 rigor re-audit of the depth pass — fix 3 real defects
Re-auditing the prior (Opus-produced) depth pass adversarially found and
fixed three genuine issues:

1. OVERCLAIM (serious): §5.3 said the consistency verifier was
   differential-tested 'on all (n0,n1) with n1<=256' but the script only
   SAMPLED sizes (5,508 cases). Ran the genuinely exhaustive test — all
   1<=n0<=n1<=256, honest + 4 mutations — 164,224 invocations, and the
   inclusion verifier likewise (164,479). Paper now states the true scope
   and counts; both are pinned in a new CI test (test_paper_verifiers.py,
   104 tests) so the numbers cannot rot.
2. PROOF IMPRECISION: Lemma 2 (Root binding) was applied to ConsRec's
   first component, which PASSES THROUGH (no hnode) at some levels and so
   is not the hash-fold the lemma needs. Reworked: Lemma 2 now defined
   over 'hash-folds' only; Theorem 3 restructured into 3 clean steps that
   put only the full-hashing second component through the lemma, then
   argue algebraically + one honest-tree collision. Also hoisted Lemma 2
   above Theorem 2 and made Theorem 2 invoke it (was inlined), so the
   'two theorems share the lemma' remark is now true; deduped the remark.
3. MISLABELED TABLE: Table 1's 'files vs upstream' column actually held
   line-diffs against different baselines. Dropped it for clean comparable
   columns (files / apex axioms / SHA-512 shape); the diff story stays in
   the portability paragraph where each baseline is named.

17 pages, all refs resolve, 104 tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 19:46:11 +02:00