Agents Builders

Release notes embed cards

Archived
release-notes-embed-cards

Created

Jun 25, 23:31

Started

Jun 25, 23:42

Completed

Jun 26, 01:50

DevOps handoff

Type

Feature

Shape

backend

Worktree Slug

release-notes-embed-cards

Repositories

mcritchie-studio

Release Train

Branch

feat/release-notes-embed-cards

Local URL

QA URL

Production URL

discord,release-notes

Acceptance Criteria

  • Each shipped task renders a Discord embed card
  • Card shows HD mascot, cost, app emojis, blocker
  • Clickable title links to the task URL
  • Summary embed leads with release tag, sha
  • Falls back to inline layout past nine cards

Expected Test Plan

  • unit

Checks Run

  • [unit] bin/rails test test/services/release_notes_formatter_test.rb test/services/release_notes/discord_client_test.rb test/models/task_test.rb green (embed assembly, mascot color+thumbnail, fallbacks, Task#total_cost, Discord body shape)
  • [integration] bin/rails test test/controllers/api/v1/release_notes_controller_test.rb test/models/release/conductor_test.rb green (embed payload built and handed to DiscordClient via the API + conductor)
  • [full-suite@55d4fac34eaa86dc96bc13c323db3e2a35587e33] bin/rails test green
  • [rubocop@55d4fac34eaa86dc96bc13c323db3e2a35587e33] bin/rubocop clean

Agent Context

Revamp the production release-notes Discord message (ReleaseNotes::Formatter + DiscordClient) from plain text into rich embeds, one per shipped task. Design locked via live QA-chatter iteration. Per-task embed: clickable title=feature name -> https://mcritchie.studio/tasks/<slug>; thumbnail = mascot HD artwork (Pokemon.avatar_url, 475px official-artwork, NOT sprite_url); embed color = Pokemon.signature_color (type tint); description = line2 '<app emoji(s)> · $<cost> · <blocker>' and line3 'shipped <completed_at %-l:%M %p>'. app emoji(s) from task.devops_repositories mapped through APP_GROUPS[].emoji (one per repo). cost = Task#total_cost (new) = task_events.sum(:cost), format $%.2f, empty/zero shows em-dash. blocker = task.blocked_at.present? -> ✅ clean / ❌ ever-blocked. Summary embed on top: 🚀 headline (release tag + short sha), production_url. Discord caps 10 embeds/message => max 9 task cards; for >9 tasks fall back to inline B1 layout (single embed, one field per repo, mascot name + type emoji per task). Width-lock via transparent 500x1 spacer (image slot) hosted on S3 (pokemon bucket) is OPTIONAL polish — only if we keep it; note it adds box height. DiscordClient must gain embed support (currently sends {content}). Keep delivery non-fatal (post-ship). Tests: unit for Formatter embed assembly (grouping, emoji, blocker glyph, cost format/empty, 9-card cap + fallback) and Task#total_cost; integration for controller/conductor embed payload.

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
    V Voltorb
    Voltorb
    Model
    Duration
    Tokens
    Cost
    Completed Jun 25, 23:31 · 1 day ago
    api
  2. Designed Building
    V Voltorb
    Voltorb
    Model
    claude-opus-4-8
    Duration
    11 minutes
    Tokens
    Cost
    Started Jun 25, 23:31
    Completed Jun 25, 23:42 · 1 day ago
    cli
  3. Building Submitted
    V Voltorb
    Voltorb
    Model
    claude-opus-4-8
    Duration
    21 minutes
    Tokens
    Cost
    Started Jun 25, 23:42
    Completed Jun 26, 00:03 · 1 day ago
    cli
  4. Submitted Reviewed
    J Jasper
    Jasper primary
    S Shannon
    Shannon light
    Model
    claude-opus-4-8
    Duration
    about 2 hours
    Tokens
    Cost
    Started Jun 26, 00:03
    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