BACKLOG-0004 → /gsd-plan-phase 4
Run the four-edge-case helper-auth curl proof against redeem_helper_invitation on the live Supabase project. Tick the D-06 outcome box in evidence/helper-auth-proof.txt. Context is fully gathered — 04-CONTEXT.md has all 18 decisions locked. Plan files generate immediately once the gate closes.
Hard gate · Phase 4
BACKLOG-0004 — Four-edge-case helper-auth proof: valid redeem, replay (410), expired (410), double-redeem. Run against live redeem_helper_invitation. Tick D-06 in evidence file. Owner: founder.
Human UAT · Phase 3
Two-device 24h soak — Log care on Device A, confirm widget updates on Device B within 5s. Run 24h with 50 actions/day. Closes WIDGET-04 SC2. Requires two physical iPhones + live APNs — cannot be automated.
Human UAT · Phase 3
Push permission UX subjective pass — Full NOTIF-04 flow on device: post-first-care sheet timing, Frank/Miles voice copy, system dialog suppression on "Not now", 1→2 member re-ask. Bible Golden Rule gut-check.
Soft · Phase 4 (if children in cohort)
LOG-08 schema gap — members.is_child column missing. HomeViewModel.children returns [] until Phase 4 migration adds it. Hard gate within Phase 4 if children are in the helper cohort.
Soft · pre-beta
Font substitution — OFL placeholders (Inter → Congenial, Caveat → Crown Quill). Replace with licensed fonts before beta. Drop in ios/FranksFed/Resources/Fonts/ — see LICENSE.txt for swap procedure.
Soft · pre-beta
SnapshotWriter v1 decode regression — v1→v2 migration path not test-covered. Production reads unaffected; only fixture-based unit test fails. Fix before Phase 6.
Soft · Phase 6
BACKLOG-0001 — Re-run realtime 100-write loop to sample ≥100. Current: 27 writes at p95 590ms (well within budget). Natural fit: Phase 6 SC4 synthetic load test.
Source: .planning/STATE.md + 04-CONTEXT.md · last STATE update 2026-05-07T08:31 · generated 2026-05-07