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
12 changes: 11 additions & 1 deletion docs/NOW.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,21 @@
# 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

## 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

Expand Down
21 changes: 19 additions & 2 deletions specs/numeric/formats_catalog.t27
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 5 additions & 2 deletions tools/check_catalog_integrity.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
Loading