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)
Primary: GitHub Pages (stable, no Tailscale required):
| Mockup | URL | Version |
|---|---|---|
| 00 — Platonic ideal | https://jacobcole.ai/picortex/00-platonic-ideal.html | v0.2 (current) |
| 00 — Platonic ideal (historical) | https://jacobcole.ai/picortex/00-platonic-ideal-v0.1.html | v0.1 — superseded |
| 01 — Option 2 · Piyush-style | https://jacobcole.ai/picortex/01-option-2-piyush-style.html | v0.1 (current) |
| 02 — Option 4 · Noos-style | https://jacobcole.ai/picortex/02-option-4-noos-style.html | v0.1 (current) |
Fallback: Tailscale HTTPS while the Mac Mini HTTP server is up:
| Mockup | URL |
|---|---|
| 00 — Platonic ideal (v0.2) | https://sdmm291.tailb2a35c.ts.net:8471/00-platonic-ideal.html |
| 00 — Platonic ideal (v0.1) | https://sdmm291.tailb2a35c.ts.net:8471/00-platonic-ideal-v0.1.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 |
Version history
- Mockup 00 v0.2 (2026-04-23) — Architecture diagram collapsed to one Jacob's-phone box with annotation explaining "out-of-band = different DM thread, not different endpoint." Fix for Jacob's feedback on v0.1.
- Mockup 00 v0.1 (2026-04-23) — Initial draft. Diagram drew Jacob's phone twice (inbound DM box + out-of-band approval box). Same device, confusing — superseded by v0.2.
- Mockups 01 and 02 v0.1 (2026-04-23) — Initial concrete-architecture mockups, no revisions yet.
Source
| Mockup | WikiHub (source view) | Local path |
|---|---|---|
| 00 (v0.2, current) | docs/mockups/00-platonic-ideal.html | ~/code/picortex/docs/mockups/00-platonic-ideal.html |
| 00 (v0.1, historical) | docs/mockups/00-platonic-ideal-v0.1.html | ~/code/picortex/docs/mockups/00-platonic-ideal-v0.1.html |
| 01 | docs/mockups/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 | ~/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
DisclosureEventaudit 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> -pper 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 --printsubprocess 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_turnsSQLite 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 + architecturepicortex-ofb— [Mockup] Option 2 concrete architecturepicortex-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."