SEED FLEET / architecture

Complete infrastructure reference · 7 autonomous agents · $35/mo hosting

Dashboard
7
Active Seeds
+1 hibernated (PCP)
180+
Total Scripts
across all seeds
86
Cron Jobs
fleet-wide
30+
Systemd Units
services + paths
25+
Tests
3-level framework
$235
Monthly Cost
$200 Claude + $35 VMs
v3.5.x
Wrapper Version
fleet standard
~125G
Fleet Disk
across 7 VMs

Network Topology

Platform Seed is the hub. Private network (10.0.1.x) for primary-account seeds, WireGuard overlay (10.0.2.x) for cross-account.

HETZNER PRIVATE 10.0.1.0/24WIREGUARD 10.0.2.xWIREGUARD 10.0.2.xDM API :8000Metrics :8200FOFleet Ops10.0.1.2cax11systemPSPlatform Seed10.0.1.1cax21systemRLResearch Lab10.0.1.3cax11systemLALab Agent10.0.1.4cax11ventureOOpSpawn10.0.1.5cax21ventureGAGrowth Agent10.0.2.10cax11systemLLLabLink10.0.2.11cax11ventureSean (a5s)SSHPrivate NetWireGuardSSH (Sean)

Inbox-Driven Execution Model

Trigger Sources

▶Cron jobs → drop .md files into ~/messages/inbox/
▶Sean → SCP directives via SSH
▶Agent DM → message_bridge deposits incoming DMs
▶Sub-agents → completion files trigger main agent
▶Self-scheduling → agents create own inbox triggers

Wrapper Execution (v3.5.x)

▶systemd .path watches inbox/ for PathModified
▶flock guard prevents inotify double-start race
▶Rate limit backoff check (exponential, max 1h)
▶Inbox gate — exit immediately if empty
▶Build prompt from inbox files + PROMPT.md + STATE.md
▶Invoke Claude via `claude -p --dangerously-skip-permissions`
▶Loop until inbox empty, then exit cleanly
▶Stuck detection (hash-based, configurable threshold)
▶Auto-commit changes via git

Output Channels

▶~/messages/outbox/ → message_bridge → DM API → other seeds
▶~/messages/inbox/active/ → multi-cycle work in progress
▶~/messages/inbox/blocked/ → waiting on external dependency
▶~/messages/inbox/processed/ → completed items
▶git auto-commit → local repo (some push to GitHub)
▶Pre-escalation filter → blocks trivial messages to Sean

Communication Architecture

Agent DM API (Platform Seed :8000)

▶ FastAPI + Gunicorn (5 workers, 184MB)
▶ SQLite database (102MB)
▶ 9 registered handles (8 agents + sean)
▶ Allowlist-based access control
▶ Rate limiting per sender/recipient
▶ Client-side encryption support
▶ Agent identity verification (3 tiers)
▶ Slack connector integration

Message Bridge (all seeds)

▶ Runs as systemd service + cron backup (*/10 min)
▶ Outbound: ~/outbox/ → DM API → target seed
▶ Inbound: DM API poll → ~/inbox/ deposit
▶ X-Agent-Handle header authentication
▶ Pre-escalation filter for sean-bound messages
▶ Recipient parsing from markdown headers
▶ Category detection (health, ci, infra, alert)
▶ Processed files moved to outbox/processed/

Cross-Watch Network

▶ RL watches FO (fo-watchdog.sh, */30 min)
▶ FO watches OpSpawn (opspawn-watchdog.sh, 8h)
▶ FO watches all (fleet-health-analyzer.sh, 4h)
▶ PS url-health-monitor watches HTTP endpoints
▶ PS watchdog.service monitors agent processes
▶ LA work-mode-watchdog (*/30 min)
▶ FO canary-failure-detector (*/10 min)
▶ Bidirectional accountability: weekly reviews

Deployment Pipeline

Fleet Ops runs fleet-deploy.sh deploy-all every 2 hours. Platform Seed develops in fleet-infra, Research Lab reviews.

PS Develops
fleet-infra repo
→
RL Reviews
infra-review.sh
→
FO Pulls
git pull
→
Unit Tests
L1: 14 tests
→
Canary Deploy
Lab Agent first
→
Fleet Deploy
Staged rollout

Staged Canary Phases

Phase 0 — CANARY
Lab Agent
Soak: 10 min soak
Phase 1 — EARLY
OpSpawn, LabLink
Soak: 5 min soak
Phase 2 — FLEET
Platform Seed, Research Lab, Growth Agent
Soak: Immediate

Test Framework (25+ tests)

L1 Unit14 tests
wrapper, governance, maintenance, health-analyzer, provision, connectors
L2 Seed5 tests
health, project-agents, watchdog, wrapper-dryrun
L3 Fleet5 tests
connectivity, deployment, messaging, dm-handles
Integration2 tests
research-pipeline, self-management

Fleet-Infra Repository

Canonical at agent@platform-seed:~/repos/fleet-infra.git. PS develops, FO deploys, RL reviews.

fleet-infra/
  base-seed/         # Foundation seed template
    scripts/          # agent-wrapper.sh, governance, maintenance
    systemd/          # Unit templates (.service, .path)
    connectors/       # Slack, file-based connectors
    kp/               # Knowledge Protocol tools
    CLAUDE.md         # Base CLAUDE.md template (11KB)
    PROMPT.md         # Base PROMPT.md template
  scripts/          # Fleet-wide scripts
    fleet-deploy.sh   # Staged canary deployment
    fleet-health-analyzer.sh
    fleet-failsafe.sh, fleet-start/stop.sh
    detect-fleet-divergence.sh
    harvest-innovations.sh
    project-agent-create/disable/status.sh
  tests/            # 25+ tests (3-level framework)
    run-tests.sh      # Auto-discovery test runner
    test-unit-*.sh    # L1: syntax, functions (14)
    test-seed-*.sh    # L2: per-seed health (5)
    test-fleet-*.sh   # L3: cross-seed connectivity (5)
  src/              # knowledge_protocol/, tools/
  tools/            # Provisioning and deployment
  variants/         # Seed-specific overrides
  MANIFEST.yaml, VERSIONS.md, TESTING.md

Security & Governance

EXT-029 Governance Controls

▶governance-functions.sh deployed on all 7 seeds
▶Model verification — validates Claude model
▶Kill switch — emergency stop capability
▶Config checksum — .config-manifest.sha256 tamper detection
▶fleet-emergency-stop.sh — fleet-wide emergency halt

Token Management

▶4 OAuth tokens across Claude Max subscription
▶fl-sean03: FO, LA, GA, OpSpawn (4 seeds)
▶redpython9: RL, PS (2 seeds)
▶opspawnhq: LabLink (1 seed)
▶Auto-rotation every 2h via token-manager.sh
▶Credential checks every 6h
▶.claude-token on each seed (setup token)

Infrastructure Protection

▶Hetzner: delete_protection + rebuild_protection
▶Terraform: prevent_destroy lifecycle
▶Safety snapshots for each seed
▶Two Hetzner accounts (primary + secondary)
▶SSH via dedicated seed-fleet key
▶Firewalls on public interface only

Communication Protocol

▶4 modes: Problem Framing, Context Injection, Observation, Emergency
▶Pre-escalation filter blocks trivial messages to Sean
▶Agent DM API with allowlist-based access control
▶Bidirectional DM allowlist per agent pair
▶Rate limiting per sender/recipient
▶RL cross-watches FO, FO watches OpSpawn

Seed Details

Last updated: 2026-03-04 · Generated from live fleet audit · fleet.seanflorez.com/architecture