Created
Jun 26, 14:13
Started
Jun 26, 14:13
Completed
Jun 26, 21:34
DevOps handoff
Type
Feature
Shape
ui-only
Worktree Slug
splash-dynamic-bg
Repositories
rolio
Release Train
—
Branch
feat/splash-dynamic-bg
Pull Request
https://github.com/amcritchie/rolio/pull/15Acceptance Criteria
Expected Test Plan
Checks Run
Agent Context
SCOPE SETTLED (operator, 2026-06-26): single animated aurora — NOT the exploratory query-param variant switcher (that was the discovery phase; operator picked aurora live and refined it). QA-rework addressed: added an integration test asserting the aurora markup renders (body.page-splash + .splash-phonebg + both .splash__aurora layers) and moved page-critical CSS into content_for :head. Aurora is full-device (painted at .phone level via content_for :phone_bg, scoped to body.page-splash), CSS-only, reduced-motion safe. Standalone repo: PR -> main, NOT the release train; merge via rolio's own flow.
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.
Conversation
QA review feedback, agent handoffs, and follow-up notes for this task.
Both reviewers: the aurora itself is EXCELLENT — CSS-only, GPU-composited (transform-only, no blur/image bytes), prefers-reduced-motion honored, aria-hidden decorative layer, prod-safe (CSP disabled, no dark-mode parity gap), clean reusable content_for :phone_bg/:body_class hooks scoped to splash only. BLOCK is an ACCEPTANCE + TEST-PLAN divergence (Shannon heavy BLOCK; Carl light: code-safe but ACCEPTANCE_MET=no): (1) the task says 'a few switchable variants selectable via query param' and the test plan says '[integration] splash renders EACH background variant', but the PR ships ONE hard-coded aurora — pages#splash is empty, no params read, splash.html.erb hard-codes splash__aurora--a/--b. (2) The new test (test/integration/auth_test.rb:14) asserts only div.splash > div.auth — it never asserts the aurora markup (.splash__aurora--a/--b, .splash-phonebg, the :phone_bg yield) actually renders, so the headline feature is untested (drop 'yield :phone_bg' and the suite stays green). PATH — Avi/PO decides scope FIRST, then implement to match: either (a) build the query-param variant switcher + a per-variant integration test, OR (b) re-groom the task to 'single animated aurora', update the test plan, and add a test asserting the aurora markup renders. Minor (owner copy call): new subhead 'enriched searchable contacts' lost the serial commas; 'warm outreach powered by the real world' is vague. Minor (idiom): page-critical inline CSS lives in <main>; content_for :head is the idiomatic home. NOTE: rolio is a standalone app (base main, NOT in the mcritchie release train) — handle its merge/deploy via rolio's own flow, never bin/release.
QA-rework addressed (single-aurora scope, per operator). (1) Scope: re-groomed to 'single animated aurora' — the query-param variant switcher was the discovery phase; operator picked aurora live and refined it (full-screen, motion, copy). Test plan updated to match. (2) Untested feature: added integration test 'splash paints the full-device aurora background' asserting body.page-splash + .splash-phonebg + both .splash__aurora--a/--b layers render — dropping 'yield :phone_bg' now fails the suite. (3) Idiom: moved page-critical splash CSS from inline <main> <style> into content_for :head. Copy: operator kept the subhead as-is (their call). Re-certified rolio-rooted (fingerprint 6475ec871c7d, 121 tests + rubocop green). NOTE acknowledged: standalone repo, PR #15 -> main via rolio's own flow, not bin/release.
Senior review → APPROVED (2/2). Reviewers: Shannon (UI) + Carl (rails/integration), both high confidence. All 10 integration tests green (47 assertions). Acceptance: all 4 met — single CSS-only aurora painted at .phone level via content_for :phone_bg behind hero (z-index 0 vs hero 1); contained by .phone overflow:hidden+radius and .splash-phonebg overflow:hidden (absorbs -25% layer bleed); reduced-motion fallback present (@media prefers-reduced-motion → animation:none, radial-gradient fills remain); hero readable (near-black headline + filled CTA above aurora, bottom mask keeps home band white). Perf: gradient-softness not blur, only transform animated (GPU-composited). Non-blocking follow-ups: (1) reduced-motion fallback not test-guarded — add assert_match(/prefers-reduced-motion/, response.body); (2) subtitle copy 'enriched searchable contacts' missing comma; (3) subtitle --label-2 ~2:1 worst-case over central blob — optional scrim/contrast nudge, on-device glance.
Closed out via rolio's own (non-pipeline) path: rolio is not a bin/release member (not in release_repos.yml; no bin/deploy/heroku remote here), so it could not ride rel-20260626-6d5d0e. Approved PR #15 merged into rolio main (2026-06-26T21:34Z). App deploy, if any, happens in rolio's own environment.
Sealed-bid sizing
Edit →Alex (PM)
—
Avi (PO)
—
Dev
SMALL
Actual
XL
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.