Skip to content

Commit 414e664

Browse files
hyperpolymathclaude
andcommitted
docs(ledger): record ground-truthed soundness-survey correction (#554/#553/#555/#556/#558/#559)
The canonical .claude/CLAUDE.md soundness survey is stale. Captured the corrected, test-verified status (528 tests green) in the committed tidy-up ledger instead of editing CLAUDE.md, which lacks an SPDX/owner header and is thus owner-only to commit. Owner to fold into CLAUDE.md manually. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 3a531e1 commit 414e664

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

docs/reports/TIDY-UP-LEDGER-2026-06-16.adoc

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,47 @@ move the dangle. Left as-is so the gap stays visible:
111111
* `docs/academic/README.adoc` → `white-papers/type-system.md`,
112112
`white-papers/effect-system.md`
113113
* `docs/alib/README.adoc` → `../specs/affinescript-spec.md`
114+
115+
== Soundness survey correction (2026-06-16) — canonical CLAUDE.md is STALE
116+
117+
The `.claude/CLAUDE.md` "Known soundness items (2026-06-11 survey)" section
118+
(and the disambiguation-table Proofs cell) are STALE. Ground-truthed below by
119+
running the build + full test suite (528 tests green). The canonical survey
120+
was NOT edited in place: `.claude/CLAUDE.md` carries no SPDX/owner header, so
121+
committing an edit trips the strict pre-commit hook, and adding a licence
122+
header to it is an owner-only decision. Owner to fold these corrections into
123+
CLAUDE.md manually (with the header) when convenient.
124+
125+
[cols="1,3",options="header"]
126+
|===
127+
| Item | Corrected status (2026-06-16)
128+
129+
| **#554** | FIXED. Use-after-move through a callee-returned borrow is now
130+
REJECTED (`MoveWhileBorrowed`); aggregate / ref-reassign / match-tail
131+
hardening + anti-over-rejection cases asserted
132+
(`test_borrow_callee_returned_borrow_*`). #177 closed. issue-draft 08
133+
(conditional-origin escape) also FIXED. (Survey still says "this hole
134+
remains" — wrong.)
135+
| **#553 / Polonius** | M1–M3 implemented, NOT "0% implemented". Loan-vs-loan
136+
exclusivity now modeled (allowlist 7 divergences: return-escape ×4,
137+
captured-linear ×2, call-aliasing ×1). Still TEST-ONLY / unwired — gates no
138+
production verdict.
139+
| **#555** | Codegen FENCED on every reachable backend (WASM, WasmGC,
140+
Deno-ESM, JS-text, C) — no more silent arm-drop. Interp: tail-resume
141+
correct, multi-shot loud-fails, non-tail single-shot still silently returns
142+
the resumed value (residual; needs delimited continuations — blocked on
143+
OCaml 4.14 / js_of_ocaml). Runtime handler tests now exist. (Survey says
144+
"zero runtime handler tests exist" — wrong.)
145+
| **#556** | FIXED. Async CPS table-miss fails loud, not silent sync fallback.
146+
| **#558** | N/A (closed). Refinement & dependent types removed in v1
147+
(2026-04-10); `assume(...)` rejected, `T where (P)` parse-errors — no
148+
silent-unenforcement path. (Survey says "parsed but silently not enforced"
149+
— no longer applicable.)
150+
| **#559** | FIXED (concrete overlaps). Trait coherence implemented + wired in
151+
`check_program`; overlapping impls whose self types unify are rejected.
152+
Follow-up: generic-subsumption overlap.
153+
|===
154+
155+
Session commits (signed, branch `feat/solo-core-metatheory-proofs`,
156+
unpushed): `bc061ad` (#555 C fence), `2b3f63c` (#559 coherence),
157+
`3a531e1` (M3 loan-vs-loan).

0 commit comments

Comments
 (0)