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.