Architecture

How does DaemonCore work?

One idea runs underneath everything else: an agent's output is checked against a governance layer that is defined before the agent runs and cannot be altered from above. Governance is foundational here, not a setting bolted on afterwards. The rest of this page follows that idea from structure to a real, recorded execution.

Authority is separate from execution

The central decision in DaemonCore is that the component doing the work is never the component that decides what work is permitted.

The kernel defines what is allowed

Declarative, with no execution logic: lineage and integrity, safety invariants, the capability envelope, the identity framework, governance limits and the rules for deterministic execution.

The runtime performs how it is done

Implementation: the message bus handlers, the scheduler, inter-process communication and tool execution. It obeys the kernel's ceilings and cannot modify lineage or safety invariants.

Agents are a third tier. They receive structured instructions over the message bus and return plans, code, patches or analyses — but never touch kernel state or queues directly. An agent cannot grant itself a capability, because the authority to grant one does not live where the agent runs. The diagram below shows that separation.

DaemonCore architecture: a governance layer sitting above four governed agents from different AI providers. Described in full below.

Figure 1 — DaemonCore architecture

The diagram shows two tiers. The upper tier is the governance layer, containing three components: safety boundaries (what agents cannot do), capability envelopes (what agents are allowed to do), and vendor isolation (multiple providers, unified rules).

The lower tier holds four governed agents, each pairing a provider with a role: Claude as developer, GPT as reviewer, Gemini as analyst, and a local model as assistant. Every agent sits beneath the governance layer without exception.

The diagram makes two claims: multiple AI providers operate under unified governance, and boundaries are architectural rather than advisory.

How an agent is assembled

Every agent is assembled from three structural inputs before it operates: a rulebook (behavioural constraints), a scope boundary (operational range) and a context focus (current workload). Assembly is not a suggestion — it happens through an ordered, mandatory boot sequence.

The agent boot sequence: three ordered phases — environment, identity, boundaries — leading to an operational ready state. Described in full below.

Figure 2 — Agent boot sequence

The diagram shows three numbered phases running in order, ending in a ready state.

  1. Phase 1 — Environment. Detect host context; load configuration.
  2. Phase 2 — Identity. Establish agent identity; apply role profile.
  3. Phase 3 — Boundaries. Set capability limits; enforce safety rules.
  4. Ready — Operational. The agent is active, within bounds.

It states three key principles: boot is deterministic (the same configuration produces the same behaviour), boundaries come first (limits are set before operation), and state is persistent (it survives restarts).

Its closing statement is that agents cannot skip boot phases or self-modify boundaries.

The order is the point. Boundaries are set in phase 3, before the agent becomes operational, so there is no window in which an agent is running but ungoverned — it starts running only once its limits are in place. And because the same configuration produces the same initial state, an execution can later be reasoned about from the conditions it started from.

What an agent may do

Capabilities are an envelope with defined ceilings, and one asymmetric rule does most of the work:

Capabilities may be reduced at runtime. They may never be increased after boot.

Identity overlays follow the same asymmetry — an identity changes behaviour and tone and may narrow what an agent does, never widen it. So the maximum reach of a session is fixed at boot; nothing afterwards can extend it. Extension points exist too — custom role profiles, environment-specific boundary configurations, external tooling hooks — but each runs inside that ceiling and can only narrow it.

Policy is decided within the envelope, but governance is itself constrained: it cannot add capabilities outside lineage, permit safety-invariant violations, grant capabilities beyond the envelope, or introduce nondeterministic overrides.

Where policy conflicts with these limits, policy loses. A setting that can be overridden by the thing it governs is only advice.

Execution modes and approval gates

Boundaries are not uniform across environments. Autonomy — and the approval gates with it — scales by the declared execution mode:

Autonomy and approval gates by execution mode
Execution mode Autonomy Approval gates
Sandbox Low All operations require approval
Controlled Medium Destructive operations require approval
Dangerous High Audit-only, no blocking gates

How work flows — and becomes evidence

Agents never call one another. They exchange typed messages over the MAX bus, which routes by role — developer, reviewer, orchestrator, system — not by agent or vendor. Two properties make the bus a governance mechanism rather than plumbing: a message that does not match its schema is rejected before it routes, and the message type decides which role may receive it.

