ci(exec): gen/zig drives the zig execution gate + coverage floors on both - #373
Merged
Conversation
…both The zig-test gate compiles and RUNS committed gens -- it is a real execution gate, not just a drift diff -- but it still iterated a hand-maintained list while gen/zig became the SSOT for drift in #365. The list had drifted: six specs had committed, drift-checked gens that were NEVER EXECUTED here -- rti_security, tri_compute_account, tri_compute_bond, tri_compute_pool, tri_settle, twr_timestamp precisely the specs closed in the execution-orphan series (#361, #363, #368). Their gens were verified locally at the time; CI never ran them. Iterate gen/zig directly, so a newly committed gen auto-joins execution the same way it auto-joins drift. Verified locally over the FULL committed set: zig test 107/107, zero failures. Also applies the #372 coverage-floor pattern to both execution gates (zig 107, C 75). A loop that silently matched zero files previously reported green having executed NOTHING; now it fails loudly. C-exec was already dynamic (#365) but had no floor. The stale 'gated to the passing set / tracked in t27#1928' header is corrected: the saturation idiom it referred to is fixed in-spec via '+%', and the whole committed set passes. Verified: zig 107/107 executed, C 75/75 executed, both exit 0; a zero-match loop correctly trips the floor. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
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.
The zig-test gate compiles and RUNS committed gens — it's a real execution gate, not just a drift diff — but it still iterated a hand-maintained list while gen/zig became the SSOT for drift in #365.
The list had drifted
Six specs had committed, drift-checked gens that were never executed here:
rti_security,tri_compute_account,tri_compute_bond,tri_compute_pool,tri_settle,twr_timestamp— precisely the specs closed in the execution-orphan series (#361, #363, #368). Their gens were verified locally at the time; CI never ran them.
Fix: iterate
gen/zigdirectly, so a newly committed gen auto-joins execution the same way it auto-joins drift. Verified locally over the full committed set: zig test 107/107, zero failures.Coverage floors on both execution gates
Applies the #372 pattern to zig (107) and C (75). A loop that silently matched zero files previously reported green having executed nothing; now it fails loudly. C-exec was already dynamic (#365) but had no floor.
The stale "gated to the passing set / tracked in t27#1928" header is corrected: the saturation idiom it referred to is fixed in-spec via
+%, and the whole committed set passes.Verified: zig 107/107 executed, C 75/75 executed, both exit 0; a zero-match loop correctly trips the floor.
🤖 Generated with Claude Code