doc: replace mermaid with ASCII diagrams

This commit is contained in:
Levi Neely 2026-07-29 15:43:10 +02:00
parent c5b6e5b694
commit c3d37f60c9
1 changed files with 97 additions and 87 deletions

View File

@ -5,47 +5,44 @@ How the Ollie system-of-systems emerged and evolved.
## Timeline
```mermaid
gantt
title Ollie Architecture Evolution
dateFormat YYYY-MM-DD
axisFormat %b %d
```
Apr May Jun Jul
|----|--------|--------|--------|--------|
Foundation
Monorepo + submodules ===
9P filesystem . ============
section Foundation
Monorepo + submodules :2026-04-11, 3d
9P filesystem interface :2026-04-14, 14d
Core Primitives
Session lifecycle (s/) ==================
Tool scripts ============
Skills system ========
section Core Primitives
Session lifecycle (s/) :2026-04-20, 21d
Tool scripts (file/memory/reasoning) :2026-04-28, 14d
Skills system :2026-05-01, 10d
Execution
execute_code ==========
Batch jobs (b/→s/bfg) ==================
Sandbox (landrun) ====================================
section Execution
execute_code (multi-lang) :2026-05-10, 14d
Batch jobs (b/ → s/bfg,s/bbg) :2026-05-15, 21d
Sandbox (landrun) :2026-05-20, 60d
Multi-Agent
Subagent spawn ==========
Cascade orchestrator ==========
JIT agent generation ====
section Multi-Agent
Subagent spawn :2026-05-25, 14d
Cascade orchestrator :2026-06-01, 14d
JIT agent generation :2026-06-15, 7d
Frontends
TUI + Emacs (ellie) =====================================
Acme (Plan 9) ============================
Web UI + httpgw ====================
KDE/Plasma ========================
section Frontends
TUI + Emacs (ellie) :2026-04-11, 60d
Acme (Plan 9) :2026-06-01, 45d
Web UI + httpgw :2026-05-28, 30d
KDE/Plasma (plasmoid + GUI) :2026-06-20, 40d
Control Planes
D-Bus adapter (ollied) ===============
D-Bus embedded in srv =====
section Control Planes
D-Bus adapter (ollied) :2026-06-25, 21d
D-Bus embedded in olliesrv :2026-07-10, 7d
section Late Evolution
Remote execution (split-brain) :2026-07-05, 14d
Elevation broker :2026-07-10, 14d
Tool registry (lazy-load) :2026-07-20, 9d
Reactions / feedback :2026-07-18, 7d
FUSE → 9P client migration :2026-07-20, 5d
Late Evolution
Remote execution ==========
Elevation broker ==========
Tool registry (lazy) ======
Reactions / feedback =====
FUSE → 9P client ====
```
## Phase 1: Monorepo Bootstrap (Apr 11)
@ -112,20 +109,35 @@ Three patterns emerged:
- **cascade** — script-driven fan-out with `-max-workers`, `-retries`, optional
synthesis step
```mermaid
flowchart TD
User -->|prompt| Parent[Parent Session]
Parent -->|subagent_spawn| W1[Worker 1]
Parent -->|subagent_spawn| W2[Worker 2]
Parent -->|subagent_spawn| W3[Worker 3]
W1 -->|write to prompt| Parent
W2 -->|write to prompt| Parent
W3 -->|write to prompt| Parent
```
┌──────────────────┐
│ User prompt │
└────────┬─────────┘
│
┌────────▼─────────┐
│ Parent Session │
└──┬──────┬──────┬─┘
subagent_ │ │ │ subagent_
spawn │ │ │ spawn
┌────────▼┐ ┌──▼───┐ ┌▼────────┐
│Worker 1 │ │Wkr 2 │ │Worker 3 │
└────┬────┘ └──┬───┘ └────┬────┘
│ │ │
└──────────┼───────────┘
write to parent's prompt
Parent -->|cascade| Cascade[u/cascade script]
Cascade -->|spawn + throttle| CW1[Cascade Worker]
Cascade -->|spawn + throttle| CW2[Cascade Worker]
Cascade -->|synthesize| Parent
┌────────▼─────────┐
│ Parent Session │──── cascade ───┐
└──────────────────┘ │
┌─────────▼──────────┐
│ u/cascade │
│ (spawn + throttle) │
└───┬──────────┬─────┘
│ │
┌────▼───┐ ┌───▼────┐
│Cascade │ │Cascade │
│Worker │ │Worker │
└────────┘ └────────┘
```
Inter-agent communication uses the filesystem: agents write to each other's
@ -133,32 +145,24 @@ Inter-agent communication uses the filesystem: agents write to each other's
## Phase 6: Frontend Proliferation
```mermaid
flowchart LR
subgraph Control Planes
9P[9P File Server]
DBus[D-Bus Service]
end
subgraph Frontends
SH[s/sh — shell]
Acme[ollie-acme]
El[ellie.el — Emacs]
KDE[ollie-kde — Plasma]
Web[Web UI]
end
subgraph Server
Core[agent.Core]
end
Core --- 9P
Core --- DBus
9P --- SH
9P --- Acme
9P --- El
DBus --- KDE
DBus ---|httpgw| Web
```
┌─────────────────┐
│ agent.Core │
└───┬─────────┬───┘
│ │
┌──────▼───┐ ┌───▼──────┐
│ 9P Server│ │D-Bus Svc │
└──┬──┬──┬┘ └──┬─────┬──┘
│ │ │ │ │
┌─────────┘ │ └──┐ │ └──────────┐
│ │ │ │ │
┌─────▼───┐ ┌────▼──┐ │ ├────────┐ ┌────▼────┐
│ s/sh │ │ acme │ │ │ KDE │ │ Web UI │
└─────────┘ └───────┘ │ │Plasmoid│ │(httpgw) │
┌────▼──┤KRunner │ └─────────┘
│ellie │Kate │
└───────┤GUI │
└────────┘
```
- **s/sh** — shell script frontend (bash, briefly rc, back to bash)
@ -171,19 +175,25 @@ flowchart LR
## Phase 7: Security Model (May – Jul)
```mermaid
flowchart TD
Agent -->|sandboxed| Landrun[landrun sandbox]
Landrun -->|restricted fs| Tools
Tools -->|needs escape| Elevate[x/elevate broker]
Elevate -->|socket| Broker[Integrated Broker]
Broker -->|user confirms| Action[Privileged Action]
subgraph 9P Permissions
Owner[Session Owner — rw]
AgentID[Agent — restricted]
Peer[Peers — read-only]
end
```
9P Permissions Execution Sandbox
────────────── ─────────────────
Owner → rw Agent
Agent → restricted │
Peers → read-only ▼
landrun sandbox (restricted fs)
│
▼
Tool scripts
│ needs escape?
▼
x/elevate (socket broker)
│
▼
Integrated Broker
│ user confirms
▼
Privileged Action
```
Evolution: