Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions .self-local/issues/4704.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,99 @@

**Status**: OPEN (tracking only; corrected scope, see UPDATE below)

**UPDATE 2026-07-25 #10 (dev-pr-clerk, authorization-trail record for PR #4711, required by
UPDATE #9's "authorization for item (a) must be written into this mirror and the GitHub issue"
gate, before merge)**: **PR #4711 is NOT based on user authorization.** It rests on the main
agent's own scope judgment, recorded here (and on GitHub) honestly rather than as an
authorization that was never given:
- **Basis for the scope judgment**: PR #4711 fixes the **last remaining location** of a single
dangling-reference cluster produced by the #4303 deletion. PR #4710 (merged) fixed the same
cluster's other occurrence at `docs/index.md:1715`. The only difference between the two is that
#4711's occurrence happens to live inside a `.lean` module doc comment
(`ClusterExpansionSupersession.lean:18-19`) rather than `docs/index.md`. Both are the *same*
three retired module names, from the *same* #4303 deletion, fixed with the *same* replacement
text. This is treated as **finishing an already-in-progress cluster**, not as opening the
systematic sweep that item (a) of UPDATE #7 flagged as unauthorized.
- **What remains unauthorized**: a **systematic, repo-wide sweep of `IsingModel/` doc comments**
for other stale references (i.e. going looking for *further*, unrelated instances beyond this
one already-identified cluster) is **still not authorized** and has **not** been attempted in
this PR (grep scope for #4711 was limited to re-confirming the three known retired module names,
not an open-ended doc-comment audit). That systematic sweep remains open debt under #4704 item
(a)/(c) below.
- **Reversibility**: if this scope judgment is later deemed inappropriate, PR #4711 is trivially
revertible — it is a 3-line docstring change in one file plus this mirror; no Lean statement,
declaration, or proof is touched.

