Agents Builders

DevOps SOP

accountability swimlanes

The cycle as accountability lanes — one row per owner, steps flowing left → right. Node colors mark the kind of step; amber ◇ pulses are live intent markers (who's on it right now). Click any step to expand its Owner, Expectation, and Gate. A flags where this picture differs from the implemented model.

Owner = the agent accountable for the whole lane: checks in at the start (intent event), runs the tests and steps in the middle, and updates the status at the end.

Stage Test Suite 👁Review Merge Deployment Pulse Stage Update
B
Builder Build
◇ Pulse Builder on it
Owner
Builder (the per-task agent; its Pokemon mascot IS the build intent)
Expectation
Live intent: the task's Pokemon mascot — the build is claimed and in flight.
Gate
▦ Stage Building
Owner
Builder (the per-task agent; its Pokemon mascot IS the build intent)
Expectation
Build to the accepted criteria; write the shape's test tiers as you go (unit-first; a bug gets its red regression test first).
Gate
self-paced
⌗ Test Suite PR Review
Owner
Builder (the per-task agent; its Pokemon mascot IS the build intent)
Expectation
Certify the FULL suite + FULL rubocop green at the exact tree (fingerprint-bound).
Gate
bin/full-suite-check then bin/dor-check
● Stage Update Submitted
Owner
Builder (the per-task agent; its Pokemon mascot IS the build intent)
Expectation
Open the PR (base release) led by the task URL; record checks_run; move to submitted.
Gate
self-gate, then hands off to review
P
Primary Reviewer Review
◇ Pulse Reviewers on it
Owner
Primary Reviewer (the PRIMARY reviewer owns the whole lane: the deep-pass senior picked per task (most domain depth, usually the longest step) who spawns the LIGHT reviewer as its own sub-agent for a focused second pass, then on two approvals drives the task to Reviewed — review-only; the merge belongs to Steffon's sweep. Avi is a thin delegation pre-step: he confirms product-acceptance and picks the pair, then hands the lane to the primary.)
Expectation
Live intent: reviewer-select records the primary + light pair the moment Avi kicks off review.
Gate
⌗ Test Suite PR Review
Owner
Primary Reviewer (the PRIMARY reviewer owns the whole lane: the deep-pass senior picked per task (most domain depth, usually the longest step) who spawns the LIGHT reviewer as its own sub-agent for a focused second pass, then on two approvals drives the task to Reviewed — review-only; the merge belongs to Steffon's sweep. Avi is a thin delegation pre-step: he confirms product-acceptance and picks the pair, then hands the lane to the primary.)
Expectation
Confirm the shape's base tiers (unit/component) are green for the change.
Gate
base tiers green
👁 Review Visual
Owner
Primary Reviewer (the PRIMARY reviewer owns the whole lane: the deep-pass senior picked per task (most domain depth, usually the longest step) who spawns the LIGHT reviewer as its own sub-agent for a focused second pass, then on two approvals drives the task to Reviewed — review-only; the merge belongs to Steffon's sweep. Avi is a thin delegation pre-step: he confirms product-acceptance and picks the pair, then hands the lane to the primary.)
Expectation
The PRIMARY runs the deep pass (diff-vs-acceptance, code standards, smell, scalability) and spawns the LIGHT reviewer as its own sub-agent for a focused pass.
Gate
2 approvals (primary + light), else block with qa_feedback
● Stage Update Reviewed
Owner
Primary Reviewer (the PRIMARY reviewer owns the whole lane: the deep-pass senior picked per task (most domain depth, usually the longest step) who spawns the LIGHT reviewer as its own sub-agent for a focused second pass, then on two approvals drives the task to Reviewed — review-only; the merge belongs to Steffon's sweep. Avi is a thin delegation pre-step: he confirms product-acceptance and picks the pair, then hands the lane to the primary.)
Expectation
The PRIMARY reviewer drives the status to Reviewed and stops — review-only; Steffon's self-healing sweep owns the merge.
Gate
2 approvals (primary + light)
S
Steffon Assemble
◇ Pulse Steffon on it
Owner
Steffon (Platform Engineer. Owns the whole middle from Reviewed: the self-healing sweep merges the reviewed queue (+ assembled stragglers) onto release, gates it, deploys QA, and flips members to Assembled on QA-green. This lane IS the execution of 'assembling' — idempotent, crash-recoverable via the merged column.)
Expectation
Live intent: bin/release prepare records Steffon's QA intent over every release member.
Gate
⇄ Merge Release Branch
Owner
Steffon (Platform Engineer. Owns the whole middle from Reviewed: the self-healing sweep merges the reviewed queue (+ assembled stragglers) onto release, gates it, deploys QA, and flips members to Assembled on QA-green. This lane IS the execution of 'assembling' — idempotent, crash-recoverable via the merged column.)
Expectation
The self-healing sweep (bin/release prepare, looping the bin/release merge primitive) lands every reviewed task's PR in the persistent release branch and stamps merged: release — stages don't move: Reviewed members flip to Assembled at QA-green, assembled stragglers keep their stage. A task already merged: release/main skips the gh merge (crash recovery).
Gate
review gate (only reviewed/assembled sweep); a conflict surfaces here — block-and-move, the rest ride
⌗ Test Suite Pre-QA Gate
Owner
Steffon (Platform Engineer. Owns the whole middle from Reviewed: the self-healing sweep merges the reviewed queue (+ assembled stragglers) onto release, gates it, deploys QA, and flips members to Assembled on QA-green. This lane IS the execution of 'assembling' — idempotent, crash-recoverable via the merged column.)
Expectation
Pre-QA gate: run the next tier (integration + an e2e-smoke, registry qa_test_cmd) on origin/release BEFORE deploying.
Gate
regression ejects the offender (bin/release eject) — the rest of the RC rides the re-run
⇄ Merge Main Branch
Owner
Steffon (Platform Engineer. Owns the whole middle from Reviewed: the self-healing sweep merges the reviewed queue (+ assembled stragglers) onto release, gates it, deploys QA, and flips members to Assembled on QA-green. This lane IS the execution of 'assembling' — idempotent, crash-recoverable via the merged column.)
Expectation
Merge-forward guard: if main moved ahead, merge main into release so release always keeps main as an ancestor (stays shippable). Main itself does NOT move here — it advances only at ship, when release fast-forwards into main.
Gate
release stays ahead of main
⊳ Deployment QA
Owner
Steffon (Platform Engineer. Owns the whole middle from Reviewed: the self-healing sweep merges the reviewed queue (+ assembled stragglers) onto release, gates it, deploys QA, and flips members to Assembled on QA-green. This lane IS the execution of 'assembling' — idempotent, crash-recoverable via the merged column.)
Expectation
bin/release prepare: deploy origin/release to the QA app, then poll /up.
Gate
wait_for_boot returns 200
⌗ Test Suite QA Acceptance
Owner
Steffon (Platform Engineer. Owns the whole middle from Reviewed: the self-healing sweep merges the reviewed queue (+ assembled stragglers) onto release, gates it, deploys QA, and flips members to Assembled on QA-green. This lane IS the execution of 'assembling' — idempotent, crash-recoverable via the merged column.)
Expectation
The QA tier (integration + e2e-smoke) is green on the deployed candidate.
Gate
deterministic suite
● Stage Update Assembled
Owner
Steffon (Platform Engineer. Owns the whole middle from Reviewed: the self-healing sweep merges the reviewed queue (+ assembled stragglers) onto release, gates it, deploys QA, and flips members to Assembled on QA-green. This lane IS the execution of 'assembling' — idempotent, crash-recoverable via the merged column.)
Expectation
QA-green flips the swept members Reviewed → Assembled (merged stays release) and the RC to Assembled; a QA failure flips nothing — the next run self-heals.
Gate
QA booted and suite green
A
Avi Ship
◇ Pulse Avi on it
Owner
Avi (Owns the ship: runs the full e2e on the frozen ship SHA, then either stops for the QA workflow's operator gate or continues under the autonomous production kickoff.)
Expectation
Live intent: bin/release ship records Avi's ship intent over every release member.
Gate
⌗ Test Suite QA Acceptance
Owner
Avi (Owns the ship: runs the full e2e on the frozen ship SHA, then either stops for the QA workflow's operator gate or continues under the autonomous production kickoff.)
Expectation
Avi runs the full e2e + highest tier on the FROZEN ship SHA (the exact prod commit).
Gate
avi_ship_gate aborts on any failure
👁 Review Visual
Owner
Avi (Owns the ship: runs the full e2e on the frozen ship SHA, then either stops for the QA workflow's operator gate or continues under the autonomous production kickoff.)
Expectation
Avi re-confirms the acceptance criteria on the frozen SHA (checked twice by design).
Gate
⊳ Deployment Prod
Owner
Avi (Owns the ship: runs the full e2e on the frozen ship SHA, then either stops for the QA workflow's operator gate or continues under the autonomous production kickoff.)
Expectation
Fast-forward release to main per repo (stamping members merged: main as each ff lands), deploy, smoke /up, run post_deploy_cmd.
Gate
qa-release stops here at QA; production-deploy (or the Alex full-cycle) grants ship authority after Avi's tests
● Stage Update Shipped
Owner
Avi (Owns the ship: runs the full e2e on the frozen ship SHA, then either stops for the QA workflow's operator gate or continues under the autonomous production kickoff.)
Expectation
Members flip to Shipped; release notes auto-post.
Gate
production /up 200
⌗ Test Suite Smoke Test
Owner
Avi (Owns the ship: runs the full e2e on the frozen ship SHA, then either stops for the QA workflow's operator gate or continues under the autonomous production kickoff.)
Expectation
production-smoke-seal kicks the tires on prod (read-only @qa-readonly) and stamps a seal.
Gate
seal alert (non-blocking)
Ref
PR

Click any step for its Owner · Expectation · Gate. The ⚠ points are where this model and the implemented code still diverge — the diagram is where we reconcile them.