From 346c23862f46f861fa2bb00f96aa76c2c22da17a Mon Sep 17 00:00:00 2001 From: Dmitrii Vasilev Date: Sun, 9 Aug 2026 13:51:38 +0700 Subject: [PATCH] docs(numeric): correct why former_name exists -- the ladder was never published (Refs #2001) I justified former_name="GF-T{N}" by claiming arXiv:2606.05017 and arXiv:2606.09686 cite the old name. They do not, and the correction matters because it changes what the rename cost. 2606.05017 is the binary GF family; its source, docs/arxiv-submission/trinity-gf16.tex, contains zero occurrences of "GF-T". 2606.09686 is this catalog, and the only commit introducing an id=gft row is from 2026-08-09 -- mine. The ladder has never been published under either name. So the rename retracts nothing and breaks no citation, and was cheaper than I described. former_name= stays, but for internal continuity only: research notes, prior branches and the author's CV and profile carry the old label, and this campaign's measurements against takum/tekum/posit were recorded under it. The gate's message says that now instead of citing papers that do not cite us. Two other things in the same header. It was mangled by an earlier string replacement, which joined two sentences into one, and it did not state the reason the name claims the encoding rather than the radix: a genuine ternary-radix float measures 0.331 positions per number worse at equal width, so claiming radix 3 would claim the thing this format declines. Both fixed, along with the standing warning that a gft* glob swallows gfternary -- which has already cost a deleted spec and a dropped index entry. Co-Authored-By: Claude Opus 5 --- docs/NOW.md | 12 +++++++++++- specs/numeric/formats_catalog.t27 | 21 +++++++++++++++++++-- tools/check_catalog_integrity.py | 7 +++++-- 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/docs/NOW.md b/docs/NOW.md index 81b201846..eddf976f6 100644 --- a/docs/NOW.md +++ b/docs/NOW.md @@ -1,3 +1,13 @@ +# NOW -- correction: GF-T was never published (2026-08-09) + +Last updated: 2026-08-09 + +## numeric: fix the stated reason for former_name= (Refs #2001) + +- I justified `former_name="GF-T{N}"` by claiming arXiv:2606.05017 and arXiv:2606.09686 cite the old name. **They do not.** 2606.05017 is the binary GF family -- its source, `docs/arxiv-submission/trinity-gf16.tex`, contains zero occurrences of "GF-T". 2606.09686 is this catalog, and the only commit introducing an `id=gft` row is from 2026-08-09 +- Consequence: the rename **retracts nothing and breaks no citation**, and was cheaper than I described it. `former_name=` is kept for internal continuity -- research notes, prior branches, and the author's CV and profile carry the old label, and this campaign's measurements against takum/tekum/posit were recorded under it +- Corrected in the catalog header, in `tools/check_catalog_integrity.py`, and in the prior NOW entry rather than left standing + # NOW -- gfternary restored, and a gate so a glob cannot do that again (2026-08-09) Last updated: 2026-08-09 @@ -5,7 +15,7 @@ Last updated: 2026-08-09 ## numeric: restore gfternary.t27, alias the former name, gate both (Refs #2001) - **`specs/numeric/gfternary.t27` was deleted by my own `rm -f specs/numeric/gft*.t27`** during the TEF rename. It is a DIFFERENT object -- a 2-bit {-phi, 0, +phi} alphabet, not a float -- that merely shares a prefix with the old GF-T names. Restored from `origin/master`, byte-identical by SHA-256, and it typechecks. The same glob had already dropped it from the pack index earlier the same day: twice is a pattern -- **`former_name="GF-T{N}"` on every TEF row.** Renaming the ladder does not retract its measurements: arXiv:2606.05017 and arXiv:2606.09686 cite GF-T, and it labels every published comparison against takum / tekum / posit. The old name stays searchable, and the catalog header says why +- **`former_name="GF-T{N}"` on every TEF row -- for internal continuity, NOT for citation compatibility.** Correcting myself: the ladder has never been published under either name. arXiv:2606.05017 is the binary GF family and does not mention GF-T; arXiv:2606.09686 is this catalog, which had zero GF-T rows until 2026-08-09. The rename retracts nothing and breaks no citation. The old label survives in research notes, prior branches and the author's profile, which is reason enough to keep it searchable - New gate `tools/check_catalog_integrity.py`: every `source=` resolves, the three prefix-sharing neighbours (`gfternary`, the binary `gf*` ladder, the `tef*` ladder) are each present **on disk** and distinct, and the former name is still there. Verified red on each of those failures individually, not just green on the happy path - The catalog row alone was never enough -- `gfternary`'s row survived while its spec file did not, and nothing noticed diff --git a/specs/numeric/formats_catalog.t27 b/specs/numeric/formats_catalog.t27 index 3291eaccb..028666f95 100644 --- a/specs/numeric/formats_catalog.t27 +++ b/specs/numeric/formats_catalog.t27 @@ -271,8 +271,25 @@ module FormatsCatalog { // CATALOG: id=gf1024 name="GF1024 (rule-derived)" bits=1024 s=1 e=391 m=632 bias=2^390-1 phi_distance=0.0006 storage=u1024_software cluster=GoldenFloat status=Open standard="this work; rule e=round(1023/phi^2)=391; lowest phi-distance in the ladder" use_case="OPEN R&D: limit-of-ladder phi alignment (extrapolation, no RTL)" gf_relation=experimental source="specs/numeric/gf1024.t27" // --------------------------------------------------------------------- - // TEF -- Ternary-Exponent Float. The exponent FIELD is balanced ternary; Distinct from GFTernary (a 2-bit - // {-phi, 0, +phi} alphabet) and from the binary GF ladder above. + // TEF -- Ternary-Exponent Float. The exponent FIELD is balanced ternary; the + // RADIX is binary. A genuine ternary-radix float (scaling by 3^e, as Ternary27 + // does) measures 0.331 positions per number worse at equal width, so the name + // deliberately claims the encoding and not the radix. + // + // Distinct from GFTernary (a 2-bit {-phi, 0, +phi} alphabet, not a float at + // all) and from the binary GF ladder above. A glob of gft* matches gfternary; + // it has already cost this repository a deleted spec and a dropped pack index + // entry. Match tef[0-9]+ or gft[0-9]+, never a bare prefix. + // + // FORMER NAME: GF-T (GF-T4 .. GF-T1024), renamed 2026-08-09, carried in + // former_name= on every row. The ladder has NEVER been published under either + // name -- arXiv:2606.05017 is the binary GF family and contains no occurrence + // of "GF-T", and arXiv:2606.09686 is this catalog, which had zero GF-T rows + // until they were added on 2026-08-09. The rename therefore retracts nothing + // and breaks no citation. former_name= is for internal continuity only: + // research notes, prior branches and the author's CV and profile carry the old + // label, and this campaign's measurements against takum/tekum/posit were + // recorded under it. // // Two fields below need reading with care: // e= is a count of balanced-ternary TRITS, not bits. The bit-equivalent diff --git a/tools/check_catalog_integrity.py b/tools/check_catalog_integrity.py index 6a6ea9e20..2055c30ea 100644 --- a/tools/check_catalog_integrity.py +++ b/tools/check_catalog_integrity.py @@ -49,9 +49,12 @@ def main(): if not tef or not gf or tef & gf: problems.append(f"COLLAPSED tef={len(tef)} gf={len(gf)} overlap={sorted(tef & gf)}") - # 4. The former name must stay searchable: renaming is not retraction. + # 4. The former name must stay searchable. Not for citation reasons -- the + # ladder has never been published under either name -- but because research + # notes, prior branches and the author's own profile still use it, and every + # measurement against takum/tekum/posit was recorded under the old label. if 'former_name="GF-T16"' not in text: - problems.append('LOST former_name="GF-T16" (arXiv cites the old name)') + problems.append('LOST former_name="GF-T16" (internal continuity)') if problems: for p in problems: