doc: replace mermaid with ASCII diagrams
This commit is contained in:
parent
c5b6e5b694
commit
c3d37f60c9
184
doc/EVOLUTION.md
184
doc/EVOLUTION.md
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in New Issue