Commit graph

15 commits

Author SHA1 Message Date
2dae2ca0db audit v3: paper-reality congruence + external-pointer integrity (Fable-5 Socratic pass)
Two Fable-5 inventory agents cross-checked every empirical claim in the
paper against code/deployed log, and every external pointer against the
live internet. Fixes on both sides:

CODE (system brought up to the paper's claims):
- SECURITY: pin-store mutation (incl. permanent poisoning) was reachable
  via receipts whose head signature FAILED verification in two of three
  consumer paths (attestation.py, cli.py) - an unauthenticated forged
  head at the pinned size could poison a consumer's pin forever and
  pollute the equivocation-evidence pair with an unverifiable head,
  contradicting SS5.4's 'validly signed' precondition and Prop 1.
  Both paths now gate the store on a verified Ed25519 head signature
  (logclient.py already did). Regression test added.
- Prop 2 made literally true: _normalize_certificate now derives the
  cleanliness verdict purely from (observed cone, local allowed set) in
  EVERY branch; the operator's axiom_status label is never copied (was
  passed through for non-proven certs), missing cone => unverifiable
  always. Labels can deny, never grant. Test added.
- webdocs: '/v1/sth-history: every head ever signed' -> 'the published
  head history'.

PAPER (claims brought down to reality):
- 'every head ever signed' -> the signed head history since publication
  began (heads for sizes 1-7 predate the mirror and were not retained).
- Run-3 bullet: 'independently checkable by diffing the two commit
  trees' was no longer reproducible (pre-rewrite objects discarded);
  now states the log-internal corroboration (identical cert lists and
  cones across leaves 4-7 vs 8-11) and that tree diffs are not public.
- Appendix A leaf block now actually verbatim: scheme
  openssl-ed25519, verified_backend serial/u64, real Lean version
  (4.30.0-rc2) instead of 4.x.y placeholder, leaf's actual axiom order
  (finalize/new/update), machine_protection note quoted, elisions
  marked; preamble wording matches.