Messages move through an explicit lifecycle in role-scoped queues, so the record of what was requested, by whom, and what became of it is a property of the transport itself. That is what makes an execution reviewable — and what lets a real run be recorded and replayed rather than merely described.

recorded · RUN-001 · MAX bus → governance gate

[INFO] [MAX Bus] Published: reviewer/EVID-e9b58172-reviewer.json
[INFO] [MAX Bus] Claimed: reviewer/EVID-e9b58172-reviewer.json
[WARN] [EnforcementGate] Advisory: No skill match: No candidates found in any registry
[INFO] [Execution] Created exec-a41c2c95cbc8 | intent=code_review_request | trigger=queue_message:EVID-e9b58172 | participant=reviewer
Excerpt from the recorded RUN-001 runtime log: a request published to the MAX bus, claimed by the reviewer role, passed through the governance gate (advisory in this run), and admitted as an execution. Timestamps and trace identifiers are omitted for readability; the wording is otherwise unaltered. No model executed, so the outcome is left pending — the full recording is on Proof.

Routing by role is also what allows vendor isolation: a reviewer is a reviewer whether it is served by Claude, GPT, Gemini or a local model, because the bus addresses the role and the governance layer applies the same rules beneath all of them. Replay the full recording to watch this lifecycle line by line.

You have read the layers in order. The same architecture can also be read by its relationships — start from any concept and follow what depends on it.

Architecture Explorer

How does this fit into everything else?

The same architecture described above, organised around its relationships. Start from a perspective, then follow the links between concepts. Every relationship is named, so you can explore the whole system without relying on a diagram.

