The homebase for every mockup. Tabs below are the same chrome as design-foundations.html — not a second system. Cards open the HTML next to this hub. On a phone, Desktop 1180 shrinks to fit the screen as a slide deck — swipe between whole screens. On a computer it stays full size. Portrait still opens the 375 frames so you can scroll. Size buttons still override. Nothing builds without a mockup, your sign-off, and a pixel review against it.
Ritual, layout tiers, and the system file. Pixel tokens live in design-foundations.html · Core 0 is the V3 contract.
/design (STRICT ritual — every non-trivial design task)
┌──────────────────────────────────────────────────────────────────────────────┐
│ 1 PRE-FLIGHT read kit decisions+lessons · foundations · canon · archetypes │
│ 2 FRAME intent · principle · constraints │
│ 2b BRIEFS Chief Product + Chief Researcher (+ domain agent) │
│ ≤10-line insight briefs — insights land BEFORE pixels │
│ 3-4 OPTIONS Chief Designer (Fable) sketches → Peyton picks │
│ 4b MOCKUP Chief Designer authors/updates the HTML mockup here │
│ GATE mobile + tablet + desktop, every state → Peyton signs off │
│ ── nothing builds without it ── │
│ 5 BUILD Platform Frontend Dev (Sonnet) implements the mockup verbatim │
│ 6 SCREENSHOTS 375px first → tablet → desktop, scored vs the mockup frames │
│ 6b REVIEW Chief Designer (Fable) reviews rendered pixels — blockers stop │
│ 7 MEMORY decisions → kit ledger · misses → kit lessons │
└──────────────────────────────────┬───────────────────────────────────────────┘
▼
/ship gate 4.4d (every UI-surface PR)
Chief Designer (Fable) BLOCKING review — screenshots vs mockup;
no mockup coverage = automatic blocker · then quality/security/CTO
· Hierarchy: Peyton (CPO) owns every sign-off →
Chief Designer (Fable) owns design judgment, mockup authorship, both review gates →
Chief Product + Chief Researcher feed briefs → Platform Frontend Dev (Sonnet) executes, never designs
· Scope changes update the SAME mockup first, republish at the same URL, then build
· Written version: docs/design/design-artifacts/README.md · docs/architecture/agents/agent-orchestration.md §5
· Passes desktop but fails a smaller tier = FAIL, not a partial pass
· Every artifact carries mobile + desktop frames · tablet frames landing progressively, required in all NEW mockups
These three are samples along a continuum, not the only sizes that exist. Content — spacing, type, card widths, gaps — scales smoothly at every width in between, the way a photo scales rather than jumps. Structure is different: a rail collapsing into a drawer, a row turning into a stack, a grid losing a column — those have no in-between state, so they change only at a few fixed, deliberate widths and never drift anywhere else.
The drawable kit is authored once, in the foundations file. This hub does not redraw it.
MF-Platform · dark-glass dialect · frames in docs/design/design-artifacts/ · reviewed against design-canon.md · tabbed walkthrough, same chrome as Brain.
#f1p — the booking row in the inbox gains a lantern “Says they paid” badge + “Told the assistant” line (slice 1), a quiet “Not received” verdict (slice 2), and a “says they paid” roster status.brain.html. 13.4-draft-ops and 13.4-edit-again are marked superseded (Peyton 2026-10-05): every Teach question batches on the Building line per the 2026-09-22 ruling (f-line-teach-asks), so do not build their placement.brain.html 13.4-voice-options (Today · A the list · B the dropdown · C the spread) → 13.4-voice (S2 contract) · -s1 (draft to confirm, the one lantern) · -states (S0 / S3 / S5) · 768 · 375. Rec C: side by side at 768+, the list at 375, no control that pretends to switch before S3 (AC-SOUND-02). Ledger: parity-brain.md addendum 2026-10-01.TeachThisCue host) — no per-offering sheet, no Edit this one, so AC-PB-C03-03 holds; a row a read is proposing keeps the decide card as its only door. REDRAWN brain.html 13.4-sell-open / -m; NEW 13.4-sell-mixed / -m, 13.4-sell-draft / -m; BD-03 labels = PR #5221. Ledger: parity-brain.md addenda 2026-09-23 / 23b / 23c.brain.html 13.4-decide / -t / -m (scalar ch.02 + FAQ Looks like one you have — confirmed recessive, new full ink; never a separate compare screen). NEW 13.4-ch-partial / -t / -m — margin Still need · N + live .ed-ask tail. DraftCompare retired. Ledger: parity-brain.md addendum 2026-09-19. Spec: prd-pl-brain-playbook.md v2.4.0 §D.#f-ed-sell-open/-m drawn (four ruled rows in the fold; empty = the customer’s question as a slot). Recap “not sure, show” → #f-ed-recap on cream + #f-ed-recap-taupe comparison (11.0 / 6.7 / 4.7 vs 12.4 / 7.3 / 5.0); designer rec: stay on cream. Ruled 2026-09-18 (Peyton): cream chosen, taupe rejected — Recap spread specified (PRD §C, AC-PB-14) as build-plan PR-F; §H one-sheet maps every 13.4 frame to its PR for Cursor.brain.html 13.4-empty / -m — cover with the name as a slot, contents at 0 of N, Recap ghost, chapters 01–10 printing every registered field as a named slot (customer question in 01–06, why-it-matters in 07–09, Warm Host default on 06, Coming soon on 10), one door per chapter. Ledger rows in parity-brain.md addendum 2026-09-18.#f36), with real contrast and type sizes. Three complaints → three rules: the gap → the rhythm ladder (--ed-ch-top/-bot/-block/-facet/-gutter per tier; chapters own their padding, nothing else adds space); the repeated ask → ONE Teach door per chapter at the margin’s foot, chapter-worded (InkChapterBody.tsx prints it under every prose field today, 3 call sites); indistinguishable sections → two papers, one ink pair (cream #f4efe6 / charcoal #2e2a26 for 01–06, inverted for 07–10; body ≥7:1) on a margin | body chapter spread with a 48 / 22 / 15 type scale. Long content gets a stated length ladder (prose ≥180 words two columns, offerings 5/type + Show all, Q&A 5/head + Show all, >120-char rows label-above, the margin note states the true total, never an ellipsis). NEW #f-ed · #f-ed-cover · #f-ed-ch · #f-ed-qa · #f-ed-brand · #f-ed-private · #f-ed-long · #f-ed-t (768 rule) · #f-ed-m / #f-ed-ch-m / #f-ed-brand-m (375). #f33 (2.3) and #f-book-fields (13.3) are superseded as the Book’s look, not as dispatch. Review build 2026-09-18. Ledger: parity-brain.md addendum 2026-09-18. Spec: prd-pl-brain-playbook.md v2.2.0 §C. Build: Book editorial pass (#5019) (issue TBD). /brain with the ONE Building your Brain line running, ask or no ask; the ready notice reopens the Book on the draft rows. NEW #f-pb-read-yield / -m / -wiz (three beats: peek → line working → Book back on drafts; wizard takeover yields to the embedded line). Supersedes #4822’s stay-put clause; #f-pb-bar carries the amendment chip. Ledger: parity-brain.md addendum 2026-09-17b. Spec home moved: prd-pl-brain-playbook.md v2.0 (per-chapter build specs §D). Review build 2026-09-17b (17a, #4957 the same day: section 13.3 #f-book-fields — policies / partial / prose-teach / private / voice-default / voice-yours, the 39 co-edit #f33e* + 13-form-* frames RETIRED). 2026-09-15 — #4835 What you sell: the offering row folds open (frame drawn in parallel with PR-1; PR-2 contract, Peyton sign-off gates the build): the designed book showed an offering as name · date · one-line · price and nothing more, because the Teach door had no slot for the body — a Luma page or a program PDF was squashed into one line. NEW #f33-sell / #f33-sell-t (stated) / #f33-sell-m on Playbook → The book: collapsed = name · price · one-line · a quiet More ▾ text door (.ink-edit ink, no chrome; no door when there is nothing to expand); expanded = When (dates verbatim) · How long · the full body on the 720px prose guard · What’s included · the questions about that offering · Less ▴. Independent toggles; 2-up cards grow in place; solid ink, no lantern; height reveal only, reduced-motion instant. Venue has no field on Service (folded into details) — flagged, not drawn as a row. Ledger: parity-brain.md addendum 2026-09-15a (NEEDS-RENDER-CHECK). Review build 2026-09-15a. 2026-09-14 — #4810 Save a copy menu flattened, PDF added (PR #4811): the book-header menu is now the flat four — Save to Google Docs · Save as PDF · Download for your AI (.md) · Download a backup (.json) — no “Advanced” sub-group, no ✦ paid mark; the Polish/Rewrite tier left the surface (it fired nothing in prod; backend kept). Google Docs export carries real headings/bold/bullets; PDF reuses that Doc via Drive export. Trigger shows the Seal spinner + disables while an export runs (U13). Mockup line in brain.html updated; the open menu is still not drawn as a frame (375/desktop) — mockup debt. 2026-09-12 — #4778 AI-stop row, the checklist stays mounted and names why (same-day OpenRouter incident response; PR #4794, AC-BRAIN-219): one new held variant of BS-1 — #f-bs-1-stopped / -m — for when the site read fine but OUR side stopped (AI at capacity, no provider key, empty wallet, or any other read failure). The ✗ row holds the checklist row in place naming the item, the reason in founder voice, and a muted <error_code> · HH:MM UTC ref line so a screenshot alone identifies the failure — replacing a toast that could vanish before she read it. Drawn from shipped code (readStopCopy.ts, one copy source for both the full-page checklist and the Teach-sheet re-read hero). Evidence: parity/shots/issue4778/. Ledger: parity-brain.md addendum 2026-09-12b. 2026-09-12 — #4714 Teach bar + peek redrawn to shipped (PR #4723; two Peyton rulings 2026-09-11 superseded the 09-10c draft): #f-pb-bar / -m is an opaque dark pill (bg-black/.80, no node glyph, no chevron — the ink-glass draft went invisible white-on-white over a bright playbook card). #f-pb-peek / -m has no dim and no ⤒ More ways to share (deleted — redundant once transparentBackdrop keeps the real playbook bright and scrollable behind the peek; a dropped file is the only remaining expansion). Ledger: parity-brain.md addendum 2026-09-12. 2026-09-10 — #4705 Customer Q&A chapter: SIX heads + what a read added (Peyton rulings 2026-09-10, drawn before build): the founder-facing heads are six, fixed order — Booking · Paying & refunds · What’s included · Logistics · What to expect · About the business — tail Your other answers (untagged only), House rules retired, ONE chapter per business whatever the persona mix, category = f(slug) (32 slugs → 6 heads). Redrawn on #f32 / #f32-m (32a · 32a-multi · 32c + twins — About the business renders bare with + Add a question until its corpus rows exist), #f33 / #f33-m and #f33-dense / -m. NEW #f33-qa (+ #f33-qa-m): a non-retreat founder’s chapter 05 (webinars, school seminars, coaching, volunteering) in three states — #f33-qa-a confirmed · #f33-qa-b fresh read pending (non-lit draft row “From Customer Q&A.docx · 7 new · 1 changed”, new rows IN PLACE under their head with the AC-BRAIN-185 lantern-dim edge + chip, ONE gold Save to Brain in the band) · #f33-qa-c the decision rows (same question / new answer = the IR2pb-v2 two-reading block, Keep mine / Use new one · near-duplicate = same block, kicker “Looks like one you have”, Keep both / Replace mine · fragment = “Needs context — which event? add it →”, never lands). Chip strings are Chief Writer placeholders. Ledger: parity-brain.md addendum 2026-09-10 #4705. 2026-09-09 — PR-3 (#4443) one Read, one sequential queue, one consolidate — four #f34-spine-queue* frames drawn before build (Peyton ruling + sign-off 2026-09-09): the Teach sheet’s two submit paths (image-block Read + doc-tray Add files) collapse into ONE Read; everything staged enters one sequential reading queue and every item is a row on the Building your Brain line — #f34-spine-queue (right after the tap: a count caption 21 received · reading 1 of 21, ONE ◐ spinner, empty nodes for the rest, the tail folded to 3 named rows + 17 more queued), #f34-spine-queue-mid (✓ rows — no per-item count, the batch caption is the only one — a red ✗ Couldn’t read — with its one door, a grey Not read — coming soon for an image we can’t read at all (every other image is vision-read) — no door, no lantern — two folds), #f34-spine-queue-consolidate (every row settled, receipt caption, then the ONE earned ◐ Drafting — your playbook — the draft lands once after the last row) and #f34-spine-queue-done (partial’s ✓ Drafted → ✓ Done leg over the receipt; the ✗ settles into Needs you). 375 twins for all four, one 768 (#f34-spine-queue-t) carrying the family tier rule. Fold rule: a run of ≥5 same-status rows shows 3 + a count row, tap to expand; the ◐ and every ✗ never fold. #f34-spine-reading is superseded for trays of 2+. Frozen photos settle in turn (Peyton lock 2026-09-09; up-front-at-the-tap rejected). Copy: spec §8. Ledger: parity-brain.md addendum 2026-09-09 PR-3. 2026-09-09 — PR-2 (#4443) sheet-closes-on-the-tap, four #f34-spine-* frames land + the 3 waived frames from PR-1's merge: the Teach door's Read tap now hands the staged tray straight to the page and closes the sheet — #f34-spine-reading (redrawn to the shipped shape: one row per staged item, ONE spinner only) and #f34-spine-none (redrawn: caption waiting on you never done, one door per ✗ row — Reconnect → XOR the rail jump, never both) plus two NEW frames on an all-failed/empty landing that PR-1 never needed standalone — #f34-spine-empty (everything read, nothing fit a playbook field — §2 grammar rows + a conditional Look again → door, withheld when the tray held a charged upload) and #f34-spine-settled-failure (read and charged but couldn't sort — one ✗ row, no door at all, re-reading would re-charge). #f34-tray-retry reconciled to what ships (the batch "nothing was charged" block and a standalone Reconnect Google button both retired from the frame as never-built; per-chip reopen reasons kept and labelled SPECIFIED-NOT-BUILT). Also lands the 3 frames Peyton waived at PR-1's #4641 merge: #f-bs-1-unavail / #f-bs-1-unreach (Web-door site-unreachable + search-unavailable, PRD v5.29 rules 5/9) plus fix B's title/meta split. Two review passes on this branch (2026-09-08 first draft, 2026-09-09 final re-sign against the merged code) — every frame's acceptance note now cites the actual shipped condition, not the reviewed-before-code-settled draft. Ledger: parity-brain.md addendum 2026-09-09. 2026-09-06b — "the line asks, nothing else does" (PRD v5.27, Peyton, /design): Row B's identity confirm becomes a five-row labelled list (Business · What you do · Founder · Location · Website / IG) with per-field guidance; the field-by-field editor sheet is retired (Fix it field by field → gone, f13-biz-sheet + twins → register) — the inline Other — tell us what's right free-text field is the only correction door. Verb lock: That's me — continue ✦ replaces — run ✦ on this line; Continue → replaces Use this →. 2026-09-06a — two doors everywhere on Build (Peyton morning rulings): the old single-panel #f34-walk deck (18 slides) is retired to the register with two-door successors — #f-bs-0-armed gains the inline “Accepted — this is a website” line, #f-bs-0-refuse covers Notion + Google Doc; a link pasted into the Teach sheet gets the same inline accepted / lantern can’t-read slot (#f34-share-link-ok / -walled / -connect + 768 / 375); the Building line is one “Building your Brain” grammar on both doors (#f-bs-1 / #f-bs-1t), the teach frame carrying the inline question row with Other — tell us what’s right. 2026-09-05b — five tabs by stage (Peyton Q1–Q6): Build (Start · Doors · Building · Landed) · Playbook (Draft → confirm · The book · Examples) · Loop (Weeks later · Build again) · Edit (Book → edit · Chapters · Depth sheets) · More (Components · Future · Backlog · Register). One shelf per stage or door; the ONE “Building your Brain” line reviews on Build → Building in every state; old-design frames sit on the register with ids kept. PR #4489’s read-line + tray frames (sign-off pending) and the 2026-09-04f–i loop frames are folded onto their stage shelves. Earlier notes, kept for the trail — 2026-08-28ag: the ingest-parity frame set is drawn (spec-brain-ingest-parity-127 §6, awaiting Peyton sign-off — drawn unblocks review, sign-off unblocks T9/T10/T11 build) — the source coverage ledger (#f5-src + 375 twin, the one new screen), waiting sources on the deck (#f-ir-2b-src-wait), the linked-doc Read this too ✦ door (#f-ir-2c-doc), provenance citations on the across slide (#f-ir-2b-across-cite) and the patched read (#f-ir-2h-cite), PDF and look/voice confirm rows (#f15-loop-j3c-doc / #f15-loop-j3c-look), the ⚑ differs no-silent-overwrite chip (#f15-loop-j3c-differs, spec §3 rule 5), and cross-device resume (#f15-loop-j3r-away). New ids review on Research · Web and Share loop; all base frames untouched. Intake is one frame — guest and signed-in share the same body; the example shelf stays through refuse and researching (playbooks slide, Our read stands, a slight gap marks the two categories) on Import, Playbook 9a, and Share loop J1/J2 (#f34 / #f34-in / #f34-walk / #f1 1b / Share J2). On the long researching page the books sit above the playbook edit rows. Our read tab is her two books (or the deck) once they exist — examples demote to the hairline. The founder’s knowledge page: import → recognize → customer-ready → teach the inside → live. Share anything and Teach your Brain more use the same AttachmentChip rows and one Save to my Brain (brain.html #f15 · #f15-lots · #f1f · #f28 · #f28-share). Playbook is her words as a book; Our read is ours as a full-page deck. Review tabs are Import · Playbook · Our read · More (Ready and Live retired 2026-08-24 — those frames ride Playbook; Share loop folded under Playbook 2026-08-24 — it is part of building the playbook). Import splits into Brain Research (web) · Brain Research (teach) · Research-Confirmation · Start. 27l: Teach unread well — We couldn't open that page. Add what's on it, or a file. (silent sales_channel_urls write is not a share inbox). 27k: Teach sheet copy C — what you do and sell; save / research or keep; Type, paste, or drop a file. 27j: Add to your Brain eyebrow retired. 27i: Research · Web is the site-read spine; Research · Teach is Teach your Brain (share → research → confirm → playbook + Our read). Brain Research (`#phase-research`) is the start-new web walk (empty → filled → slide-door Quick check during the read → which-business before the paid read → paid / IR2 rail → first playbook / IR3); Research-Confirmation is the confirm walk after that pick (2026-08-26v) — Not quite / Re-find → the read running (`#f-ir-2c`, twin of IR2; IR2 stays the research spine) → Our read under a standing info tape (this is what we read — nothing saves until she confirms) → one save-this-read decision on This read (`#f-ir-2d`, NEW PRD debt amending AC-BRAIN-22; field confirm stays on drafts) → the saved copy (`#f-ir-2e`) → later, one door: tell us what to fix (`#f-ir-2f`) → scoped Share anything (`#f-ir-2g`, only the parts she names; a full site read is last-line opt-in) → same v1 updated (`#f-ir-2h`). Historical S1 start stays on Import → Start. The Playbook tab's review chrome splits into five sub-tabs — Your book · Share loop · Examples · Customer Q&A · Co-edit (review chrome only, not a product split; Shelf & doors retired 2026-08-28 — it was the tab's untagged-frame fallback bucket, not a distinct section, and its shipped frames re-homed into Your book / Co-edit). Chapter edit sheets review on Playbook → Co-edit. How you look in the book still reviews on Your book (#f36 / #f37). Branding is one chapter: the left pane always nests 1. How you look / 2. How you sound. Co-edit ‹ › walks the chapter sheets only — official names on the pager. How you sound Refine / Saved are the action forms from that sheet. Field-kit scraps and book-over peekers stay in the file, off this walk. Share splits only on the full /brain stage; inside a Brain pane it stacks. Playbook field lock (2026-08-21): Your business carries about + website + Instagram, Your story is a quiet optional row, Direction shows Coming soon, Where to find you adds a Maps fact, and Customer Q&A merges FAQs with a read-only policies tail. f32 Customer Q&A approved to build (2026-08-22, simplification S1, AC-BRAIN-108) — builder kill list: both duplicate suggested-question chip rows, the floating “N to answer →” counter, and the icon empty-state all retire. Activity re-home (2026-08-21, Peyton lock): Activity is outside generated content — the object is art only with a quiet vN chip, Save to Google Doc lives under it (playbook + Our read: no Copy all), and a ≤5-row Activity preview with See all → opens Pulse's Activity tab. 2026-08-23: the book is 10 chapters ending at Direction (How you show up lives in Our Read). Share from a form row docks that row left — Option B Pick at #f28-share, sign-off before any remount. Share anything as gap guidance (specified-not-built, AC-BRAIN-109..118): after the first dump the left pane is the missing brief — frames #f15-guide / #f15-guide-m. Full Option 1 journey (Peyton pick 1, siblings): Playbook → **Share loop** (`#phase-share`) walks empty → researching → playbook + missing → share open → two-step apply → after confirm → Add → type → form-door contrast → missing = 0. Work rail (2026-08-23): Teach, resume, confirm, missing, and the share-next hint live in one right column (`#f15-loop-j3` · `#f15-loop-j3c` · `#f15-loop-j3r` · `#f15-loop-j9`); left is the playbook to read. At 375, Example playbooks · 5 → sits under the two-book shelf, then the work stack. Brain doors never scare on charges (2026-08-23): ✦ is the paid mark; no wallet line on the door; header balance and empty-wallet honesty stay. Playbook drafts-land (#f4 / 2.1) keeps the same example shelf as 9a / Import / Share J2 — playbooks slide, Our read stands; no founder books until she confirms (9b). Couldn’t-read inventory sits on that rail when open (2026-08-24) — compact rows between confirm and missing, drawn at `#f-ir-3` / `#f15-loop-j3` / `#f15-loop-j3c`. IR2 researching (#f-ir-2 / #f-ir-2-m) keeps the IR1 example shelf under the live checklist — no empty chapter rows and no missing list until IR3. 2.3-over (#f33-over) shows the book on top of a dimmed Brain peek — not a dark veil over the whole frame. Empty Playbook 9a puts the example shelf above the Your playbook heading — books first, same order as researching; populated 9b is unchanged. The work rail first mounts at Brain Research IR2 (Teach · What we couldn’t read) once a live read hits something unreadable or she teaches a file — empty Import 1.3-in and IR1 stay intake-only. Where you stand and Activity wait for IR3. 2026-08-25: Co-edit splits Branding — look is #f33e-look (f36 hierarchy); sound is #f33e-voice / #f22w-default on the same hierarchy (Line · Talk · Words · Place + Together). The old quote-stack and look-under-sound paint are retired on this shelf. Preview Size remaps #f36-m ↔ #f36 so Desktop 1180 on a mobile hash opens the How you look sheet, not the nearest book slide. Playbook How you look doors go to #f36 (2.11a), not superseded #f24. How you look in the book is on the /brain preview: Playbook → Your book → #f36 / #f37, or the Size-bar How you look → door. Chapter sheets: Playbook → Co-edit. 2026-08-25 lock (26s, kept through 26v): How you look is one cream paper card — colours → The vibe (moodboard) → quieter web line → type → feel (#f36 / #13-form-look / #f33e-look / #f37 / #f35). Book interiors stop at confirmed moodboard (no web guess). BrandSignal stays under the card. 2026-08-24: signed-in start (#f34-in) taps Share anything over the full start page (#f34-share), then a staged beat for screenshot + PDF + Google Doc (#f34-share-staged). Saved / proposals stay at #f15. Guests still hit #f2b. 2026-08-24: Start is the no-website share flow — desktop guidance LEFT / composer RIGHT (#f34-share); Instagram profile + posts is a first-class start on that one door. 2026-08-25: that left list names moodboard at row 3 (Photos and your moodboard — colors and look); PDF takes menu/flyer; Google Doc is business guidelines. Review build 26q on live 26p. No second door. 2026-08-26: when How you look is empty, Where you stand / What’s missing adds Add a moodboard with Share anything → (same sheet; not counted in /8; not under What we couldn’t read). Frames #f-ir-3 · #f15-loop-j9 · #f34-walk-next. Review build 26u on live 26t. #f34-in, Teach #f15, and 1.6–1.9 left Start. 1.4 on Start is after Save — same IR2 researching path, source is what they shared (#f34-share-next). No #3129 wire — drawn sheet primary stays Save to my Brain. 2026-08-25: playbook Branding interiors match that story — Your book #f33, Examples Clay Room #f35, and the index How you look row (chips + live faces). Not four equal bands. Not “Earthy neutrals, film-grain photos.” Review build 26e: live 26c miss path (RC-none / RC-kept) plus Co-edit chapter sheets (Option B · official pager · kit wrapper hide). Letter beats open #4080’s 26d (no Co-edit). Review build 25y: Co-edit Option B is on the shared preview — Playbook → Co-edit → Q&A from How you run. Beats live 25x so the Co-edit tab is reviewable. 13 desktop sheets + Q&A from How you run confirm + How you sound Refine / Saved; official pager names; kit scraps and 33e peekers off the walk. Branding still nests two subs. How you sound extraction (tone · exact words · Refine · Save is final) sits on the designed card. 25i hours collapse (hidden on Online only) stays. 2026-08-24: live preview overlay — `deploy-design-preview.sh` overlays every live preview file this checkout should not win (not only /brain). 2026-08-25: How you run → Customer Q&A Option B — confirm guest phrasing before guests hear it. Frames #13-form-faq-confirm (+ t/m) on Co-edit; live tail on #13-form-faq. Specified-not-built. Do not slap rewritten on today’s raw tail. Review build 24u: Teach first; unread under What we couldn’t read; deck ends at 17; `#f22v` How you sound restored so a persist does not drop #4005. 2026-08-26x: Import Research IR2 work rail (#f-ir-2 / #f-ir-2-m / #f34-share-next) adds How you look · Add a moodboard with Share anything → — not unread, not counted in /8. Where you stand at IR3 still holds the same row. 2026-08-27: the identity-gate editor (#f1f) gains a fourth editable line, Location · optional, seated between Founder full name and read-only Contact — a second reputation-search disambiguation string (refine.location), same never-blocks-confirm rules as the founder-name line; AC-BRAIN-75 scope guard raised 3→4 editable lines (Peyton ruling, 2026-08-27). 2026-08-27o: How you sound sheets (2.9v / Co-edit #f22w-default / Your book #f33e-voice / template book f35 ch 06) lead with Speaking today — Warm Host default selected, Your voice coming soon locked; personality, 9 trait pills, fixed guardrails, collapsed 9-example fixture. Her sections re-zone as Your voice / saved / coming soon. Shipped 2.9 / 2.9p stay as records (PRD OQ #7). 2026-08-27p: Import pills are Research start (default foyer — guest, signed-in empty, Quick check, which-business, Not quite / Re-find) · Research · Web (site job) · Research · Teach (from-share only) · Others (thin leftover; leftover RC retired). Confirm stays on the door she started. Product dispatch still specified-not-built (v4.99). Review build 27p keeps the Warm Host 27o walk. 2026-08-27q: How you sound stacked chips become a Default / Your-voice tab switcher on 2.9v / Co-edit / 33e-voice; 2.9w draws Default open, Your voice empty, example. Book ch 06 Sound is a full section (specimen · 9 traits · numbered guardrails 01–07 · in action · her saved line). Guardrails sit outside the tabs. Specified-not-built. 2026-08-27s: Teach your Brain primary is Read (not Save to my Brain); confirm chrome is Before we read; #f15 15b saved+proposals retired from the Teach walk. 2026-08-28w: 2.9v/2.9w Co-edit sheet frames move to 13-form-brand two-panel chrome with functional Default/Your-voice tabs. 2026-08-28z: guardrails moved into the built page order (one-liner → traits → guardrails → in action) across all 15 tabbed frames; f22v/f22v-done blank-render fixes. 2026-08-28ai: What-you-sell + Customer Q&A chapter redesign lands — four-beat shape (one-liner → THE LIST → guardrails → in action), a chapter-level Share-anything door replaces the per-row door inside Edit/Add sheets (AC-BRAIN-63 superseded), Edit/Add sheets re-seated onto the 2.5/f13 detail-sheet-as-split axis (list docks left 40%, editor is the platform seated sheet on the right 60% — was a centered dialog over an opaque backdrop), and 7 mobile frames re-filed into the Mobile tier (13-form-sell-empty/linked/sheetside/edit/add-m, 13-form-faq-empty/add-m). 2026-08-28aj: What-you-sell round 2 (three Peyton corrections) — the In MystFlo | From your sheet source-split tabs are REMOVED at every tier (one merged lineup on #13-form-sell-linked; sheet-ness = one quiet provenance line + the two escapes; 13-form-sell-sheetside/-m retired), Sell's category chips become ONE type dropdown (.type-select, the shipped OfferingsReadGroups.tsx select grammar — Q&A keeps its chips), and the chapter door is relabelled Teach your brain with a bulk-upload helper line ("Got a price list or catalog written down? Drop it in — we'll sort it into rows.") — not a label swap: the door opens the LOCKED Option B share host (#f28-share · R6-3 · AC-BRAIN-80) at chapter scope, ShareInline untouched, the chapter lineup docked left ticking live, modal over the sheet (close returns to the chapter, never a navigation), extraction landing in place as confirm-first proposals (converges with AC-BRAIN-126; kit ledger reversal entries pending for the tab-strip and label locks). 2026-08-28ak: #f28-share / #f15-guide build-status chips corrected to shipped — the per-row (OfferingShareComposer), whole-brain (BrainShareMissingBrief), and Option B host mechanics (HostedBrainShare / pagePaneOverride) are all live in code; only the NEW chapter-scope door for What you sell is still pending build. 2026-08-28al: Customer Q&A gets the same treatment (Peyton "yes" — closes 28aj’s two pending Q&A calls) — the topic chips collapse into the same .type-select dropdown ("All topics · N ⌄") on all seven Q&A filter-rows (the shipped FAQ_GROUPS taxonomy is 19 groups, so the collapse saves more here than on Sell; lb-group heads keep every count + coverage word), with ONE deviation: the Gaps only toggle stays a chip beside the dropdown, never an option in it — coverage-state axis, not a topic. The Q&A door is renamed Teach your brain with the parity helper line ("Got an FAQ page or answers written down? Drop it in — we’ll sort it into rows.") — same LOCKED Option B host (#f28-share · R6-3 · AC-BRAIN-80) at chapter scope, answers docked left ticking live, close returns to the chapter, proposals confirm-first. Coverage dots and FaqPersonaSwitch unmoved. Supersedes the 2026-07-12 label lock for this chapter too (kit ledger reversal entry pending alongside 28aj’s). 2026-08-28am: Teach-door live progress lands (AC-BRAIN-127g) — the missing beat between the Teach sheet's Read tap and Our read on an established Brain. New frames #f34-teach-live / -m (running) plus both landing states, #f34-teach-done / -m and #f34-teach-failed / -m ("5a. Live on your playbook"): Read closes the sheet, then a two-row narration (what you shared — read, with real found/couldn't-open counts · researching what it tells us) reuses the #f34-share-next checklist grammar — no public-lookup rows (Teach never runs the lookup). A link the pass couldn't open routes into the SAME couldn't-read section, never a second one — the right rail above the shell's 900px container query, the mobile work stack below it (768 included) — and its why is derived per link (walled / login / error), never one hardcoded reason. On pass-land Our read opens by itself — she never clicks to reach it (127c auto-open, Teach door only) — and the line settles into a quiet done row rather than collapsing: the success path never raises the resume row, so a collapse would strand a read she already paid for behind the back button (127e), and the couldn't-read rows are projected from that same live state. The line clears at confirm-complete. Failure is an honest ✗ row naming what didn't run, plus the resume row that says your read of what you shared — never "your read of your site," since a Teach pass has no url by construction (the AC-BRAIN-43 break this wave closes). Deliberately no try-again button: the pass is a metered AI read (#4275), so the honest doors are Resume (free) and the Teach door (priced at the door). Confirm writes through the one apply spine into playbook + chapter co-edit. Spec: spec-brain-ingest-parity-127.md §5 (127g) · §6 · §7 (T7). 2026-09-01: two new frames close the P0 chapter-fork + Google Doc misroute fix (#4340, AC-BRAIN-148..151) — #f34-teach-scope draws the faces/chapter-disambiguation picker on the Teach/Share origin (it previously only existed on the website-origin frame, #f1f) — and #f34-share-staged-identify draws the new sub-state on the staged-share frame family: a connected file read with real proposals but no business identity shows those proposals AND asks for identity via website/Instagram, instead of the blank website Quick Check. 2026-09-03 (#4386 / PR #4388): the research agent gets its progress line — Peyton ruling that Brain research becomes one proactive agent (scope → ask → expand → narrow → synthesise) with two start doors. New #f-ra-* family, 8 desktop frames + 8 mobile twins on the shipped BrainReadingProgress row grammar, no new chrome: #f-ra-scope (4a, free scoping row), #f-ra-gate (4b, the §4 scope line stated back directly above That’s me — run ✦), then sub-beats of 7 Researching — #f-ra-ask (the one lantern row + Luma · Instagram · Skip as hairline rows, run paused), #f-ra-expand (one row per source, counts in meta), #f-ra-narrow (sources collapse to one done row, exclusion named), #f-ra-fail (✗ Luma + rail door), #f-ra-done (Read done · Scope: Bali · 14 pages · 2 borrowed from the parent) — and Door B on Research · Teach, #f-ra-teach (Kickstarting your research — reading Bali). All specified-not-built, AC-BRAIN-155..164 cited from spec-brain-research-agent-proactive.md; three CPO↔CTO copy/timing conflicts are logged in parity-brain.md, copy untouched. Renders: parity/shots/research-agent/. 2026-09-04: Share loop shelf retired (#4434) — the #phase-share tab and its 26 frames (f15-loop-j1–j9, the -m twins, the j3c-look / j3c-doc / j3c-differs / j3r-away variants) are removed from the file; every id is re-homed in #retired-register so existing deep links (PRD, ingest-parity spec, click-throughs) still resolve — git holds the pixels, nothing was redrawn. Sub-tabs on Playbook review are now Your book · Examples · Customer Q&A · Co-edit. Masthead .about line cut from a multi-sentence wall to one line naming the two journeys and their shelves (no longer mentions Share loop); the "Review build" stamp is unchanged. Three surviving shelves cite retired Share-loop frames as their source drawing (J3r → .rail-resume on 2.0-resume, J3c-differs → the whole-book re-read conflict block, J6 → the shipped "✓ Saved to your Brain" toast) — noted for Peyton, not redrawn. 2026-09-04b (#4438): the "Add to Brain ▾" trigger is relabelled Link Docs ▾ with a page-shaped glyph in place of the ⊕ plus, and the redundant "Link a Google Doc/Sheet" button beside it is removed (zero real callers — #2447). The linked-Google-Doc chip gets its own .sw.doc page-with-folded-corner swatch instead of reusing the generic .sw.link circle. 2026-09-04c (#4446): #f34-teach-live's acceptance-list citation corrected — the "two rows only" bullet mis-cited AC-BRAIN-127a (a dispatch clause) for a display rule; it splits into AC-BRAIN-127g(a) (owns row grammar, now source-type grouping, specified-not-built) and AC-BRAIN-127a (keeps its public-lookup ban, unchanged). Doc-only — no frame content changed. 2026-09-04b (teach-rows) (#4446): per-source-type rows land on the Teach progress line — the "what you shared" beat splits from one blended row into N rows grouped by source type (files, Google docs, links, Instagram, screenshots), never one blended row and never one row per individual file. 4 frames touched: #f34-teach-live / -m (established Brain, the main target) and #f34-share-next / -m (empty Brain, reconciled to the same grammar — it drew grouped rows before but in a retired form). The source inventory these frames need landed the same day in #4455 (ShareSourceItem, TeachResearchArgs.sources, groupShareSources()); the render is what remains unbuilt — nothing consumes sources yet, so the live line still draws the single blended row. 2026-09-04b (brain start/loop): Brain start + Brain · loop land as the two canonical Import stories (#f-bs-0/-t/-m · #f-bs-1/-1t/-2 · #f-bl-1/-2/-2s, 375 / 768 / desktop) — two-door zero state at equal weight, the work rail drawn veiled from the zero state onward, and the rail's overflow cap with its View all sheet. The Import pill row collapses 8 → 5 (Brain start · Brain · loop · Archive · Others · Backlog): the three surviving legacy shelves (foyer · web · teach) fold behind Archive with every id and deep link intact; Share loop is not among them — it stays retired per the clause above. All 22 Activity lists reconciled to the shipped ActivityRow grammar. Signed by PRD v5.22 (AC-BRAIN-42/47/84 amended, AC-BRAIN-119 rewritten, AC-BRAIN-120 now a fill contract). Specified-not-built. 2026-09-05 (#4443 Req 5/5b · #4485 F): eight Research · Teach frames drawn before build, awaiting Peyton sign-off — the staging tray's sub-states (#f34-tray-link / -staged / -dup / -limit / -retry: Link Docs menu, staged-tap-Read, Already added, Limit reached, per-chip reasons) and the k-of-N per-source read line (#f34-spine-reading / -partial / -none), every frame with a 375 twin plus one 768 per family carrying the tier rule. Seat ruled same day: #4443 asked for the line in the right rail; Peyton kept AC-BRAIN-127g's main-column read-spine seat unamended, so the line sits where #f34-teach-live already does and the rail keeps only its couldn't-read registry. Toast → inline upheld for Already added / Limit reached.#4445): the same-day Archive collapse (04d) is un-collapsed one level — Research start · Research · Web · Research · Teach return as three separately findable pills (seven total with Brain start / Brain · loop / Others / Backlog), id mapping restored verbatim from the pre-collapse commit (120 ids, zero re-sorted). Six entry frames — #f-ir-2/#f-ir-3 on Web, #f34-teach-live/#f34-teach-updated on Teach, all with 375 twins — move onto the unified Where you stand · Needs you · Activity rail from Brain start/loop. The other ~150 legacy frames under those three pills are untouched. Also this pass: zero-state headline "Start your Brain" → "Build your Brain"; steer line justifies website-first by coverage, not speed; the duplicated "Edit a chapter" list dropped from BS-2/BL-1/BL-2 (matches shipped — coEditDoors lock); stale-row warning triangle removed, monochrome per the one-lantern rule. Review build 2026-09-04d.#XYZ chips (last 3 of display_id — never the full ASST-… dump); 375 chip-omit retired; frames 1c / 3-t are drawn 768 shells (collapsed 64px rail, 2×2 KPI).shell.html: form, sent (Seal), guest (Mark). Thread under the title. Header is Private Beta + Feedback. Do not use feedback.html.The master structure first, then each public assistant that has a full-flow mockup. Filter the flow cards by what the assistant does (type) and who it serves (persona) — chips combine, and the untagged placeholder card always stays visible.
#sec-5d / #sec-14 (1) redrawn — the Book (with the Teach bar) covers the whole viewport when opened from a Brain Check row, landed on the specific chapter the row names; the assistant sheet stays mounted underneath, unseen, and reappears with the row already re-read on Close. #sec-14 (2)/(3) Connects/funds stay genuine 60/40. Ledger: parity-assistant-lifecycle.md addendum 2026-09-12. The path every assistant takes — Explore → Team → Personalize → Connect → Try → live on Pulse → Billing → reactivation. Primary build contract; per-assistant files inherit it. Personalize opens with How you sound (#sec-4a). Share from Connect stays inside the Brain pane — stacked, not a nested 40/60. The Pulse tab is one template, typed right-slot content (#sec-9b · #sec-9b-x · #sec-9b-r · #sec-9b-k); Records (Attendees / Orders / Signups) are a slot in the Pulse card, the FIRST item of that right slot, and a nested scrollable sheet (#sec-8d · #sec-9b-r · #sec-9e) — never a full-width band, a page, or a fifth tab. A separate nested sheet (#sec-9f) carries the tab's fuller activity history. Post-activation header is the four-line contract (#sec-9g / #sec-13g-m) — subject, type + id, status + price + live-since, activity — drawn once here and inherited by every per-assistant file. Post Personalize is the locked mirror (#sec-9c / #sec-13c-m): the pre-activation layout at rest, form column locked, preview column unchanged. Wallet-empty grace window on chat assistants (#sec-8e · #sec-8e-t · #sec-8e-d, locked 2026-09-06, target behaviour pending #4522): the issue sheet names the days left while messages still reach her on Slack, then reads differently once relaying stops on day 16 — status line, badge and amber stay D-3 verbatim in both states.pulse.html frame 3 redrawn to match). Post Personalize (9d / 9d-m) redrawn as “pre at rest” — saved topics as chip groups, no history sections. Founder: Discover → Evaluate → Activate → Monitor. Guest: Trigger → Interact → Outcome. Post Personalize (#sec-9d) is read-only — chips carry no remove control, no add-topic, and the Slack notify renders as state text, not a switch. Personalize frames carry the read-only WhatsApp connected · This assistant's follow-ups · … · Edit → row (per-assistant status, not the account list) and the two message badges (Instant · any language / Meta pre-approved).#sec-3s / #sec-3s-t / #sec-3s-m frames A–E: Personalize heads-up only when Support isn't live; Connect ends with a locked "Add-on: On-Brand Support" row (reads Active when Support is live); Try reads back both and offers one "Activate both" (Paused / Stopped / Brain-short variants). Copy provisional until Peyton signs off the frames. Support pause blocked under a live booking: assistant-lifecycle.html. Catalog card → Personalize → guest DM → activation → Pulse. Booking share rail is full wa.me + Copy, short wa.me/{digits} + Copy short, and QR + Download QR — never hidden while WhatsApp is unconnected. Guest thread: invite names the program + date, paid submit thanks first then Pay now, free RSVP confirms in chat, and two live cards on one number get a name+date list (sec-9 Mode D). WhatsApp reminders required; email optional. Post-activation detail sheet lives in the artifact (sec-8b). Attendees: a slot in the Pulse card, a block in the Pulse tab, and a nested scrollable sheet with every state (sec-13) — no standalone page. Personalize now draws Start time (required) beside End time (optional) on one row — stacked at 375 — with the "before your start time" hint that #4616 ships, now placed inside the End cell itself with End cleared to a placeholder while stale (sec-3 / sec-3b). Category 01 order matches the live schema: name → date → price/seats → time pair → Timezone (new) → Location (required, new) → Google Maps link (optional, new); Photo stays in 04a. Guest invite bubble now shows date · time · location before the tap line, with a photo-header alt-state when Photo is set (#4570). Try/success now also draws the honest state for a workshop/event row that failed to seed — "Your workshop details didn't save," retry, bookings/reminders paused until it saves, plus a Pulse "Needs your attention" revisit row if dismissed (sec-try-seed-failed, desktop + 375-in-tier-m) — NOT BUILT, filed as #4634. Payment vehicles redrawn INSIDE 02 · How guests pay (Peyton ruling 2026-09-10): a two-vehicle checkbox group — link, QR, or both — under the Pay-in-full / Free-RSVP radio, both inputs required when both are ticked, Free RSVP folds the group away; 04a Messages is now one numbered flow in guest order (invite → form → Payment ask "Scan the QR to pay, or use the link below." → confirmation → reminder), rail beats tied to rows; both sent = one QR-image bubble with the link on its own caption line (sec-3 / sec-3b) — SPEC-CHANGED · #4703 · not built, supersedes the single-choice radio + separate 04b block still live in prod.Letter gallery in Brand System V3 chrome. Dialect pixels also live on the Email tab of design-foundations.html.
mystflo-website · full-token dialect, the parity reference · same core, page-flow mockups arrive as website design work goes mockup-first
Seal states, reduced-motion holds, and earned motion — authored in the foundations file.
Feed-legible mono-card dialect + deck treatment · direction-level today — detail earns its spec when those surfaces mature