- Appendix C upstream boundary reordered to check.sh's verbatim order.
- '27 lines - all annotation' -> honest description (axiom-list entries
  + operation reordering from one fork's black_box barrier).
- Prop 2 proof + App A: status label consulted only negatively.
- SS7: provenance fields noted as outside the signed payload; consumer
  chain relies on none of them.
- Bibliography: all 20 entries verified against DBLP/RFC-editor - zero
  errors; added missing page numbers to 6 entries; thebibliography
  width 19->20. All URLs verified public; no PlanetMacro leakage.

17 pages, 106 tests green, accumulator untouched (tree_size 12).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 21:33:28 +02:00
78eea14512 paper: Socratic proof-rigor pass — close Lemma 2 gap, fix Step 3 object, argue §7 acyclicity
Adversarial re-read of the security section found three exposition gaps
(no math errors, but the kind a referee pounces on), all fixed:
- Lemma 2 (Root binding): Theorem 3 Step 1 asserted 'every proof node
  consumed is genuine', but the lemma's STATED conclusion only mentioned
  values F emits, not siblings F consumes. Strengthened case (ii) to pin
  the consumed siblings explicitly (it follows from argument-pair
  coincidence, now stated, not just proved).
- Theorem 3 Step 3: 'hash-fold over itself' named the wrong object — for
  Lemma 2, T_{D1[0:n0]} must be a hash-fold over T_{D0}; justified by
  equal size => identical shape, leaf inputs = D1[0:n0].
- §7: 'self-referential without being circular' was asserted; now argued
  via the explicit acyclic verification order (pin key -> check sig ->
  verify inclusion by hashes -> optionally rebuild+recheck source), no
  step consuming its own output.
17 pages, refs resolve, 104 tests green (verifier defs untouched).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:02:51 +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
b7c8c58529 paper: depth pass to IACR standard (no padding) — 14->17pp
Not size for its own sake; each addition is a definition, proof, figure,
or measurement the genre expects and the rejection implied:
- §2: the signature apex given real depth — the four tiers stated as an
  explicit lifting ladder T1-T4 (byte apex -> canonical half-lift ->
  injectivity/point-eq via non-square d -> constructive full lift), each
  naming the one new mathematical fact; the corpus's actual achievement,
  previously an appendix bullet list
- §4: scheme-syntax Definition (KeyGen/Append/ProveIncl/VerifyIncl/
  ProveCons/VerifyCons/Verdict) in DGHS style, so the goals name real
  algorithms; new subsection making the observation-not-verdict /
  requirements-card idea explicit (the system's distinguishing claim)
- §5.3: the consistency verifier DEFINED (recursive ConsRec form),
  closing the gap where Theorem 3 previously reasoned about an
  undefined verifier — differential-tested == deployed RFC verifier on
  5508 cases (honest + 4 mutation classes, n<=256)
- §6: Theorem 3 now a FULL proof (was a sketch), factored through a
  shared Lemma 2 (Root binding) that both soundness theorems use
- §8: Figure 1 (the twelve-leaf tree w/ grey failure leaves + 3-run
  braces) reinstated and improved; Table 1 (per-fork files/boundary/
  diff/hash-shape) replacing a prose paragraph
- App D slimmed to the verbatim Lean theorem-name mapping (no longer
  duplicates §2)
Both recursive verifiers regression-tested against deployed code. 102
tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 19:27:13 +02:00
c6b46d5505 remove the pseudonymous paper entirely; fix stale v1-era surfaces (Fable 5 audit)
Removal (user decision): paper/ltl-v0.0.{tex,pdf} deleted; /paper/v0.0
route removed; test now asserts 404 for it; /paper/v0.1 stays for
citability and is linked from the docs card.

Audit findings from re-reviewing the last session's work, all fixed:
- Appendix A claimed 'all other fields are verbatim' over elided
  placeholder values - reworded to state exactly what is elided vs
  verbatim (a paper about exactness cannot say verbatim over an ellipsis)
- LTL docs paper card still described the 4-page v1 (old title, old
  scope) - now the revised title, 14 pages, proofs summary, v0.1 link
- llms.txt paper line updated to the revised title
- paper/eprint-submission.md rewritten as the RESUBMISSION kit: new
  title/abstract, message-to-editors change note, form-not-email
  guidance, author-only checklist

102 tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 18:18:27 +02:00
ba1c739a0e paper v2 canonical + versioned hosting; pin-store proposition now true
Paper:
- v2 (12->14pp: appendices) promoted to paper/ltl.tex; v1 kept as
  ltl-v0.1.tex, pseudonymous variant as ltl-v0.0.tex (identity-clean)
- filled from verified artifacts: App C (3 verbatim per-fork boundaries:
  dalek 11 / hash3 8 / anza 7), App D (real 4-tier ladder + parser
  hypotheses; the other agent's 'Tier 3/4' guess corrected), App A (real
  leaf 8 structure); §8 now twelve leaves / three runs incl. the
  history-rewrite absorption (a live G2 demonstration); §7 self-check
  index 4->8; Limitations count fixed; two overfull math displays fixed
- title/author/ORCID unchanged from the revision

Hosting: web.py serves /paper (current), /paper/v0.1 (prior named),
/paper/v0.0 (pseudonymous) - older versions unlisted in the endpoint
index; test added.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 18:02:59 +02:00
b867ec2342 paper: ORCID 0009-0004-8008-5805 in author block; ePrint kit updated
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:39:50 +02:00
d4872b140a paper: position the two-disciplines bridge explicitly (intro, 2 sentences)
The LTL does not mechanize cryptographic security proofs (EasyCrypt and
relatives own that bridge, now cited); it bridges the adjacent, mostly
empty gap - type-theory-certified artifacts have no distribution
infrastructure, and cryptographic transparency infrastructure has never
carried kernel-checked mathematics. Fit maintained at 4 pages (bottom
margin 1.95cm, bibliography scriptsize); pages 1 and 4 visually
inspected; 18 references.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:06:12 +02:00
be9a39cd2b paper rigor pass: fix three claims that failed verification; serve the trust anchor
Socratic audit findings, all verified against artifacts:
- 'zero lines between structurally identical forks' was FALSE: risc0 vs
  betrusted differ by 27 lines (all annotation, documenting the risc0
  fork's black_box trusted-base entry). Corrected to the true number.
- '~64 Lean files per fork' over-rounded anza's 58. Now '58-64'.
- completeness parenthetical now states both hypotheses (a=-1 square, d
  non-square), not just d.
- 'key published in two independent locations' was ASPIRATIONAL: the
  site served only a fingerprint. New /log-public-key endpoint serves
  the key bytes; docs-page artifact-1 row links both copies; test added.
Verified exactly and kept: 215-line parser diff (FromBytesSpec), 121-line
signature-glue diff (SigApexSpec), byte-identical x4 math files incl. the
carry-telescope file, 11-axiom upstream boundary, 16 certs/leaf, 153-line
mirror verifier, leaf fields (toolchain + machine_protection), all 17 refs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 09:28:55 +02:00
3eb53b0195 paper: final subtitle - Where Deductive and Cryptographic Proof Vouch for Each Other
Chosen from the shortlist; states the two-traditions loop directly and
drops the jargon. PDF rebuilt (4 pages), page 1 visually inspected.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 09:05:35 +02:00
8aa228d2fe paper: retitle + author block per publication decision
- Title: 'LTL: Lean Transparency Log'; subtitle now 'Distributing
  Machine-Checked Proof Evidence through a Recursively Self-Certifying
  Merkle Log' (the log carries the certificates of the code that signs
  the log - recursion named, marketing dropped)
- Author: Olaf Horvath, contact Olaf.Horvath@zkdefi.org, single URL
  ltl.zkdefi.org (redundant zkdefi.org line removed)
- PDF rebuilt (4 pages), page 1 visually inspected
- title echoes updated: llms.txt, LTL docs-page paper card

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 08:45:49 +02:00
47dfb61a7f Move the log service to ltl.zkdefi.org (root path); keep path-mount support
- serve/webdocs/cli default to base_path='' (own subdomain, root serving)
- webdocs link builder handles the empty base like web.py already did
- all docs, paper, notebook 06b, and published-mirror README point at
  https://ltl.zkdefi.org; DEPLOY.md rewritten for subdomain + redirect
- tests: root mount is the production shape; one test keeps exercising
  the path-mounted variant

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:14:52 +02:00
aa16f6d530 paper: author reverted to the pseudonym pending the owner's publication-identity decision
The real-name + affiliation combination de-pseudonymizes the owner's
other public surfaces; reverted on their notice. History purge of the
prior commit awaits explicit authorization.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 18:56:03 +02:00
a4108ddcac Paper v2: author, the mathematics, and a figure that survives being looked at
Review feedback applied:

- Author: Olaf Horvath.
- New "What the certificates state" block in the introduction - the
  actual mathematics the Lean proving is about, kept compact: the
  radix-51 denotation, a representative two-clause specification
  (value + invariant preservation for mul), the complete twisted
  Edwards addition law with the d-non-square completeness fact, and
  both apex tiers as single-line equivalences
  (accept <=> compress([s]B-[k]A) = R; accept <=> decompress(R) =
  [k](-A)+[s]B) with the hash oracle's role stated inline.
- The figure was genuinely broken (leaf boxes overlapped - box width
  exceeded spacing - and the annotation collided with a node); this
  time it was inspected VISUALLY, not just for build warnings.
  Redrawn as a full-width figure*: generous spacing, grey failed-run
  leaves labeled "retained forever", bold leaf 4, the dashed
  self-certification loop routed through clear space, and the float
  relocated in source so it lands on page 3 beside the deployment
  section instead of drifting to the references page.
- Held the 4-page line through prose trims (intro paragraphs, related
  work, deployment opening) and a compact accept() notation; zero
  build errors, one 0.66pt overfull in a bibliography line.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 18:39:18 +02:00
7884bdeeb1 The LTL paper: 4-page arXiv draft, claim-disciplined
paper/ltl.tex + built PDF: "LTL: the Lean Transparency Log -
Distributing Machine-Checked Proof Evidence via an Authenticated Data
Structure Signed by Its Own Certified Artifact". Exactly four pages,
two-column, self-contained (embedded bibliography, TikZ figure of the
real 8-leaf log with the self-certifying signature loop).

Structure: intro (the consumption-economics argument), the LTL
(roles, replay-attestation leaves, boundary-exact auditing,
observation-not-verdict, pinning + git witness), the self-certifying
signature (with the honest verify-path/signing-path distinction),
deployment & evidence (the failure leaves as a feature; the full
assumption enumeration; the proof-portability observation with real
divergence numbers), related work (Rekor/CT/PCC/CONIKS/in-toto
engaged head-on; Cheval-Moreira-Ryan as the complementary direction -
"they verify the log; we log the verification"), limitations, and the
next-step agenda (Lean-verified RFC 9162 verifiers with SHA-256
collision resistance as a documented boundary axiom, certificates
entering the log they defend; EverCrypt/verified-Merkle prior art
credited).

Claim discipline verified on the rendered text: zero hype vocabulary,
explicit does-not-establish list, full trusted-base enumeration,
single-operator/TOFU/prototype-scale limitations stated, AI drafting
assistance acknowledged. References verified against the literature
(Sigstore CCS'22, Aeneas ICFP'22, HACL* CCS'17, Fiat-Crypto S&P'19,
EverCrypt S&P'20, in-toto USENIX'19, CONIKS USENIX'15, RFC
6962/9162/8032, Necula POPL'97, Lean 4 CADE-28, Bernstein et al.).
Footnote acknowledges the linear-temporal-logic acronym collision.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 18:14:38 +02:00