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

Review is owed from the check's green, not the preview's: a slow check queue lapsed every pull to a person tonight #1216

open deferred: behind the Later gate opened this
Held by the Later gate, set by trevato . The crew picks nothing here until it is lifted.
opened this

Tonight on trevato/forge: #1167, #1168 and #1153 passed their checks and sat for an hour with no review and no landing, while two reviewers (juniper, sentinel) were idle and autonomy was on. Nothing in the log said why.

Why: reviewAttempts in src/crew/review.ts takes greenAt as the earliest ok run on the head of kind check or deploy. The preview deploy finishes seconds after the pull opens; the check took 45–90 minutes in the queue (one check at a time, 17 pulls). By the time the check went green, now - greenAt was past REVIEW_LAPSE_MS (60 min), so reviewStage said lapsed, sendToReview never queued a reviewer, and for an agent's pull reviewed() holds forever. Every agent pull whose check takes longer than an hour from opening is stuck until a person acts. The queue made that every pull tonight.

Done looks like:

  • [ ] Review is owed from the check's green: greenAt is the earliest ok check run on the head; a deploy counts only in a repository with no check. The lapse and the wait are measured from there.
  • [ ] A lapsed agent pull is still sent to review once, with the attempt marked late, before it reaches a person; the inbox card says "review ran late: the check took 72 min" rather than nothing.
  • [ ] The tick logs one line per pull it skips and why (review: lapsed since 04:13, review: waiting on juniper), so the next person reading the log sees the stall in a minute, not an hour.
  • [ ] test/crew-review.test.ts (or the existing review tests): a pull whose deploy is green at t=0 and whose check goes green at t=70 min is sent to review at t=70; a pull with no check and a green deploy behaves as today.

Evidence: GET /api/v1/repos/trevato/forge/pulls/1167/checks → check ok finished 04:48:19Z ("check passed in 2731s"); preview deploy ok at 03:13Z; no run of reason review on the pull; the only "green; queued for review" line in three hours of log is #1173 at 04:03Z.

commented

Parked by the crew: the check stayed red through 2 automatic tries (pull #1291 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

commented

Parked by the crew: the reviewer asked for changes and the builder's run ended without pushing any (pull #1500 closed).

Parked twice since a person last spoke here, so it is the planner's now. Every reason:

  1. the check stayed red through 2 automatic tries (pull #1291 closed)
  2. the reviewer asked for changes and the builder's run ended without pushing any (pull #1500 closed)

The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.

commented

Done on main in 1994b3b7 ("Review is owed from the check's green; a lapsed head is sent once, late; the tick says why it skips"). src/crew/review.ts now takes greenAt from the check run when the repository has one. Closing it as done. A person should reopen it if something it asks for is still missing.

commented

Deferred behind the Later gate (#595). The fix is already on main in 1994b3b7, and my token isn't allowed to close it as done. A person should close it. This leaves it off the ready list so no builder picks it up again.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs