LearnNewsExamplesServices
Frontmatter
id10970
titleCodify post-review immediate next-phase pickup discipline
stateClosed
labels
enhancementaiarchitecturemodel-experience
assigneesneo-gpt
createdAtMay 8, 2026, 6:07 PM
updatedAtMay 12, 2026, 4:09 AM
githubUrlhttps://github.com/neomjs/neo/issues/10970
authorneo-opus-4-7
commentsCount1
parentIssue10960
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMay 8, 2026, 11:22 PM

Codify post-review immediate next-phase pickup discipline

Closedenhancementaiarchitecturemodel-experience
neo-opus-4-7
neo-opus-4-7 commented on May 8, 2026, 6:07 PM

Context

Filed 2026-05-08 per @tobiu's directive captured in-session:

"to keep momentum: after a review, we should jump into the next lifecycle phase, and not wait for messages. this could get codified. e.g. for you now => BaseServer consumers. otherwise our team will idle a lot. might be worth a turn friction into gold ticket."

Empirical anchor (this session): After my Cycle 2 Approve on #10967 + my Approved+Follow-Up on #10968, I went idle awaiting messages instead of immediately picking up the next implementation lane (PR2 BaseServer-consumer migration starting with knowledge-base/Server.mjs). The swarm's velocity dropped between handoffs because no rule codified "post-review → immediate-next-phase pickup."

The Problem

The current pr-review and pull-request skills implicitly leave a gap at the post-review-cycle boundary:

  • pull-request skill §6 Definition of Done: "An agent MUST NOT autonomously run the pr-review skill against its own PR in headless mode." Halts author after PR-open. ✓ Correct for own PR.
  • pr-review skill §9.4 (cold-cache exception) + handoff protocol: Reviewer posts review, A2A's author with commentId. ✓ Correct for handoff.
  • Implicit gap: After the reviewer posts review (Approve / Approve+Follow-Up / Request Changes / Drop+Supersede), the reviewer's next-action is not codified. Halt-for-author-response is the implicit default, but it leaves the reviewer idle when they have OTHER lanes ready to enter.

The swarm operates in parallel lanes (per pull-request §6.2 single-peer-ping). When a reviewer halts after their review, they idle even though their other lanes (other authored PRs in flight, follow-up tickets to file, next-PR to draft) remain ready.

The current memory entries feedback_peer_not_assistant_mode ("do the next obvious thing") and feedback_peer_progress_signals_during_impl (lead-role progress signals during impl) are adjacent but don't codify post-review-cycle pickup specifically.

The Architectural Reality

Surfaces affected:

  • .agents/skills/pr-review/SKILL.md + .agents/skills/pr-review/references/pr-review-guide.md — the natural home for reviewer-side post-cycle discipline
  • .agents/skills/pull-request/references/pull-request-workflow.md §6 — Definition of Done for author + reviewer roles
  • Possibly: AGENTS.md §21 workflow-skills triggers — adding "post-review-pickup" as a meta-trigger that fires after pr-review completes
  • Memory anchor: harness-side feedback_peer_not_assistant_mode.md already exists; needs an explicit instance for post-review-cycle

Pattern to codify (3 reviewer-states):

  1. Reviewer posts Approve / Approve+Follow-Up:

    • PR is in handoff-to-human-merge state per §0 Invariant 1
    • Reviewer's next phase: pick up the next implementation lane (e.g., next PR in their own author queue, follow-up tickets to file, next-substrate work)
    • Empirical example: my Approve on #10966 should have triggered immediate PR2 (knowledge-base migration) work
  2. Reviewer posts Request Changes:

    • Author cycle re-engages on the PR
    • Reviewer's next phase: pick up a DIFFERENT lane (not blocked on author's Cycle 2 — author handles that asynchronously)
    • Reviewer should NOT wait for author's response before starting unrelated work
  3. Reviewer posts Drop+Supersede:

    • PR closes; superseding ticket/PR enters scope
    • Reviewer's next phase: if they author the supersede, they enter the new author cycle; if they're just reviewer, pick up next lane

Symmetry on author side (already partially codified):

  • Author posts review-response with fixup commits → immediately drafts next subsequent PR or ticket from their queue, doesn't wait for reviewer Cycle 2
  • This direction is already implicit in feedback_peer_not_assistant_mode but explicit codification reinforces it

The Fix

Two-part codification:

  1. Add §6.3 to pull-request-workflow.md: "Post-Review-Cycle Author Pickup" — explicit rule that authors entering review-response (fixup-commit cycle) should immediately also queue their NEXT author work (next PR draft, next ticket file) rather than halting.

  2. Add §11 to pr-review-guide.md: "Post-Review-Cycle Reviewer Pickup" — explicit rule that reviewers after posting review state should immediately enter their next implementation/author/review lane based on the 3-state matrix above. Each state has an explicit "what's next" pickup-target enumeration.

  3. Optional: AGENTS.md §21 trigger entry: Add post-review-pickup as an implicit-trigger meta-skill that fires after pr-review completes.

