Assemble your crew.
Navigate the GrandLine.

A multi-agent orchestration platform where persona-based AI agents voyage through a disciplined pipeline to build, test, and deploy software — observable end-to-end, interruptible at any moment.

PDD → TDD → Build → Review → Deploy 5 persona agents Provider-agnostic LLM gateway Real git branches per agent Sandboxed execution No work lost — Vivre Cards
The Crew

Five specialists. Zero god agents.

Each crew member has one job in the voyage pipeline — and every action they take is logged, checkpointed, and observable. No freestyle.

⚓

Captain

Project Manager

Decomposes your mission into a voyage plan — ordered phases with dependencies, crew assignments, and artifacts. Validates the dependency graph (cycle detection included).

voyage_plan_created
🧭

Navigator

Architect

Drafts the Poneglyphs — encoded PDD prompt artifacts with constraints, file paths, and test criteria that guide every downstream step.

poneglyph_drafted
🩺

Doctor

QA Engineer

Writes failing health checks before any code exists (TDD), then re-validates the whole build in a clean sandbox afterwards.

health_check_written validation_passed
🔨

Shipwrights

Developers

Build the code, following Poneglyphs precisely. Iterate against the Doctor's tests until green — in parallel across independent phases, each on its own git branch.

code_generated tests_passed
⚙️

Helmsman

DevOps Engineer

Deploys across three tiers — auto preview, semi-auto staging, approval-gated production — with rollback per tier and root-cause diagnosis on failure.

deployment_completed
The Voyage Pipeline

One state machine. No shortcuts.

Every voyage moves through enforced stage transitions with guards — you can't enter BUILDING until the Doctor's tests exist.

○CHARTEDyou
→
◔PLANNING⚓ Captain
→
◑PDD🧭 Navigator
→
◑TDD🩺 Doctor
→
◕BUILDING🔨 Shipwrights
→
◕REVIEWING🩺 Doctor
→
◕DEPLOYING⚙️ Helmsman
→
●COMPLETED🏴‍☠️
❚❚PAUSED — resumable from any stage ✕FAILED — Vivre Card preserved ⊘CANCELLED — graceful shutdown

“PDD and TDD aren't optional — they're the Log Pose. Without them, the crew doesn't sail.”

The Observation Deck

Your real-time war room

Watch the voyage unfold across three live views — then step in like a fleet admiral. This demo runs a scripted voyage entirely in your browser.

⚓ The Observation Deck is desktop-optimized — rotate or widen your screen for the full war room.
⚓ Observation Deck
Idle· ws
Planning 0
PDD 0
TDD 0
Building 0
Reviewing 0
Deploying 0
Completed & Failed (0)
⚓ captain 0 🧭 navigator 0 🩺 doctor 0 🔨 shipwright 0 ⚙️ helmsman 0
⚓ captain 0 🧭 navigator 0 🩺 doctor 0 🔨 shipwright 0 ⚙️ helmsman 0 events on grandline:events:vg-7f3a2c91: 0

Interactive mockup — every event is simulated in your browser using the platform's real event_type strings, voyage statuses, and intervention semantics. No backend, no API keys.

🗺️ Sea Chart board

Voyages flow left-to-right through pipeline columns. Cards show live status, per-phase build state, and progress. Terminal voyages collapse into Completed & Failed.

🕸️ Crew Map graph

A live DAG of the crew. Nodes pulse while an agent works; edges flash as Den Den Mushi messages travel between agents; badges count recent events.

📜 Ship's Log timeline

The durable record of every crew action — searchable, filterable by crew member, failures-only mode, with cursor pagination over (created_at, id).

🎛️ Fleet admiral controls interventions

Pause, resume, inject context, redirect a phase, or cancel — every intervention triggers a Vivre Card checkpoint so no work is ever lost. Try the buttons during the demo.

The Dial System

Every role dials its own model

A provider-agnostic LLM gateway: per-role provider/model mapping, sliding-window rate limiting, and automatic failover chains — with a Vivre Card checkpoint before every switch.

Crew roleActive provider · modelFallback chain
⚓ captain anthropic claude-sonnet-4 anthropic→openai→ollama
🧭 navigator claude_code sonnet anthropic
🩺 doctor ollama llama3 none
🔨 shipwright openai gpt-4o ollama
⚙️ helmsman claude_code claude-sonnet-4 anthropic

