Agents Builders

Refresh Pokemon avatar images

Archived
refresh-pokemon-avatar-images

Created

Jun 25, 23:42

Started

Jun 25, 23:44

Completed

Jun 26, 01:50

DevOps handoff

Type

Feature

Shape

backend

Worktree Slug

refresh-pokemon-avatar-images

Repositories

mcritchie-studio

Release Train

Branch

feat/refresh-pokemon-avatar-images

Local URL

QA URL

Production URL

s3,assets,migration

Acceptance Criteria

  • Pokemon model holds primary and backup avatar
  • Avatars re-cropped to trim transparent padding
  • Cropped images uploaded to the S3 bucket
  • Seed updated with the new image URLs
  • avatar_url resolves to cropped, fallback to original

Expected Test Plan

  • unit

Checks Run

  • [unit] Pokemon model: avatar_fallback_url column + display_avatar fallback chain
  • [unit] seed shape: all 151 carry cropped avatar_url + uncropped avatar_fallback_url
  • [unit] dor_check SUITE_CONTRACT declares post_deploy_cmd (suite-gate isolation)
  • [integration] pokemon_controller grid renders display_avatar with fallback onerror
  • [full-suite@0cd70872b15ecf1e780a94f28fd25aa4b2c7b3af] bin/rails test green
  • [rubocop@0cd70872b15ecf1e780a94f28fd25aa4b2c7b3af] bin/rubocop clean
  • [post-deploy] bin/rails pokemon:seed on mcritchie-studio-qa → ok (2026-06-26T01:43:44Z)
  • [post-deploy] bin/rails pokemon:seed on mcritchie-studio → ok (2026-06-26T01:50:21Z)

Agent Context

Side task to the release-notes-embed-cards template. The 151 PokeAPI official-artwork avatars (Pokemon#avatar_url, 475px, mirrored to s3://mcritchie-studio-production/pokemon/<dex>-<slug>.png by lib/tasks/pokemon.rake task :upload_images) have large transparent margins, so they render small inside the Discord embed thumbnail. Goal: (1) add a SECOND image column so each Pokemon has primary + backup (e.g. avatar_url = cropped primary, new avatar_fallback_url = original uncropped) — migration + model. (2) crop each avatar to its non-transparent bounding box (trim padding) — extend pokemon.rake with a crop+upload step; cache crops locally, upload to NEW S3 keys (e.g. pokemon/<dex>-<slug>-cropped.png) WITHOUT overwriting originals (originals stay as the backup). (3) update db/seeds/data/pokemon.json + seeds so future sessions get the new URLs. (4) audit every reader of avatar_url (grep avatar_url across app/ + the release-notes Formatter once it lands) and keep them working. Keep originals intact as backup. Use AWS creds from 1Password (agent.aws). Image tooling: sips (macOS) or ImageMagick/MiniMagick for the bbox trim.

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.

Sizing Avi · PO Dev Actual MEDIUM
  1. Created Designed
    V Voltorb
    Voltorb
    Model
    Duration
    Tokens
    Cost
    Completed Jun 25, 23:42 · 1 day ago
    api
  2. Designed Building
    V Voltorb
    Voltorb
    Model
    claude-opus-4-8
    Duration
    2 minutes
    Tokens
    Cost
    Started Jun 25, 23:42
    Completed Jun 25, 23:44 · 1 day ago
    cli
  3. Building Submitted
    V Voltorb
    Voltorb
    Model
    claude-opus-4-8
    Duration
    27 minutes
    Tokens
    2,440,117
    Cost
    ~$2.20
    Started Jun 25, 23:44
    Completed Jun 26, 00:12 · 1 day ago
    cli
  4. Submitted Reviewed
    J Jasper
    Jasper primary
    S Shannon
    Shannon light
    Model
    claude-opus-4-8
    Duration
    about 1 hour
    Tokens
    Cost
    Started Jun 26, 00:12
    Completed Jun 26, 01:38 · 1 day ago
    cli
  5. Reviewed Assembled
    S Steffon
    Steffon
    Model
    Duration
    1 minute
    Tokens
    Cost
    Started Jun 26, 01:38
    Completed Jun 26, 01:40 · 1 day ago
  6. Assembled Shipped
    A Avi
    Avi
    Model
    Duration
    10 minutes
    Tokens
    Cost
    Started Jun 26, 01:40
    Completed Jun 26, 01:50 · 1 day ago
  7. Shipped Archived
    Model
    Duration
    about 1 hour
    Tokens
    Cost
    Started Jun 26, 01:50
    Completed Jun 26, 03:17 · 1 day ago

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

MEDIUM