Implementation: ENABLED (S0, S2 generation) · SHADOW (S1) · IMPLEMENTED (S3 routing, not called) · Exposure: INTERNAL. See status labels. Each graph node is assigned one cognition level. The levels are roles within one agent, not separate agents, and they are independent of which execution mode provides them.

Use the lowest sufficient cognitive level

Start at the bottom. Climb a rung only when the level below cannot answer. Each rung up costs more, is harder to check, and needs more verification before its output counts.

Architecture contract

Choosing a level

Pick the cheapest correct form of inference before picking any component:
  1. Deterministic code, when the answer can be computed (S0).
  2. Candidate scoring, when every legal answer is known in advance (S1).
  3. Structured decoding, when the shape is known but the values are not (S2 with a grammar).
  4. Free generation, when none of the above fit (S2 or S3).
Every transition records its evidence, state version, capability, confidence and verification status.

Degradation

When a component is missing or not good enough, the chain is: alternate local component, then a stronger one, then deterministic reconstruction, then a human or an explicit failure. It never fails open. Why levels: most agent steps do not need generation. Classifying each step lets the system answer “which file”, “is this safe”, “are we done” with a scored choice or a computation, which is cheaper, faster and checkable, and reserve generation for the steps that need it.

Current implementation

  • S0: deterministic policy and tool execution run today through the gate and the permission floor.
  • S1: the decision runtime is on main and runs in shadow mode by default. It records its answers and abstains. S1 does not act on anything until a primitive passes its calibration gate, and no primitive has yet.
  • S2: generation runs today through the agent runtime. The rule that generated output is a candidate is enforced by the verifier for agency-origin work, and by the graph validator where the validator is used.
  • S3: a human route goes through the attention gate today. The router that selects escalation to a stronger component is on main as library code, but nothing calls it on the normal path yet.

Availability

Developer relevance

When you design a primitive, choose its level first. If you can list the legal answers, make it an S1 decision rather than a generation step. If it has side effects, it is S0 behind policy, not S1.