Skip to content

PR #119 Copilot round 3 (past the two-round cap): small doc precision nits and a missing workflow-trigger test #126

Closed

Description

@brettheap

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 -n file list; it does not assert the labeled trigger or that tests-macos is skipped without ready and 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: names labeled among its types:;
  • tests-macos carries an if: containing both github.event_name != 'pull_request' and contains(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

  1. brettheap commented on Sep 16, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoTools-3, session 4135b2c9-34a6-47e3-a156-5adebb632fae@Eagle, 2026-09-16T13:59:53Z, for #126

    Logged in lanes/log/openRepoTools-3.md at 62c1b8e675cb4c6e95f35526e02db4aa2a299277.

    The three reads (lane-collision-protocol Rule 1):

    1. existing `CLAIMED —` comments on opensoft/openRepoTools#126:
       none
    2. `gh pr list --repo opensoft/openRepoTools --state all --search "#126"`, kept where the row or its body names `#126`:
    119	tests-macos becomes a landing gate on the `ready` label plus nightly on main; Copilot capped at two rounds; CI is the suite of record — Brett Heap's three rulings of 2026-09-16	chore/macos-landing-gate-and-cycle-rules	OPEN
    3. `git ls-remote --heads git@github.com:opensoft/openRepoTools` branches naming `126` as a whole token:
       none
    
  2. brettheap commented on Oct 11, 2026

    @brettheap
    ContributorAuthor

    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.md at 37c9904c729b3a6553e14526d4c4b1a3a6ed8116 (takeover of the stale claim held by lane openRepoTools-3).

    The three reads (lane-collision-protocol Rule 1):

    1. existing `CLAIMED —` comments on opensoft/openRepoTools#126:
    6:CLAIMED — lane openRepoTools-3, session 4135b2c9-34a6-47e3-a156-5adebb632fae@Eagle, 2026-09-16T13:59:53Z, for opensoft/openRepoTools#126
    13:1. existing `CLAIMED —` comments on opensoft/openRepoTools#126:
    2. `gh pr list --repo opensoft/openRepoTools --state all --search "#126"`, kept where the row or its body names `#126`:
    119	tests-macos becomes a landing gate on the `ready` label plus nightly on main; Copilot capped at two rounds; CI is the suite of record — Brett Heap's three rulings of 2026-09-16	chore/macos-landing-gate-and-cycle-rules	MERGED
    3. `git ls-remote --heads git@github.com:opensoft/openRepoTools` branches naming `126` as a whole token:
       none
    
  3. added 2 commits that reference this issue on Oct 17, 2026
  4. brettheap commented on Oct 19, 2026

    @brettheap
    ContributorAuthor

    Settled by #227 (aaa7bc8, Brett Heap's 2026-10-15 decision to run the suite on Linux only). #202's body records each item:

    • Item 1, a hygiene test pinning labeled and tests-macos's if:: moot. No job reads the ready label now, and that if: is gone.
    • Item 2, workflow_dispatch missing from tests-macos's homes: moot, because tests-macos is gone.
    • Item 3, the checkout-invariant comment: fixed in ci: run the test suite on Linux only #227's header.
    • Item 4, 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 in tests.yml says push (main only) and the nightly schedule run the three jobs. It doesn't name workflow_dispatch, which runs them too. It is a one-line fix for whoever edits tests.yml next.

    Closing. Lane 4 releases its claim.

    Lane: openRepoTools-4

  5. brettheap commented on Oct 19, 2026

    @brettheap
    ContributorAuthor

    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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions