cocottetech/@platform/codebase/@features/ai-copilot/docs/day-in-life.flow.md
natalie 1b719e1fd7 chore(bootstrap): initial V4 commit
Clean successor to V3 (forge: lilith/atlilith). Seeded from local Mac
working tree at ~/Code/@projects/@cocottetech/. node_modules and build
artifacts excluded via .gitignore.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 08:11:41 -07:00

8.4 KiB
Raw Blame History

Day in the life — Quinn × CocotteAI

Connective-tissue document. Walks through a typical Quinn day so the design agent can stress-test whether briefs AI produce one coherent experience. Not a brief itself; a flow narration that exercises the briefs.

For each beat: which brief governs the surface, and what state should be visible. If the briefs don't cover a beat coherently, that's a gap to fill.


08:14 — Wake, glance at lock screen

Quinn picks up her iPhone in bed.

  • Lock screen: an iOS push notification from CocotteAI.
    • Source: brief C — Notifications.
    • Stakes-aware: a low digest summary, NOT a high-stakes interrupt. "Bumped Tryst 6× / TS4Rent 6× overnight. 3 OF DMs queued for your call."
    • Tap behavior per stakes: low → opens chat scrolled to the morning digest card.

08:15 — Opens CocotteAI

App opens to the chat surface.

  • Chat home, awaiting-approval state: brief A, state #3.
  • Top of chat: morning digest card from ai-copilot.
    • Source: brief I1 — Daily digest card.
    • Lines tap into the audit drawer scoped to that slice.
  • Below: 3 approval cards (the queued OF DMs).
    • Card anatomy from brief A (approval-card mechanics).
    • Stakes per brief F (high for OF DMs that propose PPV).
    • Tappable specialist mention: "content-onlyfans drafted these."

08:18 — Approves two DMs, edits one

  • Swipe right on card 1 → approve. Optimistic animation; card flies out.
  • Tap card 2 → opens edit drawer (brief A, tap-to-edit).
    • Drawer is a sheet, not a new screen — brief B.
    • Inline edit area; Quinn tightens the copy.
    • "Approve" button at the bottom.
  • Swipe left on card 3 → reject. Counter-action thread is recorded (brief I4): the reject becomes a row in the audit log.
  • All three mutations queued via SyncEngine optimistically; cache.invalidate fires through the chain (covered by P0.6 cache-rebuilder).

08:45 — Bathroom check-in via voice

Phone on the counter.

  • Quinn says: "Hey copilot, anything urgent?"
  • Voice push-to-talk mic (brief A — Voice interaction); on long-press, hands-free mode listens for short responses (brief A — Voice long-press).
  • ai-copilot streams reply (brief A — Streaming reply): "Nothing urgent. Tryst bump in 12 minutes — want me to pause it while you're getting ready?"
  • Quinn: "Yeah, snooze it an hour." → ai-copilot toggles the H1 policy snooze.
    • Source: brief H1 — Recurring auto-actions, snooze affordance.
    • Confirmation back: "Snoozed Tryst bumps for 1h. Will resume at 09:57."

11:30 — Tour declaration

Walking to a shoot, Quinn says (still hands-free):

  • "I'll be in Berlin Oct 37 and Paris Oct 810, FYI."
  • ai-copilot understands two trips; asks for confirmation (still in chat).
  • Returns a multi-surface approval card — brief H4 pattern.
    • Lists Tryst, TS4Rent, Slixa, transquinnftw.com tours page, Eros (off — toggle).
    • Quinn taps to skip Eros, leaves Slixa on, approves.
  • Card transitions through dispatch state — brief H4 mid-dispatch with per-surface progress.
  • Final state: 4 surfaces ✓, Eros skipped (per Quinn).
  • Audit log: 4 new agent_actions rows, threaded under a common tour declaration.

14:00 — Shoot upload

Quinn finishes a shoot, opens Photos, hits the share sheet → CocotteAI.

  • Drops 12 assets into chat as one batch — brief A — Multimodal input.
  • ai-copilot replies: "Got 12 photos. content-onlyfans + content-x are drafting variants. Back in ~90 seconds."
  • Mid-process: a thin progress indicator (brief F — Loading patterns).
  • Returns 12 approval cards (3 OF, 3 X SFW, 6 mixed) — brief A, multi-card.

14:08 — Bulk approve

Quinn long-presses a card → enters multi-select (brief A — Batch mode).

  • Selects 10 of 12; bottom bar: "Approve 10 · Reject 2 · Defer 0".
  • Single tap commits all 10 via the H4 multi-surface card pattern.
  • 2 remaining: she taps each for a finer edit, approves separately.

