How-tos
Pass or send back a human step
Who can: the step's owner, its backup, or any admin.
- Slack buttons: Passed, or Send back, after which your next message in that conversation becomes the notes.
- Thread replies in the delivery thread:
passed(alsolgtm,approved,looks good,ship it,done), orsend back: <what to change>(alsochanges: …,needs changes: …). - Portal: on the delivery card or the Waiting on you card, Release, or Send back → Send back with notes.
- On the code host: approving the PR (GitHub, GitLab or Bitbucket) passes a waiting human code review step, and requesting changes sends it back with the review text. For a Merge gate step, merging the PR(s) releases it. Every PR on the delivery must be merged; PRs closed without merging don't hold it, but at least one must merge.
When an engineer's step pauses for a person. A step done by an engineer can stop and wait for you: a Code review or QA that passed with concerns, a check that couldn't verify, a low-confidence question, an engineer whose session kept failing, or work that went quiet. It then appears in Waiting on you (for the step's owner and backup if it has them; otherwise for the person who started the delivery and every owner and admin), with the reason, and the same Passed and Send back buttons in Slack. That works for a sub-task too. Passing carries on, Send back returns it to the engineer with your notes, and resuming or calling it off closes the wait. A question (low confidence, or an engineer who kept failing) is answered rather than passed, since passing would skip work that never finished, so it has no Passed button, and passing it anyway (a stale page, the API, or passed / lgtm in the thread) is refused with "This step is waiting for an answer to its question — reply to it instead". Send back still works. If nobody acts, the starter and the admins are reminded once, then it is posted to the needs-help channel.
When the integration review pauses. If the integration review passed with concerns, couldn't finish (the reviewer's session failed, ended or went quiet without a verdict, or it couldn't start), or failed without naming a sub-task to send back (or failed again on the third round), the delivery waits in Waiting on you as "Integration review", with the summary, and its sub-tasks stay held at their merge step. Passed accepts the concerns (or passes the delivery without a review that couldn't finish) and opens every merge step. Send back returns every held sub-task to its engineer with your notes when the review had concerns, and runs a review that couldn't finish again.
Send back means rework. It follows the step's On failure → route. If a human step has no failure route (Block & stop), sending it back returns the delivery to the latest Implement step before it, with your notes, rather than stopping it. (If there's no Implement step before it, the delivery is blocked.)
Your notes aren't lost. What you say when you send a step back (and what a reviewer found, and what you say when you resume a blocked step) stays with that step until a run of it succeeds. If the engineer's session fails and the step is retried, restarted or resumed, the new run is given all of it again, not only the first one. When a session fails partway, the reason is on the stage and in the thread (for example "the session kept failing: <the error>"), not just that it failed.