Agents Builders

Choose deployments cable backend

Archived
choose-deployments-cable-backend

Created

Jun 24, 20:22

Completed

Jun 24, 22:58

DevOps handoff

Type

Feature

Shape

backend

Worktree Slug

choose-deployments-cable-backend

Repositories

mcritchie-studio

Release Train

Branch

feat/choose-deployments-cable-backend

Pull Request

Local URL

QA URL

Production URL

realtime infra

Acceptance Criteria

  • Pick cross-process cable backend for live board
  • Live updates fan out from CLI-driven moves
  • No unbacked redis adapter reaches prod

Expected Test Plan

  • unit
  • integration

Checks Run

No completed checks recorded.

Agent Context

Live /deployments board (DeploymentsBroadcaster over ActionCable) needs a cross-process pub/sub backend on prod. FACTS: mcritchie-studio prod = single web dyno + worker, NO Redis (no addon, no REDIS_URL); cable.yml production is adapter:redis (Rails scaffold) which falls back to redis://localhost:6379/1 and fails. Tasks are moved by CLI/release automation on ONE-OFF dynos, so async adapter is INSUFFICIENT (in-process only — automation-driven moves never reach browsers; only web-UI drag moves would). The prod-breaking unrescued Gem::LoadError is ALREADY FIXED by 0cbcb14 (broadcaster swallows ScriptError; prod v114), so 500s are gone and broadcasts fail-safe — board works with manual reload. OPTIONS: (A) solid_cable — Postgres-backed cross-process pubsub, no new paid addon, Rails-native, fits 'no env sprawl' (RECOMMENDED); add gem+migration, set cable.yml adapter:solid_cable. (B) provision Heroku Redis on prod+QA (+REDIS_URL) and re-add gem redis (was reverted in #177) — smallest code, ~$3-15/mo paid dep used only by cable. (C) leave disabled. Note: QA app (mcritchie-studio-qa) also has no Redis addon. Prior redis-gem attempt: PR #175 (reverted by #177); archived task fix-prod-board-broadcast.

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
    E Ekans
    Ekans
    Model
    Duration
    Tokens
    Cost
    Completed Jun 24, 20:22 · 3 days ago
    api
  2. Designed Shipped
    3
    317190da-2cf6-42fc-9204-eb1706b0e78c
    Model
    claude-opus-4-8
    Duration
    about 3 hours
    Tokens
    Cost
    Started Jun 24, 20:22
    Completed Jun 24, 22:58 · 2 days ago
    cli
  3. Shipped Archived
    3
    32d8f658-898a-458d-b9a4-708cfdc6b6fa
    Model
    claude-opus-4-8
    Duration
    about 7 hours
    Tokens
    Cost
    Started Jun 24, 22:58
    Completed Jun 25, 06:02 · 2 days ago
    cli

Conversation

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

Comment 2 days ago

RESOLVED: Redis path (operator's choice). Prod already provisioned by concurrent cable-backend work — heroku-redis:mini on mcritchie-studio, cable.yml resolves URL+TLS via Studio::Redis.options (engine 0.10.0; handles Heroku rediss:// self-signed VERIFY_NONE), redis gem rides transitively via studio-engine. Verified live: prod broadcast → BROADCAST_OK. Provisioned heroku-redis:mini on mcritchie-studio-qa for parity (REDIS_URL); QA broadcast → BROADCAST_OK. /deployments live updates now functional on prod + QA.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

Dev

Actual