Conversation
…ry night — the matcher cannot see a YAML-quoted name
Five scheduled lanes are red. This is the one whose cause is entirely inside the
guard rather than in the thing it guards.
FAIL: manifest names a step this workflow does not run:
Test-tier decision case table (BSE-17): quick/full/reuse, drift is ENV
The step is there. guards-nightly.yml line 158:
- name: "Test-tier decision case table (BSE-17): quick/full/reuse, drift is ENV"
The inline check matched the BARE spelling:
grep -Fq -- "- name: $name" .github/workflows/guards-nightly.yml
A step name containing a colon-space MUST be quoted in YAML, and this one contains
`(BSE-17): quick`. So the matcher looked for `- name: Test-tier...` while the file
said `- name: "Test-tier...`, and the lane has been red ever since that name was
quoted — reporting a step that runs on every nightly as one the workflow does not
run. A guard that names a real step as missing is worse than no guard: it teaches
the reader to skip the lane.
EXTRACTED rather than patched in place. Logic inside a `run:` block cannot be
unit-tested and cannot carry a case table, which is why a one-character class of
defect survived in it. scripts/check_guards_nightly_manifest.sh now matches on the
PARSED name, so all three YAML quotings of one string are one step.
Case table, 7 rows, both directions:
bare name parsed ok
DOUBLE-quoted name unquoted (the defect) ok
single-quoted name unquoted ok
trailing whitespace stripped ok
manifest fully covered -> exit 0
a genuinely absent step -> exit 1 <- still fails; not made permissive
vacuity floor, <5 entries parsed -> exit 1
Against the real tree: `ok 7 manifest entries, every one a step in this workflow`.
Mutation: appending one bogus entry turns it RED again, so the fix widened the
matcher without disarming it.
The self-test found a defect in its OWN HARNESS first: invoking `step_names` through
`bash -c 'source ...'` re-ran this file's dispatch and returned nothing, so four
rows failed while the parser was correct. A broken harness reporting a working
parser as broken is the same error as the one being fixed, in the other direction.
Wiring: `guard_tree.sh --dry-run` reports it `wired-elsewhere guards-nightly.yml`
and check_guards_are_wired.sh exits 0. bashrs 7.4.1: 0 errors.
check_roadmap_sorted.sh caught the roadmap entry inserted at a stale slot — main
gained PMAT-3228/3229 while this branch was being written, so "after 3222" was no
longer sorted. Re-inserted among its numeric peers.
ont-delta: none — a CI guard fix; it adds no entity, shape, verdict reason or
resolves target of its own.
Pmat-Ticket: PMAT-3234
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
§13.11 rung 1 — quorum shadow verdict Shadow mode: this records a verdict and merges nothing. A refusal |
Third time tonight. My insertion helper rejoins entry blocks with an added newline, re-serialising the entry ABOVE the insertion without any field changing — PMAT-980 (#2874). The remedy is the one check_roadmap_diff_additive.sh names. Pmat-Ticket: PMAT-3234 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Superseded by #3295, which carries this change unmodified along with eight other Not abandoned and not rejected: the commits are merged into Why: a successful |
Merged
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.
Five scheduled lanes are red (
guards-nightly,Coverage Nightly,Silicon Nightly,examples-nightly,CUDA Nightly). This is the one whose cause is entirely inside theguard rather than in the thing it guards.
The step is there —
guards-nightly.yml:158:The inline check matched the bare spelling:
grep -Fq -- "- name: $name" .github/workflows/guards-nightly.ymlA step name containing a colon-space must be quoted in YAML, and this one contains
(BSE-17): quick. So the matcher looked for- name: Test-tier…while the file said- name: "Test-tier…, and the lane has been red since that name was quoted — reporting a stepthat runs on every nightly as one the workflow does not run.
A guard that names a real step as missing is worse than no guard: it teaches the reader to skip
the lane.
Extracted, not patched in place
Logic inside a
run:block cannot be unit-tested and cannot carry a case table — which is whya one-character class of defect survived in it.
scripts/check_guards_nightly_manifest.shmatches on the parsed name, so all three YAML quotings of one string are one step.
Against the real tree:
ok 7 manifest entries, every one a step in this workflow. Mutation:appending one bogus entry turns it red again, so the matcher was widened without being disarmed.
The self-test found a defect in its own harness first
Invoking
step_namesthroughbash -c 'source …'re-ran this file's own dispatch and returnednothing, so four rows failed while the parser was correct. A broken harness reporting a
working parser as broken is the same error being fixed, in the other direction — worth
recording because the row that matters most is the one most easily faked, either way.
Also
check_roadmap_sorted.shcaught the roadmap entry at a stale slot: main gained PMAT-3228/3229while this branch was being written, so "after 3222" was no longer sorted. Re-inserted among
its numeric peers.
guard_tree.sh --dry-runreports the new guardwired-elsewhere guards-nightly.yml;check_guards_are_wired.shexits 0. bashrs 7.4.1: 0 errors.The other four red lanes are separate causes and are not touched here:
Coverage Nightly(llvm-cov),
Silicon Nightly(the x86_64-cpu SIMD axis genuinely failing),examples-nightly(an example failing),
CUDA Nightly(PP-26 batch-invariance, a known divergence).no-close: a CI lane fix with no filed issue; the four remaining red nightlies are separate
causes and need their own triage.
ont-delta: none — a CI guard fix; it adds no entity, shape, verdict reason or resolves target.
🤖 Generated with Claude Code