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>
8.2 KiB
8.2 KiB
daily-digest.screen
The first thing Quinn sees on the first chat-home open of each day. A magazine-like recap of what Cocotte did overnight, what's queued for her attention, and one strategic note from strategist. Implements the morning-digest patterns in brief I §morning-digest and brief C §email-digest (this is the in-app sibling of the email digest).
Voice register: hearth dialed warmer, per voice.brief.md §V5 — this is the brand's strongest daily moment.
When it appears
- Once per local day, first time chat-home opens after 05:00 local.
- Pinned at the top of chat-home as a collapsed card by default; tap to expand.
- After expand-and-read, it stays available in the audit drawer for 7 days, then archived (per brief I §append-only).
Layout (full-screen card, expandable from collapsed pinned)
┌─────────────────────────────────────────────────┐
│ ◄ Chat Mark read │ 56pt — top bar (expanded only)
├─────────────────────────────────────────────────┤
│ │
│ Yesterday at the kitchen │ hearth-warm header
│ Sunday May 17 · ☁ light │ date + weather (optional)
│ │
│ ┌─────────────────────────────────────────────┐ │ the magazine card
│ │ Cocotte tended to: │ │
│ │ • Tryst — 6 bumps, all accepted │ │
│ │ • TS4Rent — 6 bumps, all accepted │ │
│ │ • OnlyFans — 1 post published 21:00 │ │
│ │ • X — 2 posts, 1 reply drafted │ │
│ │ │ │
│ │ Three things wait for you: │ │
│ │ ▢ New about-me for Tryst (drafted Thu) │ │ tap → approval card
│ │ ▢ Berlin tour to announce (Oct 3–7) │ │
│ │ ▢ Reply to Felix about VIP rates │ │
│ │ │ │
│ │ A note from the strategist: │ │
│ │ The OF cohort warmed up after the Berlin │ │ strategist excerpt
│ │ tease 5 days ago. Worth a follow-up DM │ │
│ │ cluster before Friday — drafted 12. │ │
│ │ [ Talk to strategist → ] │ │
│ │ │ │
│ │ One thing I held off on: │ │
│ │ Eros bump (your jurisdiction rule). │ │ K §K4 jurisdiction
│ │ │ │
│ │ ─── ─── ─── ─── ─── ─── ─── ─── ─── ─── ─── │ │
│ │ See the whole day → audit │ │
│ └─────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────┘
Components
| Component | Notes |
|---|---|
| Top bar | Only in expanded modal. "Mark read" right archives the card to the audit. |
| Header | Day greeting + date + optional weather (if iOS WeatherKit permission granted). Hearth-warm copy. |
| "Tended to" list | What ran auto overnight. Surface-grouped, count-summarized. Each line tappable → audit drawer filtered by that specialist + 24h. |
| "Things that wait" list | Pending approvals + drafted-but-not-yet-pushed items. Each line tappable → approval card. Maxes at 5; "+N more" if overflow. |
| Strategist note | One-paragraph excerpt from strategist analysis (per L §L3 strategist propose-only output). Tappable → direct conversation with strategist (per brief L §L2b). |
| "Held off on" | Things Cocotte chose NOT to do, with reason. Most often: jurisdiction (brief K §K4), blocklist (brief K §K1–K2), or low-confidence + high-stakes that fell below auto-threshold. Builds trust by showing restraint. |
| Footer link | Routes to audit drawer scoped to "last 24h". |
States
- First-day (new install) — no overnight history; replaces "tended to" with onboarding hint: "I'll have more to show after my first overnight."
- Quiet day (e.g. vacation mode) — different copy: "Yesterday was quiet. Vacation through Sun. Nothing pending." Single sentence; doesn't try to fill space.
- Active day (default) — full layout as drawn.
- High-volume day (>50 auto-actions) — counts compressed; "tended to" list shows top 4 surfaces by activity; "→ See all" affordance.
- Failure-flagged day (any bump-fail-escalation in last 24h) — red-tinted "Held off on" entry: "I couldn't keep you visible on Tryst between 02:00 and 03:14. Re-auth needed." Tap routes to specialist-drawer.screen.md.
- Coop activity (per brief N) — additional one-liner: "3 reports in your Berlin coop today — one matches a current thread (see triage)."
- Strategist quiet — no note section; suppressed cleanly without leaving a hole.
- Already read — collapsed pinned card showing only header + date + "tap to expand again." No badge.
- Multiple devices — the read state syncs; mark-read on iPhone clears the iPad pinned card too.
Interactions / gestures
- Tap collapsed pinned card on chat-home → expand into modal sheet.
- Tap "tended to" line → audit drawer filtered.
- Tap a pending-thing line → its approval card.
- Tap strategist excerpt → direct conversation with strategist.
- Tap "Held off on" line → row-detail showing the decision + reasoning.
- Tap "See the whole day" → audit drawer 24h view.
- Swipe-down or "Mark read" → archive card, dismiss.
- VoiceOver — read in section order; "tended to" + "things that wait" + strategist note are the three required sections.
Edge cases
- No overnight activity at all — replace whole card with single line: "Nothing to report from overnight. Ready when you are."
- Quinn opens app at 04:00 (before the day-rollover threshold) — yesterday's digest still shown; doesn't generate a fresh one until 05:00.
- Time-zone change mid-day (Quinn traveled) — digest follows new local time. A small chip notes "TZ shifted from PDT to BST" in the header for one day.
- Held-off-on list is empty — section omitted entirely (don't show "nothing to report"; suppress).
- Strategist crashed / unavailable — section just omitted; no error message in the digest itself (per brief
voice.md§V2c plain register policy: failures are surfaced where they're actionable, not in the daily warm-tone digest). - Quinn explicitly turned off the digest (per settings) — replaced with the very first chat-home receipt of the day; no pinned card.
- Mark-read with pending high-stakes — warns: "There's a high-stakes thing waiting for you. Mark read anyway?" Doesn't block.
Related
- Brief I §morning-digest — parent design pattern.
- Brief C §email-digest — email companion (same data, longer-form copy).
- Brief L §L3
strategist— source of the strategist note. - Brief K §K4 — source of "held off on" for jurisdiction reasons.
voice.md§V5 — hearth-dialed-warmer copy register.- chat-home.screen.md state 2 (quiet morning) — where the collapsed pinned card lives.
- audit-row-detail.screen.md — where line taps route to.
Out of scope
- Configurable digest sections (P3+; v1 ships fixed sections).
- Multi-day rollup (week-in-review is a separate screen).
- The email-digest layout (covered in brief C).