Plan Mode & Mission Ledger
Navin's Plan Mode is the orchestrator that decides how the agent plans, delegates, verifies, and recovers. It is inspired by Magentic-One's Task Ledger / Progress Ledger loop and by Deep Agents' harness ideas (structured plan, sub-agents, skills, MCP), implemented natively on Navin's board and AgentLoop - without depending on LangGraph or the Deep Agents package.
Levels
| Intent | Command | Behavior |
|---|---|---|
| Plan only | /blueprint | Goal analysis + Task Ledger + board tasks. No code execution. |
| Plan then build | Build button → /forge | Execute the plan with Progress Ledger per step. |
| Autopilot | /cruise | Plan, execute, test, detect stalls, local replan until done or paused. |
| Long mission | /mission | Multi-turn durable goal + ledger + checkpoints + resume + final report. |
Composer UI modes stay plan / agent. Tools stay Navin's (board, spawn, verify, test_run, files, shell, MCP, …).
Orchestrator protocol
On every step (/forge, /cruise, /mission):
- Read ledger (
boardledger_get) +board next. - Choose one ready step (or spawn independent ready steps when appropriate).
- Act with tools.
- Verify according to step
validation(test/lint/verify/manual/none). - Write
ledger_progresswith evidence. - Decide: next | retry |
ledger_replan(local) |ledger_pause. - Never mark
donewithout evidence when validation requires tests.
If missing_info blocks progress → pause and ask the human. Do not invent facts.
Data model
Persisted at .navin/board/mission.json next to board.json.
Task Ledger: goal, status, version, constraints, facts, missing_info, acceptance_criteria, steps[], history[] (why the plan changed).
Progress Ledger: current_step_id, evidence, stall_count, loop_detected, replan_needed, budgets (max_retries, max_replans, max_stalls, optional token/cost), next_actor.
Board tasks carry optional acceptance, validation, retry_count, agent, evidence. Marking done with validation in test|lint|verify is rejected without evidence.
Runtime
Each turn, Runtime Context injects a short board digest plus mission ledger lines (goal, version, stall, pause, protocol reminder). Budgets and stall/loop detection can auto-pause the mission.
Pause / resume / manual edit
boardledger_pause/ledger_resume- Human edits via
ledger_updatebumpversionand appendhistory(actor=human) - Chat plan panel shows
goal,vN, stall badge, last change reason, and Build for/blueprinthandoff
Sub-agents
spawn briefs should copy the step's acceptance + validation. The parent merges evidence before done / ledger_progress.
Equivalence (inspiration → Navin)
| Capability | Navin primitive |
|---|---|
| Structured todos / plan | Board tasks + mission ledger |
| Sub-agents | spawn + project agents |
| Skills / MCP | Existing skills + MCP tools |
| Durable state / resume | mission.json + /checkpoint + /goal |
| Controlled loops / replan | Progress Ledger + ledger_replan |
| HITL | Build panel, pause, next_actor=human |
Examples
/blueprint Add GitHub OAuth without breaking Google Auth
# review plan panel → Build
/forge Implement the approved plan
/cruise Ship dark mode end to end with tests
/mission Migrate auth to Supabase providers across the monorepo
Related
- Board Autonomy - consent, isolated branches, PR on done, issues sync
- Modes
- Commands
- Skills