Repository navigation
PR #119 Copilot round 3 (past the two-round cap): small doc precision nits and a missing workflow-trigger test #126
Description
Filed per Brett Heap's ruling of 2026-09-16 ("do all three") capping Copilot review at two rounds per PR: rounds 1-2 on PR #119 were taken (two follow-up commits fixed their valid findings); this is round 3, past the cap, so its findings land here rather than as a fourth commit chasing the review instead of shipping it.
All four are individually correct and cheap. None blocks anything; they're precision/coverage nits on the CI landing-gate work in #119.
1. Add a hygiene/workflow test that pins the landing-gate trigger logic
The new landing-gate behavior is central to this change, but the existing hygiene test only verifies the
/bin/bash -nfile list; it does not assert thelabeledtrigger or thattests-macosis skipped withoutreadyand runs with it. A typo in either the event list or this expression could therefore silently remove the landing check while the suite stays green.
Concretely: a test in tests/test_repo_hygiene.py that reads .github/workflows/tests.yml and asserts (as text/regex, matching this file's existing style of testing workflow text rather than parsing it as structured YAML):
pull_request:nameslabeledamong itstypes:;tests-macoscarries anif:containing bothgithub.event_name != 'pull_request'andcontains(github.event.pull_request.labels.*.name, 'ready').
This is the most valuable of the four — it is the difference between a future accidental edit to the gate silently going green forever versus a red hygiene test naming what broke.
2. tests.yml's on: comment doesn't name workflow_dispatch as one of tests-macos's non-PR homes
The comment above on: says:
# ... `push` (main only) and the nightly `schedule` are `tests-macos`'s other two homes
# now that it has left the per-push gate ...
but tests-macos's if: also runs it unconditionally on workflow_dispatch (github.event_name != 'pull_request' is true there too). Say "three homes" and name workflow_dispatch, or otherwise fold it in.
3. tests.yml's checkout-invariant comment still omits tests-no-submodule as an exception
The header comment (as of PR #119) reads:
# EVERY CHECKOUT THAT RUNS THE SUITE TAKES `submodules: true`, `parse-macos`
# excepted: ...
tests-no-submodule also checks out with submodules: false, on purpose (it's the job that proves the submodule-missing skip path). That job predates #119 and the invariant comment was already inaccurate about it before this PR touched the paragraph; #119 named parse-macos as an exception without also naming tests-no-submodule. Name both.
4. AGENTS.md's "on pull_request this workflow runs tests, tests-no-submodule and tests-windows only" is stale the moment parse-macos exists
parse-macos (added in #119) also runs unconditionally on every pull_request event — it's tests-macos alone that's gated on the label. The "Testing your changes" section's rule (1) should list parse-macos alongside the other three, or say "every job except the gated tests-macos".
Whoever picks this up: recall AGENTS.md's own line-count hygiene cap (tests/test_repo_hygiene.py::test_agents_md_is_short_enough_to_be_read, 292 after #119) — any lines added there need the cap raised and a dated docstring entry, per that test's own documented ritual.
cc the three-rulings PR: #119
Activity
brettheap commentedon Sep 16, 2026
CLAIMED — lane openRepoTools-3, session 4135b2c9-34a6-47e3-a156-5adebb632fae@Eagle, 2026-09-16T13:59:53Z, for #126
Logged in
lanes/log/openRepoTools-3.mdat62c1b8e675cb4c6e95f35526e02db4aa2a299277.The three reads (lane-collision-protocol Rule 1):
brettheap commentedon Oct 11, 2026
TAKEOVERopenRepoTools-3 — lane openRepoTools-4, session e545e636-93fd-4b80-81b1-48177346b887@Eagle, 2026-10-11T16:50:48Z, for #126
Logged in
lanes/log/openRepoTools-4.mdat37c9904c729b3a6553e14526d4c4b1a3a6ed8116(takeover of the stale claim held by lane openRepoTools-3).The three reads (lane-collision-protocol Rule 1):
Merge origin/main (#227): tests.yml takes main's rewritten header, wh…
Make lane-end's synopsis say what a DUPLICATE retire does, read a sta…
brettheap commentedon Oct 19, 2026
Settled by #227 (aaa7bc8, Brett Heap's 2026-10-15 decision to run the suite on Linux only). #202's body records each item:
labeledandtests-macos'sif:: moot. No job reads thereadylabel now, and thatif:is gone.workflow_dispatchmissing fromtests-macos's homes: moot, becausetests-macosis gone.AGENTS.md's job list: rewritten by ci: run the test suite on Linux only #227. It now names the three jobs and the four triggers.One cosmetic leftover: the
on:comment intests.ymlsayspush(main only) and the nightlyschedulerun the three jobs. It doesn't nameworkflow_dispatch, which runs them too. It is a one-line fix for whoever editstests.ymlnext.Closing. Lane 4 releases its claim.
Lane: openRepoTools-4
brettheap commentedon Oct 19, 2026
RELEASED — lane openRepoTools-4, session e545e636-93fd-4b80-81b1-48177346b887@Eagle, 2026-10-19T21:08:52Z, for #126 — settled by #227, as #202 records item by item; #126 is closed