Skip to content

fix(gen): untrack stale gen/numeric catalog artifacts (committed gen drifts 77 vs SSOT 83) -- Closes #1120 - #1128

Merged
gHashTag merged 2 commits into
masterfrom
fix/untrack-stale-gen-numeric-catalog-1120
Aug 6, 2026
Merged

gHashTag merged 2 commits into
masterfrom
fix/untrack-stale-gen-numeric-catalog-1120

Conversation

@gHashTag

Copy link
Copy Markdown
Collaborator

Summary

Closes #1120.

Issue #1120 reported that the committed gen/numeric/formats_catalog.json declares
77 formats while the SSOT specs/numeric/formats_catalog.t27 carries 83
(grep -c '// CATALOG:' specs/numeric/formats_catalog.t27 == 83 on this HEAD).

This PR removes the 16 stale committed codegen artifacts under gen/numeric/ from
tracking, so they can no longer drift against the SSOT. It does not modify any
file under gen/ (the L2 GENERATION gate forbids that); it only deletes (status D).

Why deletion, not regeneration

The repo constitution (L2 GENERATION) treats gen/ as DERIVED and never
hand-committed:

  • gen/ is in .gitignore (line 6).
  • The catalog-count gate (catalog-count-gate.yml) regenerates fresh into a temp
    dir and compares to the SSOT; it does NOT diff the committed gen/ file by design.
  • The L2 gate (l1-traceability.yml) fails any PR with a modified (M) file under
    gen/. Re-committing a regenerated gen/ would therefore be rejected by CI.

The 16 catalog artifacts were historically force-added into tracking, which is the
only reason they can drift at all. Removing them from tracking returns gen/numeric/
to the gitignored, regenerate-on-demand state the constitution intends. After this
change, a fresh python3 tools/gen_formats_catalog.py specs/numeric/formats_catalog.t27 <out>
is the single source of these files, and the 83-vs-77 drift class can no longer exist.

The drift, measured

  • count: SSOT 83 vs committed gen 77 (delta 6: gf10, gf14, gf48, gf96, gf512, gf1024 -- GoldenFloat rungs).
  • 15 field mismatches across gf6/gf24/gf128/gf256 (mostly metadata).
  • one substantive numeric mismatch: gf128 stored e_bits=48 / m_bits=79 in the stale
    committed file vs the SSOT-correct e_bits=49 / m_bits=78 (the SSOT line annotates
    "corrects v1.1 typo e=48"). The committed artifacts are a pre-correction snapshot.

A from-scratch independent second-implementation diff (a Rust SSOT-vs-gen oracle,
run locally; two-implementation differential-testing principle) confirmed:

  • stale committed file -> VERDICT DIVERGENCE (exit 2)
  • fresh regenerated file -> VERDICT CLEAN (exit 0; SSOT == gen == 83; gf128 e=49/m=78)

Non-breaking check

Nothing reads the committed gen/numeric/formats_catalog.json at build, test, or CI
time -- only the codegen tool references its own output path in a comment. Grep across
tools/, scripts/, tests/, and .github/workflows/ found no runtime dependency.

Files

  • delete: gen/numeric/formats_catalog.{md,json,py,rs,h,hpp,ts,go,zig,swift,kt,vh,ml} + gen/numeric/FormatsCatalog.{hs,java,jl} (16 files).
  • update: docs/NOW.md (freshness entry).

L6 gf16 SSOT untouched; catalog stays 83; no gen/ edits (deletions only); ASCII-only
added lines; no quality claim added.

-- Dmitrii Vasilev
ORCID 0009-0008-4294-6159
github.com/gHashTag
arXiv:2606.05017 (GoldenFloat)

@gHashTag
gHashTag force-pushed the fix/untrack-stale-gen-numeric-catalog-1120 branch from 2615ba8 to ee3fcec Compare June 14, 2026 17:20
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-06-14 17:20:49 UTC

Summary

Status Count
Total Open PRs 1
PRs with Failing Checks 0
PRs with All Checks Green 1
READY 0
FAILING 0
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=7f77bc056def != manifest seal=49e55df6d444.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

This was referenced Jul 24, 2026
…OT 83) (Closes #1120)

The committed gen/numeric codegen artifacts are a pre-correction snapshot that drifts against the SSOT (declares 77 vs SSOT 83, plus a gf128 e/m typo correction). Per the repo constitution (L2 GENERATION), gen/ is DERIVED and never hand-committed (gen/ is gitignored; the count gate regenerates into a temp dir). These 16 files were historically force-added, which is the only reason they can drift. Remove them from tracking (deletions only, no gen/ modifications) so a fresh codegen run is their single source.
@gHashTag
gHashTag force-pushed the fix/untrack-stale-gen-numeric-catalog-1120 branch from ee3fcec to aa01dd4 Compare August 6, 2026 11:45
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-06 11:45:48 UTC

Summary

Status Count
Total Open PRs 2
PRs with Failing Checks 1
PRs with All Checks Green 1
READY 0
FAILING 1
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=831aa0b41b88 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-06 11:46:47 UTC

Summary

Status Count
Total Open PRs 2
PRs with Failing Checks 1
PRs with All Checks Green 1
READY 0
FAILING 1
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=831aa0b41b88 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 0bf6a7a into master Aug 6, 2026
21 checks passed
@gHashTag
gHashTag deleted the fix/untrack-stale-gen-numeric-catalog-1120 branch October 26, 2026 04:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant