Created
Jun 21, 14:05
Started
Jun 21, 14:06
Completed
Jun 22, 02:27
DevOps handoff
Type
Chore
Shape
backend
Worktree Slug
turf-root-domain
Repositories
turf-monster, mcritchie-studio
Release Train
—
Branch
feat/turf-root-domain
Pull Request
https://github.com/amcritchie/turf-monster/pull/159Acceptance Criteria
Expected Test Plan
Checks Run
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.
No stage changes recorded yet.
Conversation
QA review feedback, agent handoffs, and follow-up notes for this task.
Draft PRs opened: Turf Monster https://github.com/amcritchie/turf-monster/pull/159 and McRitchie Studio https://github.com/amcritchie/mcritchie-studio/pull/79. Heroku old-site app limitless-tundra-34071 now has v1.turfmonster.media attached with CNAME target whispering-savannah-euqsutzic06i9306g89db3ug.herokudns.com. Name.com still needs v1 CNAME creation. After PR merge/deploy, set turf-monster-mainnet APP_HOST=turfmonster.media, MAILER_HOST=turfmonster.media, APP_HOST_ALIASES=app.turfmonster.media, then move apex turfmonster.media from limitless-tundra-34071 to turf-monster-mainnet and update apex DNS to the Heroku target returned during that cutover.
QA APPROVE-WITH-NITS on code (both PRs #79 + #159) — HELD at submitted pending PR readiness + runbook fix. Host-alias abstraction correct, wired into host-auth/ActionCable/CDP CORS/mailer; both hosts accepted simultaneously for zero-downtime; prod zeitwerk:check clears the manual require of the Zeitwerk-managed lib file; both MERGEABLE/CLEAN, not behind. Owed before -> reviewed: (1) mark PRs #79 and #159 ready-for-review (both draft); (2) FIX runbook deployment.md cutover ordering — keep MAILER_HOST=app.turfmonster.media until the apex DNS moves to turf-monster-mainnet AND propagates, otherwise magic links (the ONLY login method) point at the old landing app. Operator actions at cutover: add BOTH turfmonster.media + app.turfmonster.media to Coinbase CDP portal allowlist before flipping APP_HOST; consider defaulting APP_HOST_ALIASES=app.turfmonster.media (fail-safe vs fail-documented). Heads-up: host-scoped session cookie -> users re-auth via magic link after the host change (expected, not a regression).
Gate cleared for review: PRs #79 + #160... (turf #159) marked ready, CI green on both, current with main, code reviewed-clean (host-alias backward-compatible). Advancing to reviewed. STILL OWED before the PRODUCTION DNS cutover (separately gated, NOT a QA-release blocker): runbook deployment.md MAILER_HOST ordering fix + add both hosts to Coinbase CDP allowlist.
Sealed-bid sizing
Edit →Alex (PM)
—
Avi (PO)
—
Dev
—
Actual
—
We emailed a one-tap sign-in link to . It expires shortly and can only be used once.
No email? Check spam, or close this and try again.