docs: simplify infra diagram to value-focused paths
Combine Caddy+API and Hermes+detector into single nodes, collapse the LiveKit room internals, and relabel every edge with the value it carries (pre-commit signal, nudge before clash, learn from outcomes) instead of listing every transport hop. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LuV8W8oNYRsDWKoqK8Mkqc
This commit is contained in:
@@ -107,41 +107,24 @@ flowchart LR
|
|||||||
Dev["Engineer browser<br/>React PWA + screen share"]
|
Dev["Engineer browser<br/>React PWA + screen share"]
|
||||||
|
|
||||||
subgraph DO["DigitalOcean droplet — systemd-supervised"]
|
subgraph DO["DigitalOcean droplet — systemd-supervised"]
|
||||||
Caddy["Caddy<br/>serves static frontend · proxies /api"]
|
WebApi["Caddy + API service<br/>static app · /api · LiveKit tokens"]
|
||||||
API["API service<br/>/api/token · /api/pods · /api/outcome"]
|
Agent["Vision agent worker"]
|
||||||
Agent["Vision agent worker<br/>@livekit/rtc-node"]
|
Coord["Hermes coordinator<br/>detects clashes · intervenes"]
|
||||||
Detector["Coordination detector<br/>collisions + blockers"]
|
PyAgent["Live conversation agent<br/>(Python)"]
|
||||||
Hermes["Hermes action layer<br/>cards · messages · urgent voice"]
|
|
||||||
PyAgent["Live conversation agent<br/>LiveKit Agents (Python)"]
|
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph LK["LiveKit room — managed cloud"]
|
LK["LiveKit room<br/>managed cloud"]
|
||||||
Tracks["Screen-share video tracks"]
|
Mongo[("MongoDB Atlas<br/>team memory")]
|
||||||
DataCh["Data topic<br/>podman.intervention"]
|
|
||||||
AudioCh["Audio tracks<br/>TTS + Lyria music"]
|
|
||||||
end
|
|
||||||
|
|
||||||
Mongo[("MongoDB Atlas<br/>observations · collisions<br/>interventions · outcomes · vectors")]
|
Dev -->|"open app · get token"| WebApi
|
||||||
|
Dev <-->|"live screens + voice"| LK
|
||||||
Dev -->|static assets| Caddy
|
LK -->|"pre-commit work signal"| Agent --> Coord
|
||||||
Dev -->|"POST /api/*"| Caddy --> API
|
Coord -->|"nudge before duplicate work / clash"| LK
|
||||||
API -->|LiveKit JWT| Dev
|
LK -->|"cards + spoken alerts"| Dev
|
||||||
Dev -->|publish screen| Tracks
|
PyAgent <-->|"answer questions by voice"| LK
|
||||||
|
Coord -->|"learn from every outcome"| Mongo
|
||||||
Agent -->|subscribe frames| Tracks
|
PyAgent -->|"recall team context"| Mongo
|
||||||
Agent --> Detector --> Hermes
|
WebApi <-->|"pods + outcomes"| Mongo
|
||||||
Hermes -->|cards / messages| DataCh
|
|
||||||
Hermes -->|urgent voice| AudioCh
|
|
||||||
PyAgent <-->|join room · speak| AudioCh
|
|
||||||
DataCh --> Dev
|
|
||||||
AudioCh --> Dev
|
|
||||||
Dev -->|"POST /api/outcome"| Caddy
|
|
||||||
|
|
||||||
API <--> Mongo
|
|
||||||
Agent -->|write observations| Mongo
|
|
||||||
Detector -->|read recall · write collisions| Mongo
|
|
||||||
Hermes -->|write interventions| Mongo
|
|
||||||
PyAgent -->|tool reads| Mongo
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> Mongo connectivity is **required at boot** — the API and both agents ping Atlas
|
> Mongo connectivity is **required at boot** — the API and both agents ping Atlas
|
||||||
|
|||||||
Reference in New Issue
Block a user