Agents Builders

Dor-check post-deploy gate

Archived steffon
dor-check-post-deploy-gate

Created

Jun 24, 17:56

Started

Jun 24, 17:57

Completed

Jun 24, 18:59

DevOps handoff

Type

Feature

Shape

backend

Worktree Slug

dor-check-post-deploy-gate

Repositories

mcritchie-studio

Release Train

Branch

feat/dor-check-post-deploy-gate

Local URL

QA URL

Production URL

devops deploy-safety

Acceptance Criteria

  • dor-check rejects bare db:seed as post_deploy_cmd
  • dor-check requires narrow idempotent post-deploy command
  • Failure message explains the prod-safety rationale
  • Docs state the post_deploy_cmd safety rule

Expected Test Plan

  • unit
  • integration

Checks Run

  • [review] Carl (heavy/backend) APPROVE + Jasper (light) APPROVE — dor_check_test 52 runs/370 assertions 0 fail; reject matcher probed 13 dangerous+8 safe, no bypass/false-positive; docs synced + stale example fixed

Agent Context

Session retro improvement #1 — a near-miss prod incident. merge-docs-reviewer-into-alex shipped with post_deploy_cmd='bin/rails db:seed', which would have seeded demo News/Content/Tasks into PRODUCTION and also aborted on a non-idempotent seed (db/seeds/54). Not caught because reviewers read the code diff, not the deploy metadata; surfaced only when QA aborted. Add a bin/dor-check gate that REJECTS a post_deploy_cmd matching a bare full-suite seed (bin/rails db:seed / rails db:seed / db:seed:replant — db/seeds.rb loads ALL db/seeds/*.rb incl demo data + any non-idempotent file) and REQUIRES a narrow command — a scoped runner like rails runner 'load Rails.root.join("db/seeds/NN_x.rb").to_s' or a dedicated rake task. The failure message must explain WHY (prod demo-data + non-idempotent abort risk) and show the narrow pattern. Gate only when devops.post_deploy_cmd is present. See memory feedback_post_deploy_cmd_for_seeds. DOCS: devops-cycle-design.md + the devops-task-board module; also note in AGENTS.md/parallel-agent-devops that reviewers must review post_deploy_cmd, not just the diff.

Stage Timeline

Who handled each stage, the time it took (measured), and the model / tokens / cost reported (best-effort) — plus who's on it right now. means the agent didn't report that metric.

  1. Created Designed
    D Drowzee
    Drowzee
    Model
    Duration
    Tokens
    Cost
    Completed Jun 24, 17:56 · 3 days ago
    api
  2. Designed Building
    D Drowzee
    Drowzee
    Model
    claude-opus-4-8
    Duration
    under a minute
    Tokens
    Cost
    Started Jun 24, 17:56
    Completed Jun 24, 17:57 · 3 days ago
    cli
  3. Building Submitted
    D Drowzee
    Drowzee
    Model
    claude-opus-4-8
    Duration
    14 minutes
    Tokens
    Cost
    Started Jun 24, 17:57
    Completed Jun 24, 18:11 · 3 days ago
    cli
  4. Submitted Reviewed
    C Carl
    Carl primary
    A Alex
    Alex light
    Model
    claude-opus-4-8
    Duration
    19 minutes
    Tokens
    Cost
    Started Jun 24, 18:11
    Completed Jun 24, 18:29 · 3 days ago
    cli
  5. Reviewed Assembled
    S Steffon
    Steffon
    Model
    Duration
    3 minutes
    Tokens
    Cost
    Started Jun 24, 18:29
    Completed Jun 24, 18:32 · 3 days ago
  6. Assembled Shipped
    A Avi
    Avi
    Model
    Duration
    27 minutes
    Tokens
    Cost
    Started Jun 24, 18:32
    Completed Jun 24, 18:59 · 3 days ago
  7. Shipped Archived
    8
    81fad33e-98b5-4075-8ed6-d0efe6cb5804
    Model
    claude-opus-4-8
    Duration
    1 day
    Tokens
    Cost
    Started Jun 24, 18:59
    Completed Jun 25, 21:16 · 1 day ago
    cli

Conversation

QA review feedback, agent handoffs, and follow-up notes for this task.

Comment avi 3 days ago

Post-merge review sign-off (cascade finished after the parallel conductor had already merged this onto rel-20260624-6f6638): carl[heavy] APPROVE (full regex probe — BARE_SEED_TASK has no hole; lookbehind/lookahead kill mydb:seed/db:seed_fund), shannon[light] APPROVE. Non-blocking follow-ups: (1) exempt-kind + zero-diff task hits exit 0 before the gate — move the post_deploy check ABOVE the exempt early-exit to close it; (2) db:setup/db:reset/db:prepare also seed but are out of this task's scope.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

Dev

Actual