**UPDATE 2026-07-25 #9 (dev-issue-manager, resolution verification of PR #4711 at HEAD
`b2d3e8f4`, base main `7449e3a4`): content RESOLVED, but the PR body carries one MIS-STATED
measurement — merge is blocked until the body is corrected (the squash body becomes `main`'s
permanent history; this is exactly the #4709 gate).** Machine-verified evidence:
- Diff = 2 files: `ClusterExpansionSupersession.lean` (module docstring only, +4/−3) and this
mirror (+19). Everything from `namespace IsingModel` onward is **byte-identical to `main`**
(programmatic comparison of `7449e3a4:` vs `b2d3e8f4:` blobs). `docs/index.md` untouched
(so `:1974` — authorization-pending — is untouched), `tex/` untouched, no other `.lean`.
- The three retired module names return **0 hits** across `IsingModel/`, `docs/`, `tex/`,
`scripts/`. At base they occurred **only** at `ClusterExpansionSupersession.lean:18-19`
(2 lines, 1 file) — "sole remaining reference" confirmed. Stronger: **all 30 `Layer*.lean`
modules deleted by `109690bd` now have 0 name references repo-wide**, so the body's "this is
the last outstanding reference to the #4303 deletion" holds at module-path level.
- Replacement text: the clause `route obstructed #4081, superseded by §18 #4228/#4255; archived
at git tag `archive/transfermatrix-spectral-gap-scaffolding`` is **verbatim** the string used
on the 31 annotated `docs/index.md` rows (`grep -c` = 31 for all three fragments); the tag
exists (`git tag -l`).
- Provenance claims re-derived **against the cited commits, not the PR diff** (#4709 structural
hole): `git log --diff-filter=A` → `ed70e3f5` (#4076) / `88cb6027` (#4078) / `6022207f`
(#4079), all "— #3511", all 2026-06-20; `--diff-filter=D` → all three by `109690bd`
("#4298 PR-B1 (#4303)", 2026-06-26). **Confirmed.** Sibling-PR attributions: #4710 = the
1-line `docs/index.md:1715` fix (`d97f9612`) **confirmed**; #4705 = "retract §18.4 Mayer
order-3 claims left stale by #4702" (`a3046ce6`) **confirmed**; #4708 (`472731b3`) **partly
imprecise** — 3 of its 4 lines (1973/1974/1976) come from the `SpecialCases/Legacy.lean`
split, the 4th (1979) from the `Concrete/LatticeGraphCorrelation/
PartitionFreeEnergyPointwiseRegularity` split; the load-bearing claim ("not from #4303") is
true for all four.
- **MIS-STATED (must fix before draft-lift)**: body says "Longest added line is 94 codepoints".
Measured (Python `len` on codepoints): **89** = longest added line in the `.lean` file;
**92** = longest added line over the whole diff (that line is in this mirror, not the
library). No line is 94. Substantively harmless (well under the limit, 0 CJK codepoints
confirmed), but the number is wrong and would land in `main`'s history.
- **Still `isDraft: true`** — must be marked ready before merge. CI `build` **success on
`head_sha = b2d3e8f4`** (`/check-runs` API, not just the PR summary); `mergeable=MERGEABLE`.
`Part of #4704`, no `Closes` → #4704 correctly stays OPEN.
- `.self-local/issues/4704.md` inclusion **is** disclosed in the body's Scope section. ✔
- **goal-scope: PASS on substance, but the authorization record is MISSING.** No sweep, no
`docs/index.md:1974` edit, no tex excursion, no repo-wide `.lean` doc-comment scan — the diff
is one docstring. However UPDATE #7 above recorded item (a)'s scope question
(`.lean` doc comments vs. new issue) as **awaiting user decision** and stated "any further
#4704 sweep beyond PR #4710 is unauthorized — STOP-and-ask". Neither the PR body, UPDATE #8,
nor any GitHub comment records the user's decision. **Before merge, the user's authorization
for item (a) must be written into this mirror and the GitHub issue** (or, if it was never
given, the PR must stop and ask).

**On merge, `dev-pr-clerk` must** (in the GitHub issue body and this mirror) move item (a) from
"Scope 2 (not started)" into "Scope 1 (done)" citing PR #4711, and restate the remaining debt as
**2 items** — (b) `docs/index.md:1974` count fix (awaiting explicit user authorization) and
(c) the unclassified docs/tex token pool (needs a false-positive-reduced method first). #4704
stays OPEN for those two.

**UPDATE 2026-07-25 #8 (dev-pr-clerk)**: item (a) — opened **draft PR #4711**
(branch `docs/4704-fix-supersession-doc-comment`, empty commit `665a153`) to fix
`IsingModel/TransferMatrix/ClusterExpansionSupersession.lean:18-19`'s module doc comment,
which still names the three retired `TransferMatrix/Layer{DobrushinContraction,Doeblin,
DoobSpectralGap}.lean` modules (the sole remaining reference to them anywhere in
`IsingModel/`, re-confirmed by `grep -rn` at branch start). Scope explicitly limited to this
one docstring; a repo-wide `.lean` doc-comment sweep and the `docs/index.md:1974` count fix
remain unauthorized/pending per items (b)/(c) below. `Part of #4704`, not `Closes`.
**Implemented at commit `28709f2a`** (the module docstring fix). Gates: CI `build` pass
(3m53s @ `28709f2a`); `dev-verify` PASS on all 10 checked items (`lake build` exit 0, 5040
jobs, warning-zero; `#print axioms` = standard three axioms; `GKSTest` pass; diff is the
docstring only; the three retired module names are now absent repo-wide from `IsingModel/`,
`docs/`, and `tex/`); `dev-audit-tier1` PASS (the four provenance claims re-derived against
the diff itself; the annotation matches the existing 31 occurrences in `docs/index.md`
verbatim). **Side effect**: this PR brings the count of surviving references to the three
retired module names, repo-wide (`IsingModel/`, `docs/`, `tex/`, `scripts/`), to zero,
closing out the dangling-reference cluster left by #4303's deletion (spanning #4705/#4708/
#4710 and this PR).

**UPDATE 2026-07-25 #7 (dev-issue-manager, resolution verification of PR #4710 at HEAD
`63088fc3`, base main `3e085137`): RESOLVED for its own declared scope — merge-eligible;
#4704 stays OPEN.** Machine-verified evidence:
Expand Down
7 changes: 4 additions & 3 deletions IsingModel/TransferMatrix/ClusterExpansionSupersession.lean
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@ That route is **obstructed**. The single-step Dobrushin/Doeblin contraction is
insufficient for the growing transverse box, and a Codex counterexample
(`u ≡ 1`, `k = exp(t·∑ a·b)`, `ρ ~ exp(O(|S|))`) shows the uniform Kotecký–Preiss /
Dobrushin estimate one would need cannot hold transversally uniformly; see the roadmap
`.self-local/docs/11-roadmap-to-completion-2026-06-20.md`, Phase 5, and the documented
obstruction in `IsingModel/TransferMatrix/Layer*` (`LayerDobrushinContraction.lean`,
`LayerDoeblin.lean`, `LayerDoobSpectralGap.lean`, …).
`.self-local/docs/11-roadmap-to-completion-2026-06-20.md`, Phase 5. The scaffolding that
documented this obstruction in `IsingModel/TransferMatrix/Layer*.lean` was removed in
PR-B1: route obstructed #4081, superseded by §18 #4228/#4255; archived at git tag
`archive/transfermatrix-spectral-gap-scaffolding`.

This module records the **resolution** prescribed by Issue #4214 item B, option (ii):
the §18 *cluster-expansion* route already delivers, **unconditionally**, the
Expand Down