Implementation: SHADOW (decision runtime, compilers) · IMPLEMENTED (router, model pool) · Exposure: INTERNAL. See status labels. The agent is two machines. The Cognitive Machine decides how cognition is performed. The Work Machine decides how work persists and progresses. This page covers the first: “How should we think?”

Architecture contract

The Cognitive Machine owns every step where the system has to judge, choose or generate. Its job is to pick the cheapest correct form of inference for each step, and to treat anything a model produces as a candidate until it is verified. Three rules hold across all of it:
  • Select before generate. If every legal answer is known, the system scores candidates instead of generating text.
  • Candidate, not truth. Generated output is never durable state until a verifier passes it.
  • Cognition owns no authority. No cognitive component grants permissions, raises spend, crosses a workspace boundary or closes work. Policy and the system do that.
Why split it this way: the parts of an agent that must be dependable (state, authority, lifecycle, completion) cannot depend on which model happens to be loaded. Keeping cognition in its own machine, behind typed requests and results, is what makes models interchangeable.

Current implementation

  • The canonical decision runtime is on main. It serves the nine decision operations from the kernel contracts and runs in shadow mode by default: it records what it would decide, abstains, and never acts. One primitive, judge.first_pass.tool, has passed its go-live gate and can act only through a budgeted canary when live mode is on. See Calibration.
  • Verifier-owned completion is enforced for agency-origin work. See Verification.
  • The Cognitive Execution Router is on main as library code, and the model pool registry is served internally by the runtime. Nothing calls the router on the normal path yet.
  • The context compiler and tool call compiler are on main behind a flag that is off by default. With the flag on they run in shadow.

Availability

Developer relevance

If you contribute a decision backend, a verifier or a model provider, you plug into one of these parts through its contract, never by editing the agent loop. Your component receives a typed request and returns a typed result with evidence. See Cognitive runtime.