This view is composed from the architecture described on this page and the kernel documents it summarises. It organises that material; it does not add to it.

  1. Subsystem Entry perspective

    Kernel

    What decides what is allowed?

    The declarative authority. It holds no execution logic; it defines lineage and integrity, safety invariants, the capability envelope, the identity framework, governance limits, and the rules for deterministic execution.

    Responsibilities

    • Declare the safety invariants that execution must respect.
    • Define the capability envelope as ceilings that may be reduced but never raised.
    • State what governance may restrict and what it can never override.
    • Remain read-only to the runtime and to agents.

    Leads to

    Reached from

    ↑ Back to the explorer overview

  2. Runtime Entry perspective

    Runtime

    What actually performs the work?

    The implementation tier. It carries the message-bus handlers, the scheduler and tool execution. It must obey the kernel’s rules and capability ceilings, and cannot modify lineage or safety invariants.

    Responsibilities

    • Perform how work is done, within the envelope the kernel defines.
    • Operate the MAX bus and route work to roles.
    • Coordinate multi-agent operation and keep an audit trail.
    • Never grant a capability the kernel did not permit.

    Leads to

    Reached from

    ↑ Back to the explorer overview

  3. Agent

    Governed agents

    What produces the outputs?

    The third tier. Agents receive structured instructions over the message bus and produce outputs — plans, code, patches, analyses. They never directly access kernel state or queues.

    Responsibilities

    • Receive typed instructions and produce structured outputs.
    • Operate strictly within the capability envelope fixed at boot.
    • Reach the governance gate with every output before it becomes an Execution.

    Leads to

    Reached from

    ↑ Back to the explorer overview

  4. Workflow

    Deterministic boot

    How does an agent reach a governed state?

    An ordered, mandatory sequence. Boundaries are established before the agent becomes operational, so there is no window in which an agent is running but ungoverned. The same configuration produces the same initial state.

    Responsibilities

    • Establish structure, then boundaries, before operation.
    • Fix the capability ceiling for the session at boot.
    • Make behaviour reconstructable, and therefore reviewable.

    Leads to

    Reached from

    Evidence

    A genuine execution captured after boot (RUN-001)

    Partial — recorded, unsealed and not independently verified.

    ↑ Back to the explorer overview

  5. Policy

    Capability envelope

    What limits what an agent can do?

    Capabilities expressed as an envelope with defined ceilings. One asymmetric rule does most of the work: capabilities may be reduced at runtime, but never increased after boot.

    Responsibilities

    • Fix the maximum reach of a session at boot.
    • Allow narrowing at runtime; forbid any widening.
    • Bound governance, identity overlays and extensions alike.

    Leads to

    Reached from

    ↑ Back to the explorer overview

  6. Policy

    Governance limits

    What constrains governance itself?

    Governance decides policy within the envelope, but is itself constrained: it cannot add capabilities outside lineage, permit safety-invariant violations, grant capabilities beyond the envelope, or introduce nondeterministic overrides. Where policy conflicts with these limits, policy loses.

    Responsibilities

    • Decide policy strictly within the capability envelope.
    • Yield to the safety invariants whenever they conflict.
    • Separate governance from mere configuration — a setting the governed can override is only advice.

    Leads to

    Reached from

    ↑ Back to the explorer overview

  7. Policy

    Safety invariants

    What can never be overridden?

    The non-negotiable rules all execution must respect. They are declared by the kernel and are not reachable from the layers above them.

    Responsibilities

    • Hold the rules that no policy, identity or extension may override.
    • Remain foundational rather than retrofitted from above.

    Leads to

    Reached from

    ↑ Back to the explorer overview

  8. Component

    Identity overlay

    How do persona and role shape behaviour without expanding power?

    An identity modifies behaviour and tone. It cannot alter lineage, capabilities or module activation. It may further restrict what an agent does — never expand it — inheriting the envelope’s asymmetry.

    Responsibilities

    • Shape how an agent behaves, not what it is permitted to do.
    • Narrow behaviour where appropriate; never widen capability.

    Leads to

    Reached from

    ↑ Back to the explorer overview

  9. Protocol

    MAX bus

    How do agents communicate and stay auditable?

    Agents do not call one another; they exchange typed messages over the MAX bus, which routes by role rather than by agent or vendor. Schema validation rejects malformed messages at the bus, and typed routing sends work to the role permitted to perform it.

    Responsibilities

    • Route messages by role — developer, reviewer, orchestrator, system.
    • Reject messages that do not match the expected schema.
    • Move messages through an explicit, auditable queue lifecycle.
    • Enable vendor isolation: a role is the same role whichever model serves it.

    Reached from

    Evidence

    See this exercised in a genuine recorded execution (RUN-001)

    Partial — recorded, unsealed and not independently verified.

    ↑ Back to the explorer overview

  10. Subsystem

    Coordination and audit

    How is multi-agent work coordinated and recorded?

    The coordination layer manages multi-agent operation through context handoff, scope isolation and audit trails. Because messages move through an explicit lifecycle rather than being consumed invisibly, the record of what was requested, by whom, and what became of it is a property of the transport.

    Responsibilities

    • Coordinate agents as components of one system, not isolated instances.
    • Prevent conflict through scope isolation.
    • Keep an audit trail of operational history.

    Leads to

    Reached from

    • Runtime Runtime opens into Coordination and audit

    ↑ Back to the explorer overview

  11. Component

    Governance gate

    Where is an output allowed to become an execution?

    The admission point every execution passes through. It decides what an agent’s output is allowed to become, is defined before agents run, and cannot be altered from above.

    Responsibilities

    • Admit or reject an output before it becomes an Execution.
    • Apply governance policy within the limits the kernel fixes.
    • Stand between every agent output and its effect, without exception.

    Leads to

    Reached from

    Evidence

    Watch a real request pass this gate (RUN-001)

    Partial — a genuine recorded admission through the gate, unsealed and not independently verified. The gate was advisory in this capture.

    ↑ Back to the explorer overview

  12. Component

    Extension model

    How is DaemonCore extended without weakening it?

    Extension happens through defined interfaces — custom role profiles, environment-specific boundary configurations, integration hooks. Extensions inherit the envelope’s asymmetry: an extension runs inside the ceiling and may narrow it, but nothing added later can widen what the kernel permitted at boot.

    Responsibilities

    • Allow domain-specific extension through defined interfaces.
    • Run inside core constraints; never override safety or coordination.

    Leads to

    Reached from

    • Kernel Kernel opens into Extension model

    ↑ Back to the explorer overview

Where this goes next

This page is the conceptual level. Each destination below takes it somewhere concrete.