Skip to main content
Noēsis supports two planner modes that control the level of governance and observability in your episodes.

Understanding planner modes

Setting the planner mode

Python API

Environment variable

Configuration file

Create a noesis.toml in your project root:
noesis.toml

Precedence

Configuration is resolved in this order (highest to lowest):
  1. ns.set() call in code
  2. NOESIS_PLANNER environment variable
  3. noesis.toml configuration file
  4. Default value (meta)

Meta mode (default)

Meta mode enables full governance:

What meta mode provides

  • MetaPlanner: Threads through every episode for structured planning
  • PreActGovernor: Audits actions before execution, can veto
  • Direction events: Records directive status (applied, blocked, skipped)
  • Intuition steering handoff: Carries risk_level, strategy_hints, tool_constraints, and scrutiny_level into Direction
  • Governance events: Records decisions (allow, audit, veto)
  • Full insight metrics: Plan adherence, veto count, tool coverage

Direction event example

Governance event example

Minimal mode

Minimal mode skips governance for faster execution:

What minimal mode skips

  • MetaPlanner and PreActGovernor
  • Direction and governance events
  • Policy-based vetoes
  • Some insight metrics (veto_count, plan_adherence)

What minimal mode keeps

  • The cognitive loop (observe → interpret → plan → act → reflect → learn)
  • Event timeline (events.jsonl)
  • Summary artifacts (summary.json)
  • Basic metrics (success, act_count)

Inspecting governance metrics

When using meta mode, governance metrics are available in the summary:

Governance decisions

The PreActGovernor can make three decisions:

Handling vetoes

Vetoes are emitted by Governance (not Direction) and only block actions in governance_mode="enforce":
If governance_pause_on_veto=true, enforce vetoes pause the run with runtime lifecycle events (run.interrupt, run.checkpoint) instead of immediate termination.

Switching modes dynamically

You can switch modes between episodes:

CLI usage

Toggle modes from the command line:

When to use each mode

Use meta mode for:

  • Production workloads
  • Compliance-sensitive operations
  • Operations requiring audit trails
  • Tasks with intuition policies
  • Any operation that might need to be vetoed

Use minimal mode for:

  • Development and testing
  • Quick sanity checks
  • Benchmarking adapter performance
  • Operations that don’t need governance overhead

Troubleshooting

You’re likely in minimal mode. Check with:
Set to meta mode: ns.set(planner_mode="meta")
Ensure Governance is enforcing:
In governance_mode="audit" or off, veto-like risk signals can still appear in direction/intuition artifacts, but they do not block actuation.
Governance metrics only populate in meta mode with active policies:

Next steps

Write policies

Create intuition policies for governance.

Export metrics

Export governance metrics to your observability stack.