Frank — illustrated logo of a black-and-white pointer dog inside a circle

Frank's Fed

MVP build status report
7 May 2026  ·  ~2 weeks in  ·  strong velocity
Plans complete
32 / 32
Phases 0–3 done
Phases done
4 / 7
Phase 4 planning
Phase 3 verify
5/5 + 2 manual
Human UAT outstanding
4 of 7 phases complete · Phase 4 plans not yet generated
Phase breakdown
0
Foundation spike
Realtime <2s proof · CI gates · APNs · App Group · Supabase eu-west-2 · 8/8 plans · done 2026-04-29
Done
1
Schema · RLS · Status engine
8-entity schema · GDPR Edge Functions · GRDB cache · SyncCoordinator · Staleness UI · 7/7 plans
Done
2
Auth · Onboarding · Pet profiles · Care logging
Sign in with Apple + magic-link · 5-step onboarding · double-tap All Fed · undo toast · pet profiles · household management · 11/11 plans
Done
3
Widgets + APNs fan-out
Home Screen (small/medium/large) · Lock Screen (rectangular/inline) · background push fan-out · 60s coalescer · SHA-256 content-hash gate · push permission coordinator · 6/6 plans · verified 2026-05-06
2 manual checkpoints outstanding: two-device 24h soak test + push permission UX subjective pass on physical hardware
Human UAT
4
Helper system
Context gathered 2026-05-07 · 16 requirements (HELP-01..09, ROLE-02..06, ROLE-08, PRIV-06) · 18 implementation decisions locked · BACKLOG-0004 hard gate must close before plan files generated
Owner-only QR invite 3 sub-tiers per-pet scope Anonymous Auth redeem <2 min no-account join helper-restricted UI Owner revoke + re-issue last-active indicator skin inheritance 16 requirements
Planning
5
Memories · Safe-to-Walk · Voice · A11y · Notifications
Memorial UI · breed rest-window dataset (~30 UK breeds) · accessibility · dual-voice audit · opt-in medication notifications
Not started
6
Beta hardening · GDPR · App Store
Sentry EU · RUNBOOK · DPIA · restore-from-backup drill · 25–30 household cohort · App Store submission
Not started
Current position
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.
Open gates & blockers
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 gapmembers.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.
Meet Frank
Photo of Frank, a black-and-white pointer dog standing on a white background
The actual dog. The reason any of this matters.
Source: .planning/STATE.md + 04-CONTEXT.md · last STATE update 2026-05-07T08:31 · generated 2026-05-07