Navin

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

IntentCommandBehavior
Plan only/blueprintGoal analysis + Task Ledger + board tasks. No code execution.
Plan then buildBuild button → /forgeExecute the plan with Progress Ledger per step.
Autopilot/cruisePlan, execute, test, detect stalls, local replan until done or paused.
Long mission/missionMulti-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):

  1. Read ledger (board ledger_get) + board next.
  2. Choose one ready step (or spawn independent ready steps when appropriate).
  3. Act with tools.
  4. Verify according to step validation (test / lint / verify / manual / none).
  5. Write ledger_progress with evidence.
  6. Decide: next | retry | ledger_replan (local) | ledger_pause.
  7. Never mark done without 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

  • board ledger_pause / ledger_resume
  • Human edits via ledger_update bump version and append history (actor=human)
  • Chat plan panel shows goal, vN, stall badge, last change reason, and Build for /blueprint handoff

Sub-agents

spawn briefs should copy the step's acceptance + validation. The parent merges evidence before done / ledger_progress.

Equivalence (inspiration → Navin)

CapabilityNavin primitive
Structured todos / planBoard tasks + mission ledger
Sub-agentsspawn + project agents
Skills / MCPExisting skills + MCP tools
Durable state / resumemission.json + /checkpoint + /goal
Controlled loops / replanProgress Ledger + ledger_replan
HITLBuild 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

Source: content/docs/navin_dev/en/plan-mode.md