Skip to content

feat(tri): ci baseline — which PR gates have never run on the branch they gate (Closes 2309) - #2310

Closed
gHashTag wants to merge 1 commit into
masterfrom
feat/tri-ci-baseline
Closed

feat(tri): ci baseline — which PR gates have never run on the branch they gate (Closes 2309)#2310
gHashTag wants to merge 1 commit into
masterfrom
feat/tri-ci-baseline

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #2309. Follow-up to #2276.

gHashTag/t27 (default branch master)
  PR-gated workflows: 28
  of those, never run on master by any event: 3
     check-now-freshness.yml
     loop-tools-gate.yml
     seal-staleness-warn.yml

Two wrong answers came first, and they are why the command reports what it reports. Reading triggers alone flagged 47 workflows because their push: carries a paths: filter — not a hole; a filtered push still runs on the default branch when those paths change, which is the sparse baseline tri pr ready already walks commits to find. Counting default-branch runs alone flagged 46 — also not holes; release pipelines, tag-triggered signing, nightly schedules and dispatch-only builds are supposed to have none and cannot paint a pull request red.

The finding is the intersection: PR-gated and never run on the default branch by any event. Across t27, trinity-fpga and zig-golden-float: 4. trinity-fpga (51 active PR gates) and zig-golden-float have zero.

The fourth, catalog-count-gate.yml, declared workflow_dispatch; one dispatch on master gave it a baseline and it left the list.

It refuses to grade the survivors, because three different things hide in such a list — a configuration hole (seal-staleness-warn, whose question is answerable on master and never asked there), one that is inherently pull-request-scoped and correct as it stands (check-now-freshness), and one whose push: paths simply have not changed on master yet (loop-tools-gate). Grading them automatically is how a useful sweep turns back into 47 false accusations.

The trigger scan is a text scan rather than a YAML parse on purpose: on: is a YAML 1.1 boolean, so a parser returns the key true, a lookup of "on" finds nothing in every file, and the sweep reports a clean repository because it read nothing. Its own test caught a missing inline-list spelling (on: [push, pull_request]) before this shipped.

🤖 Generated with Claude Code

…they gate (Closes 2309)

Generalises the emit-bitexact finding: a gate that has never run on the
default branch has no green state anyone has ever seen, yet it still turns
pull requests red, and a red check nobody else has reads as 'you broke it'.

Two wrong answers came first and both are the reason this command reports
what it reports. Reading triggers alone flagged 47 workflows because their
push: carries a paths: filter -- not a hole; a filtered push still runs on
the default branch when those paths change. Counting default-branch runs
alone flagged 46 -- also not holes; release, nightly and dispatch-only
workflows are supposed to have none and cannot paint a pull request red.

The finding is the intersection: PR-gated AND never run on the default
branch by any event. Across three repositories that is 4, not 47 and not 46.

Three kinds hide in such a list and they need different answers -- a real
configuration hole, a gate that is inherently pull-request-scoped, and one
whose push: paths simply have not changed yet. Grading them automatically
is how a useful sweep turns back into 47 false accusations, so the command
prints the taxonomy and leaves the judgement to whoever reads the workflow.

The trigger scan is a text scan, not a YAML parse, because 'on:' is a YAML
1.1 boolean: a parser hands back the key true, a lookup of "on" finds
nothing in every file, and the sweep reports a clean repository because it
read nothing. Its own test caught a missing inline-list spelling.
@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-08-20 09:50:29 UTC

Summary

Status Count
Total Open PRs 20
PRs with Failing Checks 6
PRs with All Checks Green 14
READY 7
FAILING 6
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=cbbfac87dff3 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag

Copy link
Copy Markdown
Owner Author

Superseded by #2312: the commit subject here said Closes 2309 without the #, which L1 TRACEABILITY correctly rejected. Rebuilt on a fresh branch rather than force-pushed.

@gHashTag gHashTag closed this Aug 20, 2026
@gHashTag
gHashTag deleted the feat/tri-ci-baseline branch August 20, 2026 10:02
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.

tri ci baseline: which PR gates have never run on the branch they gate

1 participant