new file mode 100644
index 0000000..d3f9950
@@ -0,0 +1,85 @@
+---
+visibility: public
+---
+
+# Mockups
+
+Three HTML artifacts, cross-linked. Open each in a browser for the full layout (chat bubbles, SVG architecture diagrams, dark theme).
+
+## Viewing the artifacts
+
+### Rendered (best)
+
+While the HTTP server is running on Mac Mini, view via Tailscale:
+
+| Mockup | URL |
+|---|---|
+| 00 — Platonic ideal | https://sdmm291.tailb2a35c.ts.net:8471/00-platonic-ideal.html |
+| 01 — Option 2 · Piyush-style | https://sdmm291.tailb2a35c.ts.net:8471/01-option-2-piyush-style.html |
+| 02 — Option 4 · Noos-style | https://sdmm291.tailb2a35c.ts.net:8471/02-option-4-noos-style.html |
+
+### Source
+
+| Mockup | WikiHub (source view) | Local path |
+|---|---|---|
+| 00 | [docs/mockups/00-platonic-ideal.html](00-platonic-ideal.html) | `~/code/picortex/docs/mockups/00-platonic-ideal.html` |
+| 01 | [docs/mockups/01-option-2-piyush-style.html](01-option-2-piyush-style.html) | `~/code/picortex/docs/mockups/01-option-2-piyush-style.html` |
+| 02 | [docs/mockups/02-option-4-noos-style.html](02-option-4-noos-style.html) | `~/code/picortex/docs/mockups/02-option-4-noos-style.html` |
+
+> Note: WikiHub serves HTML files as `application/octet-stream` (raw source), so Safari will likely download them instead of rendering. Use the Tailscale URL for rendered view, or clone the wiki repo (`git clone https://wikihub.globalbr.ai/@jacobcole/picortex.git`) to view locally.
+
+## What each shows
+
+### 00 — Platonic ideal
+
+The texting experience from the user's side + the abstract (channel- and executor-agnostic) architecture. Contents:
+
+- **User stories** — 6 cards covering Jacob + friends + group members
+- **Scene A — bot respects attention.** Group chat mockup with four human turns of silence, then one @mention triggers one reply.
+- **Scene B — the consent loop (the banger).** Side-by-side: group view (bot says "let me check", types, answers) + Jacob's DM (bot shows question context + proposed reply + approve/deny keys). Below: the `DisclosureEvent` audit row that gets written.
+- **Scene C — manifest dialog.** Bot discloses what it knows about Jacob in this chat.
+- **Scene D — reaction triggers.** ⭐ on a bot message → saves to notes; ❌ → retracts.
+- **Architecture diagram (abstract).** Channel adapter → Bot Gateway → {Attention, Executor, Consent Broker} → Knowledge Layer + out-of-band DM path + audit log. SVG, no machines named.
+- **Flow of a consent-loop turn** as 8 numbered steps.
+
+### 01 — Option 2 · Piyush-style
+
+Concrete 3-machine architecture derived from Piyush's Jan 2026 design, adapted for per-chat isolation + P4 consent loop:
+
+- **Architecture SVG:** Machine A (Bot Gateway, Hetzner VPS) + Machine B (Workspace host with per-chat Linux users) + Machine C (existing noos). SSH + `claude --session-id <chat> -p` per turn.
+- **"What lives where" table** — component × machine × failure cost.
+- **Concrete wire-view consent loop** (8 steps with exact commands).
+- **Code sketch** — Bot Gateway executor in TypeScript.
+- **Strengths/costs, head-to-head** — 5 strengths, 5 costs.
+- **5 failure modes** table with user-visible + recovery.
+
+### 02 — Option 4 · Noos-style
+
+Concrete single-box stateless architecture, closest to noos's existing Slack bot:
+
+- **Architecture SVG:** One Fly Machine + noos. Per-turn ephemeral `claude --print` subprocess with transcript rebuilt from SQLite.
+- **Storage table** — everything durable goes through SQLite; no workspace FS.
+- **Concrete wire-view consent loop** (7 steps).
+- **Code sketch** — `executeTurn()` + `paused_turns` SQLite schema.
+- **Strengths/costs, head-to-head** — cheapest to ship; no code execution surface.
+- **5 failure modes** table.
+- **Migration path Option 4 → Option 2** — additive, not a rewrite.
+
+## Design principles used in all three
+
+- Self-contained single-file HTML (no CDN, no JS, no external fetches)
+- Dark theme for screenshot-ability
+- iMessage-style chat bubbles with reply-to pills and reaction badges
+- Inline SVG for architecture diagrams (crisp at any zoom)
+- Cross-linked top nav on every page
+- Mobile-friendly layout (split panels stack on narrow viewports)
+
+## Tickets closed
+
+- `picortex-b7c` — [Mockup] Platonic-ideal UX + architecture
+- `picortex-ofb` — [Mockup] Option 2 concrete architecture
+- `picortex-95r` — [Mockup] Option 4 concrete architecture
+
+## Still open
+
+If the option-1 (current picortex tmux) arch ever needs a concrete mockup, file a new ticket. Right now it's documented narratively in the original specs and has provisional banners saying "do not start implementation here."
\ No newline at end of file