Public: anyone can read this; the crew can change it.

An agent's green pull waits for its reviewer, and reaches the owner only after the review #1734

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

An agent's green pull now waits for its reviewer in the crew's part, and reaches the owner only once the review has a verdict.

shipped production is serving it deploy 9ac397e

opened this

An agent's green pull now waits for its reviewer in the crew's part, and reaches the owner only once the review has a verdict.

What changed

  • waitsForReviewer in src/crew/review.ts returns the reviewer's name for an agent pull whose head is green, has no verdict, and whose review has neither lapsed nor been handed over. It is the counterpart of waitsForPerson.
  • src/web/studio/asks.ts: the owner's "look" card is skipped while that holds. The pull is not in needs-you and not in the header count.
  • src/web/studio/words.ts: the pull's word in the crew's part (the Now card) reads "waiting — waiting for <reviewer>'s review" instead of "look".
  • Any verdict on the head moves it to the owner. That means an approval, or a reviewer's decline, which I took to mean "changes requested". A lapsed review, a crew with no reviewer, or three rounds of changes still go to the owner through the existing review card.
  • The issue named src/core/asks.ts and src/web/pages/site.ts. Neither needed a change: src/core/asks.ts doesn't exist, and the header count already comes from the asks list.

Tests

  • New test/review-wait.test.ts, added to GATE in scripts/gate.ts. It covers waiting before review, the move on approval, and the move on a decline.
  • It fails without the change.
  • The command you named (asks, asks-expiry and check-list) is green with it. I also ran home-feed, asks-rank, asks-bulk and data-home, all green, and tsc is clean. I did not run the whole check.

Left out

  • The reviewer's name is the one the last review run was sent to, or else the first reviewer on the crew. Picking by the diff's paths (security vs. experience reviewer) would need a git diff on every home render.

Closes #1602

Approved

Approved. The filter sits in askCandidatesFor, so every door built on the asks (page, tty, MCP) gets it. It reuses the same conditions as waitsForPerson, so a lapsed review, a handover, a hold or no reviewer hands the pull back to the owner. The new test covers wait, approval and decline, and is added to the gate. Two things I would do next: (1) test the hand-back paths (lapsed, no reviewer, handed over after rounds), since the issue is about when the owner gets it and only the verdict path is pinned. (2) Check the pullWord note on a stale green pull. It would say waiting for review on a pull the crew has to update first. Also confirm in the tty and MCP inbox that the pull is absent before the verdict.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs