Skip to content

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

Merged
gHashTag merged 2 commits into
masterfrom
feat/tri-ci-baseline-v2
Aug 20, 2026
Merged

feat(tri): ci baseline — which PR gates have never run on the branch they gate (Closes #2309)#2312
gHashTag merged 2 commits into
masterfrom
feat/tri-ci-baseline-v2

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #2309. Follow-up to #2276. Replaces #2310, whose commit subject said Closes 2309 without the # and so failed L1 TRACEABILITY; rebuilt rather than force-pushed.

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 10:02:45 UTC

Summary

Status Count
Total Open PRs 21
PRs with Failing Checks 6
PRs with All Checks Green 15
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).

@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 10:13:22 UTC

Summary

Status Count
Total Open PRs 20
PRs with Failing Checks 5
PRs with All Checks Green 15
READY 7
FAILING 5
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
gHashTag merged commit 98cc964 into master Aug 20, 2026
26 of 30 checks passed
@gHashTag
gHashTag deleted the feat/tri-ci-baseline-v2 branch August 20, 2026 10:23
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