diff --git a/docs/NOW.md b/docs/NOW.md index a73a0d6ba..5ea7b310c 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: