Identity Surface
Identity declares the agent role, authority boundary, model class, and accountability expectations before work begins.
Purpose
Surface 1 uniquely identifies the agent and its provenance. Without unique identity, the catalog cannot reference agents, the Inspector Pipeline cannot attribute patterns, and the decision trace cannot record which agent did what.
Required Fields
identity:
name: string # The agent's stable name
version: semver # Semantic version
capability: string|"custom" # Capability binding (catalog id) or "custom"
maturity: L1|L2|L3 # Maturity level (see Section 8)
owner:
individual: email|name # Named individual responsible
team: team_id # Owning team
created_at: datetime # When the agent version was first registeredValidation Rules
- name must be unique within the catalog (for capabilities) or within the cell (for custom agents)
- version must follow semantic versioning
- capability must either reference an existing catalog entry or be the literal string "custom"
- maturity is set by the kernel based on the capability's standing; cannot be self-declared above L1
- owner.individual cannot be empty for any agent at L2 or above
- owner.team must reference an existing team registered in the organization
- created_at is set automatically at first registration; cannot be backdated
Example
identity:
name: spec-writer
version: 2.1.0
capability: spec-writer@2.1
maturity: L2
owner:
individual: tarek.fawaz@example.com
team: kernel-maintainers
created_at: 2026-03-15T10:00:00ZAnti-Patterns
- Agents that change their name across versions - breaks the catalog and historical traces
- Agents claiming higher maturity than the kernel has assigned - rejected at registration
- Agents without named individual owners at L2+ - rejected at registration
- Agents owned by deactivated individuals - flagged for maintainer reassignment
- Generic owners like team@org - accountability requires a named human
Why It Matters
Identity is the foundation. Every other surface refers back to identity. The decision trace records which agent version ran. The Inspector Pipeline attributes patterns to specific capability versions. The catalog lists agents by name. The Butler scores invocations partly based on agent maturity. If the identity is unclear, none of the rest of the model works correctly.
Identity also encodes accountability. Surface 1 names the individual responsible for the agent. When the agent misbehaves, there is a known human to talk to. KCC explicitly rejects anonymous or team-only ownership at L2+ because accountability dilutes when no individual is named.