Skip to content

fix(numeric): catalog count drift 77->83 + WP-18 conformance-integrity gate - #1078

Merged
gHashTag merged 1 commit into
masterfrom
fix/catalog-count-drift-77-to-83
Jun 14, 2026
Merged

fix(numeric): catalog count drift 77->83 + WP-18 conformance-integrity gate#1078
gHashTag merged 1 commit into
masterfrom
fix/catalog-count-drift-77-to-83

Conversation

@gHashTag

@gHashTag gHashTag commented Jun 14, 2026

Copy link
Copy Markdown
Owner

Closes #1079

Summary

Two related fixes to the numeric-format conformance surface. Both are self-contained, stdlib-only, and CI-gated; the live gate verdict is CLEAN after this PR.

1. Catalog count drift 77 -> 83 + CI count-gate

The committed gen/numeric/* was stale at 77 (pre-#1051 snapshot). The SSOT specs/numeric/formats_catalog.t27 carries 83 // CATALOG: lines at HEAD 16042f4. This regenerates all 16 tracked codegen targets so that SSOT == codegen == committed gen == 83.

  • tools/check_catalog_count.py + .github/workflows/catalog-count-gate.yml: CI invariant SSOT line-count == codegen count == committed JSON count.
  • ERRATA_2026-06-14.md: arXiv:2606.09686 declares 84; canonical live count is 83 (erratum noted).
  • docs/: P3109 4-param cross-walk, kappa FP8 E4M3 note, conformance-layer positioning.

2. WP-18 conformance-corpus integrity gate + F-1 fix

A second CI gate that locks the conformance corpus itself against silent drift and undisclosed error. Six independent checks (pack-set == SSOT, INDEX recount, per-pack SHA freshness, finite-row abs_error re-derivation, special-value same-class round-trip, honesty allow-list). A 15/15 self-test proves every check is FAIL-reachable before the gate is trusted.

F-1 correction (the reason this matters): the re-derivation oracle exposed 6 gf16 rows storing abs_error: 0.0 while decoding off the gf16 grid (phi, inv_phi, phi_squared, inv_phi_sq, e, pi). The round-trip was correct; only the per-row error label was wrong. Each abs_error is corrected to the measured value and allow-listed as not_on_grid. The anchor identity phi^2 + 1/phi^2 = 3 remains exact in f64. Verdict: CLEAN.

Verification

  • python3 tools/check_catalog_count.py -> OK (83 == 83 == 83)
  • cd tools && python3 wp18_selftest_gate.py -> 15/15 assertions passed
  • live gate -> verdict CLEAN (2214 finite rows, 0 mismatch, 6 disclosed not_on_grid)

Scope notes

  • No SSOT semantics changed; only stale generated artifacts and 6 mislabeled error fields.
  • No external repos touched.

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

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

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-06-14 12:46:45 UTC

Summary

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

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

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

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-06-14 12:50:46 UTC

Summary

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

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

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

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-06-14 12:55:19 UTC

Summary

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

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

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

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-06-14 13:14:58 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

… + errata + P3109 docs

Follow-up to #1064. Adds CI guards and docs without touching gen/ (L2 GENERATION:
gen/ is derived, never hand-committed). The count-gate regenerates fresh against
the SSOT and enforces SSOT == fresh codegen == 83. Paper-declared 84 -> non-fatal
WARN pointing at the errata.

- tools/check_catalog_count.py + .github/workflows/catalog-count-gate.yml
- ERRATA_2026-06-14.md: arXiv:2606.09686 declares 84; canonical live = 83
- docs/: P3109 4-param cross-walk (arXiv:2606.04028), kappa FP8 E4M3, positioning

Closes #1079
@gHashTag
gHashTag force-pushed the fix/catalog-count-drift-77-to-83 branch from cd77602 to 8f59cf7 Compare June 14, 2026 13:20
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-06-14 13:20:14 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

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

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

@gHashTag
gHashTag merged commit 5e2cff0 into master Jun 14, 2026
24 checks passed
@gHashTag
gHashTag deleted the fix/catalog-count-drift-77-to-83 branch June 14, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Materialise gen/ to 83, add catalog-count CI gate, re-anchor P3109 cross-walk

1 participant