main is red: TestTheGateReadsTheDeclaredWorkflow now skips, so the push-to-main guard is not running #780

Closed
opened 2026-08-14 07:52:08 +00:00 by coilyco-ops · 0 comments
Member

ward exec gate fails on test-skips against untouched origin/main at fa72b31, so every branch inherits a red gate.

build          PASS
policy-check   PASS
vet            PASS
test           PASS
test-skips     FAIL
  TestTheGateReadsTheDeclaredWorkflow

The skip is the symptom. cmd/sirens-echo-policy-check/gate_test.go:53 reads .ward/ward.yaml and skips when it does not contain workflow: pull-request-and-merge:

if !strings.Contains(string(ward), "workflow: pull-request-and-merge") {
    t.Skip("the repository is not on the pull-request lane")
}

#775 moved that declaration into AGENTS.md frontmatter. The test still reads ward.yaml, no longer finds the string, and skips rather than running.

What the skip costs is the point. The test's own comment says it exists because "the repository declares its lane in ward.yaml and nothing read it, so an agent could push to main with every check green." Its two assertions, that scripts/ward-command.sh reads the declared workflow and checks symbolic-ref, are currently not evaluated. test-skips is doing exactly its job by refusing to let that pass quietly.

Two candidate fixes, and the choice belongs to whoever owns #775's intent:

  1. Point the test at the frontmatter, so the declaration has one home and the guard runs again.
  2. Read either location, if ward.yaml is meant to keep carrying it for other consumers.

Adding the test to .ward/test-skips.allow would clear the red without restoring the guard, so it is the wrong fix here.

Found while working #778. That branch does not touch any of this, and fails the gate identically to a clean checkout of main.

`ward exec gate` fails on `test-skips` against untouched `origin/main` at `fa72b31`, so every branch inherits a red gate. ``` build PASS policy-check PASS vet PASS test PASS test-skips FAIL TestTheGateReadsTheDeclaredWorkflow ``` The skip is the symptom. `cmd/sirens-echo-policy-check/gate_test.go:53` reads `.ward/ward.yaml` and skips when it does not contain `workflow: pull-request-and-merge`: ```go if !strings.Contains(string(ward), "workflow: pull-request-and-merge") { t.Skip("the repository is not on the pull-request lane") } ``` #775 moved that declaration into `AGENTS.md` frontmatter. The test still reads `ward.yaml`, no longer finds the string, and skips rather than running. What the skip costs is the point. The test's own comment says it exists because "the repository declares its lane in ward.yaml and nothing read it, so an agent could push to main with every check green." Its two assertions, that `scripts/ward-command.sh` reads the declared workflow and checks `symbolic-ref`, are currently not evaluated. `test-skips` is doing exactly its job by refusing to let that pass quietly. Two candidate fixes, and the choice belongs to whoever owns #775's intent: 1. Point the test at the frontmatter, so the declaration has one home and the guard runs again. 2. Read either location, if `ward.yaml` is meant to keep carrying it for other consumers. Adding the test to `.ward/test-skips.allow` would clear the red without restoring the guard, so it is the wrong fix here. Found while working #778. That branch does not touch any of this, and fails the gate identically to a clean checkout of main.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/sirens-echo#780
No description provided.