Skip to content

ci(exec): gen/zig drives the zig execution gate + coverage floors on both - #373

Merged
gHashTag merged 1 commit into
mainfrom
ci/zig-exec-ssot-and-floors
Aug 9, 2026
Merged

ci(exec): gen/zig drives the zig execution gate + coverage floors on both#373
gHashTag merged 1 commit into
mainfrom
ci/zig-exec-ssot-and-floors

Conversation

@gHashTag

@gHashTag gHashTag commented Aug 9, 2026

Copy link
Copy Markdown
Owner

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/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.

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

…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)
@gHashTag
gHashTag merged commit 467e022 into main Aug 9, 2026
4 checks passed
@gHashTag
gHashTag deleted the ci/zig-exec-ssot-and-floors branch August 9, 2026 04:19
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.

1 participant