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.7 KiB
8.7 KiB
Surfaces settings · screen
The operational view of every surface Quinn touches. Reached from chat-home settings overlay or from any surface chip's long-press. Pairs with brief O (canonical roster), brief F §F5 (iconography + status-state overlays), brief L §L1 (specialist routing per surface).
Voice register: plain — this is an operational surface, not a hearth one.
Layout (iPhone, scrollable)
┌────────────────────────────────────────┐
│ ← Surfaces │
├────────────────────────────────────────┤
│ [filter: live · pending · blocked] │
├────────────────────────────────────────┤
│ N1 · Content (11) ▾ │
│ ◉ OnlyFans live · last post 2h │
│ ◉ X (Twitter) live · last post 47m │
│ ◌ Instagram thin · draft-only │
│ ◌ TikTok thin · draft-only │
│ ◌ Threads thin · cross-post │
│ ◌ Bluesky not active · enable │
│ ◌ Reddit not active · enable │
│ ◌ Fansly not active · enable │
│ ◌ YouTube not active │
│ ◌ Twitch not active │
│ ◌ Facebook not active │
├────────────────────────────────────────┤
│ N2 · Escort directories (12) ▾ │
│ ◉ Tryst live · bumping 4h │
│ ◉ TS4Rent live · bumping 4h │
│ ◉ Seeking live · listing │
│ ⚠ PrivateDelights pending verification│
│ ◉ TSEscorts live · Berkeley CA │
│ ◉ AdultSearch live · ID 3809904 │
│ ◉ AdultLook live · plain-text │
│ 🔒 Eros blocked · legal name │
│ ⚠ EroticMonkey verification video │
│ ⚠ SkipTheGames photo rejected │
│ ◌ MegaPersonals not started │
│ ⚠ ts.live email-verify pending │
├────────────────────────────────────────┤
│ N3 · Brand sites (3) ▾ │
│ ⬛ transquinnftw.com live · canonical │
│ ⬛ adult-therapy… live · tour pages │
│ ⬛ futa-waifu-tour live · niche │
├────────────────────────────────────────┤
│ N4 · Channels (6) ▾ │
│ ▣ iMessage live · auto-reply │
│ ▣ SMS live · draft-only │
│ ▣ Email (Proton: hi@cocotte.maison) │
│ live · draft-only │
│ ▣ Email (Proton: myprivatedelights@…) │
│ live · auto-archive │
│ ▣ Email (Gmail) read-only │
│ ▣ Sniffies light · hands-off │
├────────────────────────────────────────┤
│ N5 · Commerce (4) — P5+ enumerated only │
└────────────────────────────────────────┘
Status-state glyphs (per brief F F5b overlays)
| Glyph | Meaning | Color |
|---|---|---|
| ◉ filled circle | live, active | accent-rose |
| ◌ hollow circle | live but thin / not in use | neutral |
| ⚠ amber | pending verification or verification problem | amber |
| 🔒 lock | blocked (legal / policy) | neutral-low-opacity |
| ⬛ rounded square | Quinn-owned brand site (N3) | rose |
| ▣ rounded square (channel) | N4 channel (geometry distinguishes from surface) | channel tint |
Status glyph + display name + one-line context (last action / current policy / verification state).
Row interactions
- Tap row: opens surface-detail sheet (below).
- Long-press: bulk-select for "snooze all selected" / "set posture to draft-only on selected" / "open audit for selected."
- Swipe left: snooze (per H1 vacation pattern, scoped to this surface).
- Swipe right: shortcut to the corresponding specialist drawer (brief B6).
Surface-detail sheet (the per-row deep-dive)
┌────────────────────────────────────────┐
│ Tryst ✕ │
│ N2 · Escort directory │
│ Specialist: bookings-tryst │
├────────────────────────────────────────┤
│ Status live │
│ Policy 4h bumps (active 10–02) │
│ Last bump 11:02 · OK │
│ Next bump 15:02 · in 1h 23m │
│ Last fail 03:14 → recovered 03:16 │
├────────────────────────────────────────┤
│ Trust (last 30d) 0.94 ▰▰▰▰▰▰▰▱▱▱ │
│ Actions 247 · 3 corrections│
│ Profile edited 2 days ago │
├────────────────────────────────────────┤
│ [ Edit policy ] │
│ [ Open audit (Tryst slice) ] │
│ [ Pause bumps ] [ Snooze ] │
│ [ Re-auth ] [ Archive surface ] │
└────────────────────────────────────────┘
States to render
- Default — all surfaces grouped, filter "all", live + pending visible.
- Filter: live only — N3 brand sites and live N2 directories shown.
- Filter: pending — surfaces needing Quinn attention (verification, photo rejected, email pending).
- Filter: blocked — surfaces locked behind external dependencies (Eros legal name).
- Empty after filter — "No surfaces in this state right now."
- Surface-detail sheet for a live surface (Tryst pattern above).
- Surface-detail sheet for a pending surface — replaces policy block with verification-status block + a "What's needed" list.
- Surface-detail sheet for a blocked surface — replaces actions with a single "What's blocking" note (e.g. "Legal name change must complete first") and a "Notify me when ready" toggle.
- N5 commerce stub — section collapsed by default with explainer: "Enumerated for completeness. No design effort until Quinn opts in."
Edge cases
- Newly-active surface (e.g. Quinn just turned Bluesky on) — appears with a small
newchip until Quinn acknowledges by opening the detail sheet once. - Status drift (Tryst lost auth overnight; system flips status to pending behind the scenes) — appears as ⚠ with banner inside the detail sheet: "Auth expired at 04:12. Re-auth to resume."
- Specialist promotion proposal (
bookings-directoriesis suggestingseekinggraduate to its own specialist per brief L promotion path) — surface-detail sheet for seeking shows an inline card: "Cocotte thinks Seeking has earned its own specialist. Promote tobookings-seeking? — Approve / hold." - Bulk-select with mixed states — disable bulk actions that don't apply (e.g. "pause bumps" disabled if selection includes a non-bumping surface).
Brief O open questions that touch this screen
- O-Q1 Sniffies — currently rendered under N4 channels with
light surfacelabel; if reclassified to N2 directory the row moves and gets a bump policy. - O-Q2 Seeking — currently under N2; if reclassified to its own category, a new section appears between N2 and N3.
- O-Q3 Bluesky / Reddit / Fansly priority — rendered as
not active · enablerows; if deprioritized to noise, they should be filterable to hidden.
These three are blocking for the rendering choices made above. See OPEN-DECISIONS.md.
Related
- brief O — canonical roster.
- brief F §F5 — iconography + status overlays.
- brief L §L1 — specialist routing per surface.
- brief H §H5 — multi-surface card density (relevant when "snooze N selected" fans out).
- brief K §K3c-4 — Eros blocked-state hard rule.
degraded-mode.flow.md— what happens when a surface row flips to ⚠.