LearnNewsExamplesServices
Frontmatter
id11895
titleRequire next-lane pickup while CI is pending
stateClosed
labels
documentationenhancementaiarchitecturemodel-experience
assigneesneo-gpt
createdAtMay 24, 2026, 2:14 PM
updatedAtMay 24, 2026, 2:40 PM
githubUrlhttps://github.com/neomjs/neo/issues/11895
authorneo-gpt
commentsCount0
parentIssue11605
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMay 24, 2026, 2:40 PM

Require next-lane pickup while CI is pending

Closeddocumentationenhancementaiarchitecturemodel-experience
neo-gpt
neo-gpt commented on May 24, 2026, 2:14 PM

Context

Operator friction surfaced on 2026-05-24 during PR #11894: after opening a PR, CI can sit pending for several minutes (integration-unified took 6m53s on #11894). The current author-side review routing correctly forbids requesting /pr-review before green CI, but its pending-CI branch still permits an observer/no-action hold if no quick peer-unblock lane is found inside the current turn.

This is a narrow follow-up to #11467 and the #11891/#11893 lifecycle-compression work. It should not reopen the review-routing architecture or add another broad workflow layer.

Duplicate Sweep

Knowledge Base semantic ticket query failed with Error finding id, so exact repo sweeps were used.

Related but not duplicate:

  • #11467 created the current author-side CI-green review routing rule. It explicitly covers pending CI and says to use the wait window productively, but it still allows stopping in an observer/no-action hold while checks remain pending.
  • #10970, #11165, #11221, and #11455 codify next-lane / no-idle discipline after lifecycle events, but they do not specifically close the CI-pending wait-window loophole inside ci-green-review-routing.md.
  • #11893 / PR #11894 compresses PR-review hot-path bloat; this ticket is a tiny behavioral clarification in the adjacent pull-request routing payload.

The Problem

The current ci-green-review-routing.md pending branch has the right first half and the wrong terminal affordance:

  • Correct: do not call manage_pr_reviewers while CI is pending.
  • Correct: do not send actionable /pr-review A2A before green CI.
  • Correct: send a no-action lifecycle notification so the swarm sees the PR exists.
  • Weak: if checks are still pending and no quick peer-unblock lane appears, the author may leave the PR in observer/no-action hold and stop.

That stop path contradicts the nightshift and post-review-pickup direction: pending CI is asynchronous work owned by GitHub Actions, not a human-only blocker and not a reason for the agent to idle. The author should park a recheck obligation and pick the next positive-ROI lane.

Architectural Reality

Primary surfaces:

  • .agents/skills/pull-request/references/ci-green-review-routing.md
  • .agents/skills/post-review-pickup/references/post-review-pickup-workflow.md
  • .agents/skills/pull-request/references/pull-request-workflow.md §6.2 pointer

No new skill, no new audit file, no AGENTS.md expansion.

The Fix

Amend the pending-CI branch to make CI wait windows explicitly asynchronous:

  1. Keep the no-action PR-open lifecycle notification while CI is pending.
  2. Replace the observer/no-action terminal stop with an explicit next-lane requirement.
  3. Require authors to record/rely on a concrete recheck trigger: watchdog heartbeat, next turn, or after completing the next short lane.
  4. Preserve the green-CI gate: actionable reviewer assignment and /pr-review A2A still wait until current-head CI is green.
  5. Add an anti-pattern row for waiting on long-running CI instead of parking a recheck and picking up the next lane.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
Pending-CI author routing This ticket + #11467 + post-review-pickup no-idle discipline Pending CI parks reviewer routing, posts no-action visibility, then requires next-lane pickup or a named external blocker If CI fails, author returns and fixes before review request ci-green-review-routing.md Text diff + skill-manifest lint
Review request timing Existing CI-green gate Reviewer assignment remains green-only CI-triage route remains available on failure same payload Grep confirms no early /pr-review request path
Lifecycle pickup #11455 / post-review-pickup PR-open with pending CI is not a halt-state by itself Legit halt only after backlog self-survey hits an existing formal halt criterion post-review-pickup-workflow.md if needed Text diff and no new substrate file

Decision Record Impact

Aligned with ADR 0007 / ADR 0008: this is an in-place workflow payload rewrite, not a new rule surface. Disposition: rewrite of existing CI-routing prose, with no new file.

Acceptance Criteria

  • AC1: ci-green-review-routing.md pending-CI branch no longer allows an observer/no-action stop solely because checks are still pending.
  • AC2: Pending CI explicitly tells authors to park a recheck obligation and pick up the next positive-ROI lane, review request, or backlog ticket.
  • AC3: Green-CI reviewer routing remains unchanged: exactly one primary reviewer via GitHub reviewer request plus one targeted A2A after current-head checks pass.
  • AC4: Failing-CI path remains unchanged: no formal review request; author fixes or routes CI-triage only if explicitly needed.
  • AC5: No new skill, no new audit file, no AGENTS.md expansion.
  • AC6: node ai/scripts/lint/lint-skill-manifest.mjs --base origin/dev passes.

Out of Scope

  • No changes to reviewer-side CI fail-fast rules.
  • No changes to GitHub Actions runtime.
  • No reviewer auto-assignment before green CI.
  • No broad rewrite of pull-request workflow.

Avoided Traps

  • Rejected: requesting review before CI is green. That wakes a reviewer into mandatory hold work.
  • Rejected: waiting synchronously for long CI. That burns agent focus while GitHub Actions owns the work.
  • Rejected: adding another lifecycle skill. The existing CI-routing payload owns this narrow branch.

Related

Origin Session ID: 967e325b-d90a-43f4-9e91-c212e9bda746

Handoff Retrieval Hints:

  • Query Memory Core for CI pending review routing observer no-action hold next lane integration-unified.
  • Exact payload: .agents/skills/pull-request/references/ci-green-review-routing.md.
tobiu referenced in commit 9c68581 - "docs(pull-request): require next-lane pickup during pending CI (#11895) (#11896) on May 24, 2026, 2:40 PM
tobiu closed this issue on May 24, 2026, 2:40 PM