Ordering train: per-stratum tail support receipts (#652) + late-producer input DAG (#653) - #660
Open
MaxGhenis wants to merge 154 commits into
Open
Ordering train: per-stratum tail support receipts (#652) + late-producer input DAG (#653)#660MaxGhenis wants to merge 154 commits into
MaxGhenis wants to merge 154 commits into
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The round-13 lane evolved the shared checkpoint fixture (missing-sentinel column) after recording the no-nullable-boolean golden, then died before re-recording. The constant was stale, not the compatibility: the worktree writer's bytes for this frame are sha-identical to origin/main's writer (e55095d2…), verified by running both against the same fixture. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…tant CI falsified both golden constants: the same writer produces different whole-file bytes on macOS and Linux because the HDF5 wheels differ — run-stable per platform, unpinnable across platforms (my earlier repin chased the same mirage from the other side). The real contract for frames without nullable booleans is write determinism plus staying on schema version 2; the test now asserts exactly that via a double-write byte-equality and the existing schema_version check. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fourteen rounds of measurement showed 1% sits below the tail's own support floor (JOINT short 6,042 usable donors; SEPARATE short 353) while ~4% clears every filing-status stratum naturally, and wall time is donor-dominated (1% = 32 min, 10% = 64 min), so the 4% rung costs barely more than 1% and exercises the whole pipeline without support receipts. Grammar only: fraction→token map, Logbook rung sets, CLI help, and a live-store migration extending builds_rung_fraction_token; no gate or tolerance changes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The rung-grammar commit missed the release-id regex, which fails closed exactly as designed — the 4% launch died at ID generation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Round 13 put materializer_version inside the pool_h5 receipt, so a stripped stacked manifest now retains a detectable marker and refuses at the stacked-only-field check — earlier and named, strictly stronger. The guard test expected only the deeper canonical-envelope refusal and went red on the message. It now pins both behaviors: a lazy strip is caught by the marker, a complete strip still refuses at the canonical envelope. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Two ordering fixes from the first builds to reach the deep pipeline, shipped as one train because both govern late-stage execution order.
#652 — capital-gains tail: declared per-stratum support with receipts
The 1% rung cannot satisfy the tail's donor requirements in two filing-status strata (verified from real checkpoints: JOINT short 6,042, SEPARATE short 353; every stratum clears at 10% — the 10% dev run passed the tail empirically — and at full scale). Thin strata now receive named, counted
insufficient_supportreceipts bound into the tail manifest and checkpoint identity; adequate strata attach byte-identically (regression-pinned); full-scale behavior provably unchanged (analytical counts in the report).#653 — late-producer input dependency DAG
The 10% dev run died in adult care reading
sstb_self_employment_income_before_lsr— 43,260 nonfinite inputs, all ASEC-origin native clone-0 people, because the producer ran before the post-PUF transfer filled its inputs. The #649 producer schedule proves target-producers precede their checks but never modeled producer inputs. Now: a canonical 38-producer, 71-edge dependency DAG, import-validated (cycles rejected by name), topological waves(1,1,17,14,3,2)derived not hand-ordered, byte-stable under registry iteration order, bound into checkpoint identity. A callback-aware AST audit confirms zero undeclared configured reads across all producers.Verification
Implemented by two lanes, then one combined adversarial QA gate re-derived the stratum tables and provenance from the real build checkpoints, ran the negative-path suites, and found no production defect (report sha
b79f6d39…). Battery: 5,907 passed / 0 failed; #583 guard exactly 495; ruff clean; changelog covers both issues.Merge gate: all CI lines green plus the next 1% smoke showing the two thin-strata receipts and reaching past source completion. Real-build receipts will be posted here.
Fixes #652. Fixes #653.
🤖 Generated with Claude Code