Accountability Partner Workflow
End-to-end on web — invite, support, optional paid tier
Full desktop walkthrough of the AP loop: client invites a partner, both share a feed, the partner gets Coach briefs and attention signals, and community advisors can list paid packages.
Step 1 — Client opens Accountability Partners
Navigate to **Accountability Partners** from the user menu or `/partnerships`. This is the hub for every partnership: active, pending, and ended.
Step 2 — Client sends an invite
Click **Invite a partner**, enter their email, select goals to share (progress and achievements only), and send. The backend emails a link to accept the partnership.
Step 3 — Partner accepts
The partner signs in, opens the accept link, accepts the client waiver if prompted, and confirms. Status moves to **active**. Scoped goals become visible on the partner goals dashboard only — never unshared records or genetics.
Step 4 — Client sees the shared feed
Both parties share one activity feed per partnership. The client sees partner nudges and system **missed check-in** reminders. Owners get a **Log a check-in** button on missed-check-in cards.
Step 5 — Partner attention hub
When the partner opens `/partnerships`, **Where your attention may help** surfaces structured signals: missed check-ins, streak wins, lapsed goals. Each row offers **Send nudge** (or coach-assisted draft).
Step 6 — Partner goals + Wellness Coach brief
On `/partnerships/:id/goals`, the partner sees scoped goal cards plus the **How to support this client** coach brief — generated from shared goal context, not genetics or records.
Step 7 — Partner feed (same thread)
The partner view of the feed matches the client's timeline with actor attribution. Goal-anchored nudges show the target goal name.
Step 8 — Optional: paid AP profile listing
Community advisors can list packages at **My AP profiles** (`/partners/my-listing`): username, packages, required data access, capacity.
Step 9 — Admin verification
New paid profiles start **pending** until an admin approves them. After approval the profile shows **Verified** on My AP profiles. (Staging screenshots for this step are captured separately.)
Step 10 — Stripe Connect: affiliate tab
Partners with incomplete Stripe onboarding see **Complete your Stripe onboarding** on Account → **Affiliate**. **Complete setup** resumes the hosted Express flow.
Step 11 — Stripe Connect: hosted onboarding
The partner completes identity and payout details on Stripe's hosted pages. In production, `payouts_enabled` syncs from Stripe webhooks after real onboarding.
Step 12 — Book package → Stripe Checkout
On a public, verified profile (`/ap/:username`), the client clicks **Book this package**, confirms scope, and submits. The API returns a Stripe Checkout URL.
This is the full accountability loop on web — from a free goal-scoped invite through optional paid community support with Stripe. Every step is captured from the real product, not mockups.