fix(gen): untrack stale gen/numeric catalog artifacts (committed gen drifts 77 vs SSOT 83) -- Closes #1120#1128
Open
gHashTag wants to merge 1 commit into
Open
Conversation
…OT 83) 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. Nothing reads the committed gen/numeric/formats_catalog.json at build/test/CI time. Verified locally via an independent Rust SSOT-vs-gen oracle: stale file DIVERGENCE (exit 2), fresh regen CLEAN (exit 0, SSOT == gen == 83). Closes #1120
gHashTag
force-pushed
the
fix/untrack-stale-gen-numeric-catalog-1120
branch
from
June 14, 2026 17:20
2615ba8 to
ee3fcec
Compare
Contributor
PR DashboardGenerated at: 2026-06-14 17:20:49 UTC
Summary
Seal Status
|
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
This was referenced Jun 14, 2026
Merged
This was referenced Jun 19, 2026
This was referenced Jun 28, 2026
This was referenced Jul 5, 2026
Closed
This was referenced Jul 6, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #1120.
Issue #1120 reported that the committed
gen/numeric/formats_catalog.jsondeclares77 formats while the SSOT
specs/numeric/formats_catalog.t27carries 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/fromtracking, 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 (statusD).Why deletion, not regeneration
The repo constitution (L2 GENERATION) treats
gen/as DERIVED and neverhand-committed:
gen/is in.gitignore(line 6).catalog-count-gate.yml) regenerates fresh into a tempdir and compares to the SSOT; it does NOT diff the committed
gen/file by design.l1-traceability.yml) fails any PR with a modified (M) file undergen/. Re-committing a regeneratedgen/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
e_bits=48 / m_bits=79in the stalecommitted 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:
Non-breaking check
Nothing reads the committed
gen/numeric/formats_catalog.jsonat build, test, or CItime -- 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
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).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)