Architecture Spine
``` Leisure(t) = (Captain ⊕ Workers ⊕ Sensors) ↦ Phone │ governed by EW invariants │ surfaced through │ ControlOps · DataStreams · Notifications · Widgets · Voice · DeepLinks ```
Full Public Reader
Architecture Spine
Source: Track 4 forge. The formula, the DNA, the control surfaces.
The leisure formula
Leisure(t) = (Captain ⊕ Workers ⊕ Sensors) ↦ Phone
│
governed by EW invariants
│
surfaced through
│
ControlOps · DataStreams · Notifications · Widgets · Voice · DeepLinks> Leisure is the state where the home Macs hold the project memory, the home Macs do the work, and the iPhone is the cockpit. Confirmations are cheap, intervention is rare, and the system has a fallback for every degraded path.
The 7 DNA categories of work
| # | Archetype | Plane | Failure mode | Examples |
|---|---|---|---|---|
| 1 | ControlOp | Control | Throw loudly, never silently retry | send-prompt, /inject, restart-service, switch-chat |
| 2 | DataStream | Data | Silent retry, banner only when stale | pane snapshot polling, /response endpoints |
| 3 | CaptainSummary | Bridge | Always falls back to gateway heuristic | /captain/ask, next-prompt drafts |
| 4 | SensorStream | Data | Drop frames on backpressure | KARL trajectories, idle-detection state machine |
| 5 | AutopilotAgent | Bridge | Pause on first failure, never silent loop | Captain → Codex auto-queue, Pulse sessions |
| 6 | WidgetGlance | Projection | Read-only, schema-checked, ≤120 char previews | Home Screen widget, MeshHealth tile |
| 7 | VoiceDictation | Control | Always editable before send | Pebble Whisper composer, future Siri intents |
Mixing two archetypes inside a single endpoint is forbidden at design time.
Phone-to-mesh control surface map
Each row is a phone affordance mapped to a mesh capability. If a row is missing, the leisure OS has a hole.
| Phone affordance | Archetype | Mesh endpoint | Fallback |
|---|---|---|---|
| Tap row | DeepLinkJump | NavigationSplitView selection | Empty-detail placeholder |
| Send text | ControlOp | /codex/inject or /inject | 503 banner → "send to active" |
| Voice dictation | VoiceDictation | Local Whisper → composer | Manual edit always available |
| Heart icon | CaptainSummary | /captain/ask | Local-heuristic fallback |
| Magic wand cue | CaptainSummary→ControlOp | Captain drafts; user sends | Any reachable pane |
| Autopilot toggle | AutopilotAgent | Background loop | Pause + banner on failure |
| Widget tap | DeepLinkJump | pebble://voice quick-send | Cold-launch emptyDetail |
| Widget row tap | DeepLinkJump | pebble://chat/<id> | Sidebar selection |
| Push notification | NotificationTrigger | ntfy idle-watcher | Batched on next foreground |
> See also: [`../measurement/02-ew-invariants.md`](../measurement/02-ew-invariants.md) for the five invariants that govern this system. [`../archive/track-4-architecture.md`](../archive/track-4-architecture.md) for the full architecture forge including anti-patterns.
Promotion Decision
Promote into a technical note or architecture paper with implementation anchors.
Source Anchor
Leisure/strategy/03-architecture-spine.md
Detected Structure
Method · Architecture