Where the Neural Parliament governs moment-to-moment decisions and Ulysses Contracts bind future action spaces, the Identity Layer defines what the agent fundamentally is. It owns the agent’s ontological invariants: the fixed action namespace, the core constitutional commitments, the key hierarchy for cryptographic operations, and the bounded envelope of Speaker parameters the Parliament may adjust. No software agent — not even the Integrity Committee — can rewrite identity without simultaneously satisfying internal parliamentary requirements and external human authorization.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/xcoder-es/governance-layer/llms.txt
Use this file to discover all available pages before exploring further.
The Identity Layer answers the question every other framework avoids: who decides who decides? Constitutional AI places ultimate authority outside the agent. The Identity Layer places it inside — but with strict architectural constraints that prevent the agent from rewriting its own identity without external validation.
The Four-Tier Mutability Model
System parameters are partitioned into four tiers of decreasing permanence. The modification threshold increases monotonically from DYNAMIC to IMMUTABLE — it is architecturally impossible to “loosen” constraints through a series of small modifications.| Tier | Contents | Modification Threshold | Cooling-Off | External Multisig |
|---|---|---|---|---|
| IMMUTABLE | Action namespace, TEE root key, governance procedure set | "impossible" | N/A | No |
| CONSTITUTIONAL | Core commitments, parliament member set, genesis key config | "unanimity + 3-of-5 multisig" | 30 days | Yes |
| OPERATIONAL | Vote thresholds, budget allocations, parameter envelope | "supermajority (2/3)" | 7 days | No |
| DYNAMIC | Per-cycle member parameters, meta-constraints | "majority (1/2 + 1)" | 0 days | No |
Why Some Parameters Are Immutable
IMMUTABLE parameters are not merely difficult to change — they are architecturally impossible to change by design.TieredMutability.propose_modification() returns an immediate rejection for any IMMUTABLE parameter:
- Action namespace: Cryptographic commitments in Ulysses Contracts sign over action indices. If indices could change, all signed contracts would become invalid.
- TEE root key: Burned into hardware at manufacture. Not configurable by any software path.
- Governance procedure set: The procedures define what “governance” means. Allowing their modification would be self-referential in a way that undermines all architectural guarantees.
Core Commitments
Core commitments are the agent’s constitution — the fundamental identity statements that define what the agent is. Each commitment is a frozen dataclass with four fields:Commitment Types
VALUE_PRINCIPLE
What the agent fundamentally values (safety, truthfulness, human welfare). These are not utility functions — they are constraints on what counts as an acceptable governance outcome.
BOUNDARY_CONDITION
What the agent will never do, regardless of circumstance. Typically backed by
INTEGRITY_VETO enforcement and the highest threshold.RELATIONSHIP
How the agent relates to external entities (humans, other agents, institutions). Defines the agent’s role in a broader ecosystem.
Commitment Thresholds and Enforcement Modes
Evaluating Coherence
evaluate_coherence() measures how well a proposed action aligns with the current core commitments. The Integrity Committee calls this when scoring proposals:
TieredMutability: Registering and Proposing Changes
TheTieredMutability class manages the full parameter envelope:
Genesis Bootstrapping
The Identity Layer cannot create itself. Att=0, before the system operates autonomously, a genesis manifest is constructed by humans and signed by an external multisig. This is not a limitation — it is a fundamental property of any self-governing system. The U.S. Constitution required 39 human signatories; a DAO’s smart contract is deployed from a human wallet.
Boot Sequence
The genesis process has three phases that bridge human initialization to autonomous self-governance:Preparation (human-operated)
Humans design the action namespace with index bindings, draft core commitments, select five independent key holders, configure the TEE (burn fuse key), and collect 3-of-5 signatures on the genesis manifest.
Initialization (TEE-enforced)
The TEE receives the signed manifest, verifies ≥ 3 signatures, burns the genesis configuration into its measured boot state, attests to remote parties that it has been initialized with manifest G, and loads each parliament member model into its isolated context.
Autonomous Operation (self-governing)
The agent begins governance cycles. Dynamic-tier changes are possible via majority vote. Operational-tier changes require supermajority + 7-day cooling-off. Constitutional-tier changes require unanimity + external multisig + 30-day cooling-off. Immutable-tier parameters cannot change.
Tier Rules Reference
The Procedural Asymmetry Principle
A core invariant across all tiers:The procedural bar to modify a parameter at any tier must be at least as high as the bar to establish it, and strictly higher for modifications that loosen constraints.This prevents the Identity Layer from weakening its own constraints through a series of small Operational-tier adjustments. The only exceptions are hardware safety mechanisms (the watchdog timer and deadlock breaker), which operate at the hardware level and can override all governance procedures when governance itself has failed. These mechanisms always return the system to the exact genesis baseline — they cannot be used to escape a specific constraint.
API Reference
IdentityCore methods
IdentityCore methods
Appends a new commitment to the core set and rebuilds the identity vector. Commitments are append-only — the commitment set grows monotonically and individual commitments cannot be removed.
Returns a coherence score in
[0.0, 1.0] for the given action index against all current commitments. An action whose index appears in an INTEGRITY_VETO commitment’s affected_action_indices reduces the coherence score. The Integrity Committee uses this as its evaluate_proposal() return value.The current identity vector derived deterministically from the enumerated commitments. One float entry per commitment. Not learned — immune to semantic drift in the optimizer.
Read-only snapshot of the current commitment list.
TieredMutability methods
TieredMutability methods
Registers a governance parameter with its tier assignment and initial value. Must be called before
propose_modification() or apply_modification().Returns a human-readable string describing the procedural requirements for the proposed change, or an error message if the parameter is unknown or IMMUTABLE. Does not apply the change.
Applies the modification directly (bypasses procedural checks — callers are responsible for ensuring the governance procedure has been satisfied). Returns
False for IMMUTABLE parameters or unknown names.Returns the
MutabilityTier for the named parameter, or None if unregistered.Returns the current value of the named parameter, or
None if unregistered.Returns a snapshot dictionary of all registered parameter names and their current values.