15:30 — DM funnel

Mid-afternoon flurry of incoming DMs across X and OF.

  • Push notification arrives: medium stakes ("Fan messaged on OF — looks like a likely PPV buyer per triage").
    • Per brief C — Stakes-aware push: medium → opens chat at the relevant card.
  • Quinn taps notification → CocotteAI opens at the engagement card.
    • Card kind: engagement_event — brief A, card variants.
    • Specialist named: "triage classified this 'sell'".
  • Quinn taps specialist mention "triage" → opens specialist drawer (brief B6).
    • Sees triage's last 20 actions, current personality config, trust score 96% (brief I5).
  • Returns to the card. Sees the drafted reply. Approves with one swipe.
  • 12 minutes later: a push: "PPV purchased — $48. Counter to triage's trust score: +1."

17:00 — Bio polish in passing

Quinn glances at her Tryst listing on a laptop, doesn't like the wording.

  • Opens CocotteAI on iPhone, types: "Tighten my Tryst about-me — drop the 'professional' line, more playful."
  • ai-copilot: streams reply with the new draft inline.
  • Returns a diff card — brief H2 — Multi-surface profile editor, single-surface variant.
  • Side-by-side preview (current vs proposed). Quinn taps "edit the proposed side", changes one word, taps Approve.
  • bookings-tryst writes the change via @ai/@skills/platform-tryst/actions/update-profile.
  • Audit row appears in the log drawer; specialist trust score on bookings-tryst ticks up.

19:00 — Vacation mode for the weekend

Quinn: "I'm off SatSun, take it easy."

  • ai-copilot proposes a vacation-mode card — brief H1 — Vacation mode.
  • Card shows: which bumps will pause, which directories will switch to "not available" wording, when normal ops resume.
  • Quinn approves; ai-copilot confirms with a digest of what will happen.
  • All chat from this point shows a vacation-mode banner at the top — brief H1 vacation state.

22:30 — Audit dive (curiosity-driven)

Quinn wonders about something the system did yesterday.

  • Opens the agent-actions log drawer from chat — brief B4 / I2.
  • Filters: specialist = content-onlyfans, action_type = send_dm, last 48h.
  • Finds the action she's curious about; taps it → row detail sheet (brief I3).
  • Reads the "why" panel: confidence + the policy that allowed it.
  • Hits 👎 on it: "I wouldn't have phrased it that way."
  • ai-copilot acknowledges: correction pattern stored via quinn-prospector.
  • Optionally adds the rule "stop using the word 'darling' on first-message replies."

23:45 — Sleep

Quinn closes the app.

  • Vacation mode is active.
  • Some Tryst bumps continue (Friday's daytime is still in policy).
  • The cache rebuilder (P0.6) is still consuming invalidate events on vps-0.
  • The audit log keeps growing — every specialist decision is replayable tomorrow.

What this exercises

Beat Brief touched
Lock-screen digest tap C
Morning chat home A (state 3), I (daily digest)
Approve / edit / reject A (gestures), B (edit drawer), I (counter-action thread)
Voice snooze A (voice), H1 (policy snooze)
Tour declaration A (chat input), H3 + H4 (multi-surface card)
Asset drop A (multimodal), F (loading)
Bulk approve A (batch mode), H4 (multi-surface dispatch)
Engagement notification C (stakes-aware push), A (card variant), B6 (specialist drawer), I5 (trust score)
Bio polish H2 (single-surface diff card)
Vacation mode H1 (vacation state), banner across A
Audit dive B4 / I2 (audit drawer), I3 (row detail), I (👎 feedback)
Background P0.6 cache-rebuilder (engineering, brief G context)

Gaps surfaced (worth designing if reviewer agrees)

  • Lock-screen rich notification preview — brief C says push taps land in chat, but the iOS-native rich-content preview before the tap isn't designed. Worth a screen.md.
  • "Why this stakes" affordance — brief A shows stakes badges but doesn't surface why a card was classified high vs medium. Quinn might want to know.
  • First-time-vacation-mode confirmation — H1 mentions vacation mode but the first use needs an explainer state.
  • Audit log → counter-action loop — I4 introduces counter-actions but the flow from "view a bad row" to "create a counter-action" isn't drawn step-by-step.
  • Hand-off between iPhone and laptop — the bio-polish beat assumes she's back on iPhone. The web-fe (G4) story of switching mid-task isn't told.