Capabilities

Plan mode & goals

Roder separates planning from execution through policy modes. plan mode blocks writes and process execution, records plan-exit requests, and requires an explicit transition before the agent can move into implementation.

Runtime events

  • PolicyModeChanged records mode changes.
  • PolicyExitPlanRequested records a request to leave plan mode.
  • PolicyExitPlanResolved records the user's decision and resulting mode.
  • PolicyDecisionRecorded captures per-tool allow, deny, approval, or auto-approval decisions.

Client surface

The app server exposes session/set_mode, session/get, and session/exit_plan. The TUI uses those methods to keep the current mode visible and to gate the move from planning to edits.

{"jsonrpc":"2.0","id":1,"method":"session/set_mode","params":{"mode":"plan","reason":"design first"}}

Goals

Long-running goal state belongs above individual turns: a client can keep a visible objective, show progress, and persist the plan alongside session state. The important boundary is that goal UI does not bypass the policy gate.