# persona-drawer.screen The persona drawer — Quinn's voice/identity facets per [brief B](./B-drawers.brief.md) §persona + the persona system ported from v2 per [brief J](./_engineering-v2-port-map.md). One per-persona card per row; tap to edit. Voice: working. ## Layout (full-screen drawer) ``` ┌─────────────────────────────────────────────────┐ │ ◄ Chat + new │ 56pt ├─────────────────────────────────────────────────┤ │ 4 personas active │ │ │ │ ┌─────────────────────────────────────────────┐│ │ │ Cocotte umbrella · hearth ││ persona card │ │ Used by: content-onlyfans, content-social, ││ consumed-by chips │ │ bookings-tryst (receipts only) ││ │ │ Last edited: 2d ago ││ │ │ [ Edit voice → ] [ See prompt fragment ] ││ │ └─────────────────────────────────────────────┘│ │ ┌─────────────────────────────────────────────┐│ │ │ Cocotte booking · working ││ │ │ Used by: bookings-* on policy lines ││ │ │ Last edited: 5d ago ││ │ └─────────────────────────────────────────────┘│ │ ┌─────────────────────────────────────────────┐│ │ │ transquinnftw-contact · plain ││ │ │ Used by: ai-copilot when subject matters ││ │ └─────────────────────────────────────────────┘│ │ ┌─────────────────────────────────────────────┐│ │ │ Sansonnet · hearth (separately-held) ││ per brand-family │ │ Used by: bookings-*-sansonnet, content-*-… ││ │ └─────────────────────────────────────────────┘│ │ │ │ ─── Inactive / archived ─── │ │ [ Show archived ▾ ] │ │ │ └─────────────────────────────────────────────────┘ ``` ## Components | Component | Notes | |---|---| | Top bar | Back + "+ new" persona. | | Persona card | Name + voice lean (hearth/working/plain) + consumed-by chips + last-edited + edit / see-prompt actions. | | Brand-family note | Personas marked per DESIGN.md §7.5 — Cocotte umbrella vs Sansonnet separately-held vs Quinn-talent. No `demimonde*` personas exist (back-office, never customer-facing). | | Archived section | Soft-deleted personas (audit-preserved per brief I). | ## States 1. **Default** — list of active personas. 2. **Editing a persona** (Edit tapped) → persona-edit sheet (separate component): voice register lean, prompt fragment, off-limits, brand association. 3. **Creating new** ("+ new" tapped) → blank persona-edit sheet. 4. **Persona linked to a retired specialist** — chip "consumed-by 0 specialists." 5. **Persona last-edited > 90d** — chip "stale, may need refresh." 6. **Conflicting personas (overlap in voice lean + consumed-by)** — warning chip "overlaps with {other persona}; consolidate?" 7. **VoiceOver** — cards read name + lean + consumed-by + last-edited. ## Interactions - **Tap "Edit voice"** → persona-edit sheet. - **Tap "See prompt fragment"** → fragment viewer (read-only by default; editable for power users). - **Tap a consumed-by chip** → specialist-drawer.screen.md. - **Long-press card** → "Archive" / "Duplicate" / "Talk to a specialist using this persona." - **Tap "+ new"** → persona-edit sheet. ## Edge cases - **Persona with no consumed-by specialists** — chip "orphaned"; suggested action: "Archive or attach to a specialist." - **Editing prompt fragment introduces banned phrases (per voice §V6)** — inline warning on save. - **Brand-family migration** (rename of brand domain) — auto-suggests persona-rename consistent with brand changes. ## Related - [Brief B](./B-drawers.brief.md) — parent. - [Brief J](./_engineering-v2-port-map.md) — persona shape ported from v2. - [`voice.md`](./00-system-voice.md) — voice lean source. - [specialist-drawer.screen.md](./specialist-drawer.screen.md) — consumed-by target. - DESIGN.md §7.5 brand-family — naming conventions for personas. - [persona-seed-interview.screen.md](./persona-seed-interview.screen.md) — first-run persona seeding. ## Out of scope - Persona-edit sheet interior (its own screen if grows beyond a textarea + toggles). - Cross-tenant persona sharing (brief Y marketplace).