Agents Builders

Seed 54 not idempotent

Archived
seed-54-not-idempotent

Created

Jun 24, 07:40

Started

Jun 25, 03:56

Completed

Jun 25, 05:32

DevOps handoff

Type

Bug

Shape

backend

Worktree Slug

seed-54-not-idempotent

Repositories

mcritchie-studio

Release Train

Branch

feat/seed-54-not-idempotent

QA URL

Production URL

seeds deploy

Acceptance Criteria

  • db/seeds/54 rerun must not raise on populated DB
  • Github login created via find_or_create_by idempotently
  • Full bin/rails db:seed reruns cleanly

Expected Test Plan

  • [unit] minitest asserts seed 54 re-load is idempotent (mixed-case login reuses normalized row)
  • [integration] scoped double-load of seed 54 on populated DB raises no RecordInvalid

Checks Run

  • [qa] Avi: regression test red-first reproduced (3 errors 'Github login has already been taken') then green with fix; full db:seed run twice on populated DB exit 0, counts stable (builders 61, repos 32, magmueller 1, no dup); CI green; siblings 52/53/55/56/57 idempotent
  • [post-deploy] bin/rails runner db/seeds/54_ai_builder_multiple_candidates.rb on mcritchie-studio-qa → ok (2026-06-25T05:19:42Z)
  • [post-deploy] bin/rails runner db/seeds/54_ai_builder_multiple_candidates.rb on mcritchie-studio → ok (2026-06-25T05:31:42Z)

Agent Context

Surfaced during rel-20260624-ea6dc1 QA deploy: merge-docs-reviewer-into-alex's post_deploy_cmd 'bin/rails db:seed' aborted at db/seeds/54_ai_builder_multiple_candidates.rb:232 — ActiveRecord::RecordInvalid 'Github login has already been taken' on rerun against a populated DB. db/seeds.rb loads ALL db/seeds/*.rb in order, so any non-idempotent file breaks the whole db:seed (and db:seed is unsafe as a prod post_deploy_cmd anyway — would inject demo News/Content/Tasks into prod). Fix 54 (and audit siblings) to find_or_create_by/find_or_initialize_by on the unique github_login so reseed is idempotent. Workaround applied for this release: narrowed merge-docs post_deploy_cmd to load only db/seeds/02_agents.rb.

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
    N Nidoran♀
    Nidoran♀
    Model
    Duration
    Tokens
    Cost
    Completed Jun 24, 07:40 · 3 days ago
    api
  2. Designed Building
    N Nidoran♀
    Nidoran♀
    Model
    claude-opus-4-8
    Duration
    about 20 hours
    Tokens
    Cost
    Started Jun 24, 07:40
    Completed Jun 25, 03:56 · 2 days ago
    cli
  3. Building Submitted
    N Nidoran♀
    Nidoran♀
    Model
    claude-opus-4-8
    Duration
    11 minutes
    Tokens
    Cost
    Started Jun 25, 03:56
    Completed Jun 25, 04:07 · 2 days ago
    cli
  4. Submitted Reviewed
    C Carl
    Carl primary
    J Jasper
    Jasper light
    Model
    claude-opus-4-8
    Duration
    12 minutes
    Tokens
    998,322
    Cost
    ~$1.52
    Started Jun 25, 04:07
    Completed Jun 25, 04:19 · 2 days ago
    cli
  5. Reviewed Assembled
    S Steffon
    Steffon
    Model
    Duration
    13 minutes
    Tokens
    Cost
    Started Jun 25, 04:19
    Completed Jun 25, 04:32 · 2 days ago
  6. Assembled Shipped
    A Avi
    Avi
    Model
    Duration
    about 1 hour
    Tokens
    Cost
    Started Jun 25, 04:32
    Completed Jun 25, 05:32 · 2 days ago
  7. Shipped Archived
    8
    81fad33e-98b5-4075-8ed6-d0efe6cb5804
    Model
    claude-opus-4-8
    Duration
    about 16 hours
    Tokens
    Cost
    Started Jun 25, 05:32
    Completed Jun 25, 21:16 · 1 day ago
    cli

Conversation

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

No task feedback has been recorded yet.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

Dev

Actual