Skip to content

fix(tri): gates dead -- name what the floor hid, and what has no file - #2916

Merged
gHashTag merged 2 commits into
masterfrom
w750
Aug 29, 2026
Merged

fix(tri): gates dead -- name what the floor hid, and what has no file#2916
gHashTag merged 2 commits into
masterfrom
w750

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

The command already asked this question. Its report was 2 of 6.

$ tri gates dead --repo gHashTag/t27
2 workflow(s) have never succeeded, across 1603 run(s).
    1541  Auto Merge Ready PRs
      62  Coq Proofs Validation

4 more have never succeeded but fall under --min-runs 50:
      16  Lean proofs
       8  Brain Seal Refresh
       4  Vivado Synth (Docker, GH-hosted)
       2  Build Vivado Docker Image

9 registration(s) are `active` to the API with no file in the tree --
history, not a gate, and nothing to fix:
      31  .github/workflows/format-check.yml
       7  Formal (Yosys)
       3  coq-canonical
       ...

Two defects, opposite in direction

The floor dropped four silently. --min-runs exists so a new or
rarely-triggered workflow is not called dead — right, and the four it hid include
brain-seal-refresh.yml: 8 lifetime runs across five months, every one
rejected
, because its last step is a git push to master and ruleset
t27-master-protection answers GH013 … Changes must be made through a pull request (#2915). Few runs is not few enough to be safe: a structurally
impossible workflow fails every time it runs, and runs rarely.

The active filter added nine. GitHub keeps a workflow registered active
after its file is deleted — 61 registrations against 48 files. One of the
nine carries 31 failures, more than four of the six real ones, so ordering by run
count alone put a phantom above the workflow that cannot work by construction.

Why classify decides deleted first

A registration with no file cannot be under- or over-run — there is nothing to
fix either way. Letting the run count decide its bucket files a phantom under
whichever threshold it happens to meet. The mutation that reverses the order
fails a_deleted_workflow_is_history_at_any_run_count.

mutation test that fails
threshold decided before the file check a_deleted_workflow_is_history_at_any_run_count
below-floor rows dropped instead of named under_the_floor_is_a_bucket_and_not_a_silence

The path check applies only when a single repository is asked about, since it
reads the working tree; for any other repo the API's word stands.

Refs #2914
Refs #2915

The command was right and its report was two of six.

    2 workflow(s) have never succeeded, across 1603 run(s).
        1541  Auto Merge Ready PRs
          62  Coq Proofs Validation

    4 more have never succeeded but fall under --min-runs 50:
          16  Lean proofs
           8  Brain Seal Refresh
           4  Vivado Synth (Docker, GH-hosted)
           2  Build Vivado Docker Image

    9 registration(s) are `active` to the API with no file in the tree --
    history, not a gate, and nothing to fix:
          31  .github/workflows/format-check.yml
           7  Formal (Yosys)
           ...

Two defects, opposite in direction.

The floor DROPPED four silently. `--min-runs` exists so a new or rarely-triggered
workflow is not called dead, which is right, and the four it hid include
`brain-seal-refresh.yml`: eight lifetime runs across five months, every one
rejected with GH013 because its last step pushes to master and this repository's
own ruleset requires a pull request (#2915). Few runs is not few enough to be
safe -- a structurally impossible workflow fails every time it runs, and runs
rarely. They are now named under the report rather than dropped from it.

The `active` filter ADDED nine. GitHub keeps a workflow registered as active
after its file is deleted: 61 registrations here against 48 files. Those nine
have never succeeded and there is nothing to fix in any of them; one carries 31
failures, more than four of the six real ones, so run count alone put a phantom
above the workflow that cannot work by construction.

`classify` decides deleted FIRST, for that reason, and its mutation -- deciding
the floor first -- fails `a_deleted_workflow_is_history_at_any_run_count`.

The path check applies only when a single repository is asked about, since it
reads the working tree; for any other repo the API's word stands.

Refs #2914
Refs #2915
@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-29 23:23:14 UTC

Summary

Status Count
Total Open PRs 8
PRs with Failing Checks 7
PRs with All Checks Green 1
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=82e020cf95b2 != 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

PR Dashboard

Generated at: 2026-08-29 23:35:27 UTC

Summary

Status Count
Total Open PRs 10
PRs with Failing Checks 7
PRs with All Checks Green 3
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=82e020cf95b2 != 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 7848fb9 into master Aug 29, 2026
28 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

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