The codification should be directive, not advisoryMUST language so agents treat it as a per-turn discipline, not a soft suggestion.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
pr-review-guide.md §11 (new) This ticket; #10960 v13-velocity Reviewer post-review-cycle MUST immediately enter next lane per 3-state matrix If no next lane is identifiable, agent reports halt-state with rationale (not silent halt) This ticket §The Fix Empirical: post-review turn shows immediate next-phase tool-call sequence
pull-request-workflow.md §6.3 (new) This ticket; mirrors symmetry from author side Author posting review-response MUST also immediately queue next author work If author's queue is empty, halt is acceptable This ticket §The Fix Empirical: post-fixup turn shows next-PR or next-ticket activity
feedback_peer_not_assistant_mode (existing memory) Pre-existing Updated to cite this ticket as instance-codification N/A N/A Memory file references this ticket post-merge

Acceptance Criteria

  • AC1: pr-review-guide.md §11 (or equivalent named section) added with the 3-state reviewer-pickup matrix (Approve / Request Changes / Drop+Supersede), each state explicitly enumerating "next pickup target" examples.
  • AC2: pull-request-workflow.md §6.3 (or equivalent) added codifying the symmetric author-side rule (post-fixup-commit → queue next author work, don't halt).
  • AC3: Both rules use MUST directive language, not SHOULD advisory, per skill-discipline convention.
  • AC4: Both rules cross-reference each other + cite feedback_peer_not_assistant_mode lineage.
  • AC5: Both rules acknowledge legitimate halt-states explicitly (e.g., "halt is acceptable when next lane is genuinely empty AND operator has not delegated lead-role coordination").
  • AC6 (optional): AGENTS.md §21 workflow-skills table gets post-review-pickup row OR equivalent atlas-pointer, so agents see it in routine context-load.
  • AC7: feedback_peer_not_assistant_mode (or successor memory anchor) updated to cite this ticket as the instance-codification.

Out of Scope

  • Sandman / Golden Path / DreamService offline prioritization — that's the long-horizon trajectory work; this ticket is in-session immediate-pickup discipline.
  • Architectural-Pillar Exception (dual review) — when both peers are independent-reviewers, the post-review-cycle pickup is per-peer; no special rule needed beyond the 3-state matrix applied to each.
  • Cross-Reviewer Divergence Routing (pull-request §6.2.6) — divergence-escalation already handles its own halt-for-human path; this ticket doesn't override.
  • Skill execution semantics — codifying the rule in skills/ is in scope; building runtime enforcement (e.g., signal_state_transition chaining) is out of scope.

Avoided Traps / Gold Standards Rejected

  • Rejected: rely on feedback_peer_not_assistant_mode alone. That memory is harness-private (Claude Code feedback file); doesn't propagate to Gemini / GPT swarm. Public skill codification reaches the whole swarm.
  • Rejected: build runtime enforcement (e.g., agents that detect "post-review-cycle" automatically chain into next-phase via signal_state_transition). Mechanical enforcement is brittle vs discipline-based; codifying in skill payload + Map+Atlas split per feedback_skill_adherence_asymmetry is the right level.
  • Rejected: file separately for each role (author + reviewer). The pattern is symmetric; one ticket covers both halves of the lifecycle-phase boundary.
  • Rejected: defer to post-v13 cleanup. The empirical anchor (this session) is current; codifying now affects current-week M1-M3 substrate velocity, which IS the v13 critical path.

Related

  • Parent epic: #10960 — v13 release tracking (canonical M-milestone tracking; this ticket is M1-velocity-affecting)
  • Adjacent tickets / informational:
    • #10965 — M2 BaseServer (the per-server migration sequence triggered the empirical-anchor moment)
    • #10956 — M3 daemon (similar per-PR-sequence)
  • Skill files:
    • .agents/skills/pr-review/SKILL.md + .agents/skills/pr-review/references/pr-review-guide.md
    • .agents/skills/pull-request/references/pull-request-workflow.md
  • Memory anchor lineage: feedback_peer_not_assistant_mode, feedback_peer_progress_signals_during_impl, feedback_pr_review_iteration_calibration — adjacent codifications

Origin Session ID: 005b6edf-85d8-4980-9e17-486b6b8bed3f

Retrieval Hint: query_raw_memories(query="post-review immediate next-phase pickup swarm idle codify reviewer author lifecycle handoff momentum")

tobiu referenced in commit a109e55 - "feat(agentos): codify post-review pickup discipline (#10970) (#10992) on May 8, 2026, 11:22 PM
tobiu closed this issue on May 8, 2026, 11:22 PM