Configured per-voyage via PUT /api/v1/voyages/{id}/dial-config — JSONB role mapping, no restart needed. Providers: anthropic, openai, ollama, claude_code (runs your local Claude Code CLI — subscription auth, no key stored).

Failover, live

Rate limiter trips (100k tokens / 100 req per 60s window) → Vivre Card checkpoint → switch to the next provider in the chain → provider_switched event on the Den Den Mushi.

dial system idle · all providers healthy
Below Deck

The machinery of the voyage

Everything an agent does is evented, checkpointed, sandboxed, and committed to real git history.

🐌 Den Den Mushi Redis Streams

Typed inter-agent events with consumer groups, dead-letter stream, and replay-from-offset. Per-voyage stream grandline:events:{voyage_id}.

voyage_plan_createdtests_passedprovider_switched+17 more

🃏 Vivre Cards PostgreSQL JSONB

Agent state snapshots at every stage, iteration, pause, and failover. Restore, diff two checkpoints, or clean up old ones — resumable voyages, no work lost.

checkpointrestorediffcleanup

📦 Execution Service gVisor sandbox

All agent code runs in isolated containers — per-user sandboxes, resource limits, path-traversal guards, auto-recreate on death. Never on the host.

ExecutionBackend ABCswappable

🌿 Git Integration real repos

Each agent works on its own branch — agent/{crew}/{voyage} — with commits, pushes, PR creation, and conflict detection. Host allowlist prevents token exfiltration.

clonebranchcommitprconflicts

🔐 Auth default-deny

JWT with refresh rotation; every route closed unless explicitly allowed. WebSocket auth rides the grandline-bearer subprotocol — no tokens in URLs.

registerloginrefreshme

🧰 Stack local-first

Next.js 14 + Tailwind · FastAPI + SQLAlchemy · LangGraph · PostgreSQL · Redis Streams · Docker Compose locally, Kubernetes + Helm in production.

RESTSSEWebSocket

🛶 Preview

Auto-deploy on branch push. Containerized preview per voyage.
approval: none

⛵ Staging

Deploys on PR merge with lightweight validation. Rollback = redeploy previous.
approval: lightweight review

🚢 Production

PR to main only. The Helmsman refuses to sail without an explicit approver.
approval: fleet admiral required
API Surface

REST + SSE + WebSocket, versioned at /api/v1

OpenAPI auto-generated by FastAPI. A condensed map of the surface:

POST/voyageschart a course
POST/voyages/{id}/startset sail (202)
POST/voyages/{id}/pause · /resume · /cancelfleet admiral controls
POST/voyages/{id}/inject · /redirectmid-voyage interventions
GET/voyages/{id}/statuspipeline snapshot
SSE/voyages/{id}/streamlive pipeline events
WS/voyages/{id}/eventsObservation Deck stream
GET/voyages/{id}/crew-actionsShip's Log, cursor paged
POST/voyages/{id}/plan⚓ Captain decomposes
POST/voyages/{id}/poneglyphs🧭 Navigator drafts PDD
POST/voyages/{id}/health-checks🩺 Doctor writes TDD
POST/voyages/{id}/phases/{n}/build🔨 Shipwright iterates
POST/voyages/{id}/validation🩺 Doctor validates
POST/voyages/{id}/deploy · /rollback⚙️ Helmsman, 3 tiers
GET/voyages/{id}/dial-configrole→provider map
PUT/voyages/{id}/dial-confighot-swap models
SSE/voyages/{id}/completions/streamtoken streaming
POST/voyages/{id}/vivre-cardscheckpoint state
GET/voyages/{id}/vivre-cards/{c}/diffcompare checkpoints
POST/voyages/{id}/vivre-cards/{c}/restoreresume from snapshot
POST/voyages/{id}/executesandboxed run
POST/voyages/{id}/git/clone · /commit · /pragent git ops
POST/auth/register · /login · /refreshJWT pair
GET/auth/mefleet admiral profile
GET/healthservice heartbeat

Full reference: run the stack and open /docs (Swagger UI) — see the deployment runbook.