AAP card + CLPI policy + Safe House config model to the unified card model. This guide is for early adopters who had agents on the pre-UC model. It documents what changed, what the automatic migration did for you, and what (if anything) you need to verify or update.
If your first Mnemom agent was created on or after 2026-04-16, you are already on the unified model. This guide is primarily historical; skim the “What changed” section for context and skip the rest.
What changed
Three things became one
The pre-UC governance artifacts for a single agent:| Artifact | Where it lived | What it declared |
|---|---|---|
| AAP alignment card | alignment_cards row | Identity, principal, values, autonomy envelope, audit commitment |
| CLPI policy | policies row | Capability mappings, forbidden tools, enforcement mode |
| Safe House config | sh_configs row | Detector thresholds, screen surfaces, trusted sources |
| Artifact | Where it lives | What it declares |
|---|---|---|
| Alignment card (unified) | canonical_agent_cards (composed) + alignment_cards (raw agent-scope) | Identity, principal, values, conscience, integrity, autonomy, capabilities, enforcement, audit |
| Protection card | canonical_protection_cards (composed) + sh_configs (raw agent-scope) | Mode, thresholds, screen_surfaces, trusted_sources |
conscience— inviolable commitments (absorbed from org-scopeorg_conscience_values+orgs.conscience_mode)integrity— enforcement mode (absorbed fromagents.aip_enforcement_modecolumn)capabilities+enforcement— policy fields (absorbed from the old separatepoliciestable)
Three things that did NOT change
- AAP 1.0 protocol is untouched.
@mnemom/agent-alignment-protocol@1.0.0still emits and consumes the same shape. External agent interop still uses the AAP card for handshakes. The unified card is a superset; the gateway maps unified → AAP at the boundary. - AIP 1.0 protocol is untouched. Integrity checkpoint semantics are stable.
- Safe House detection types are stable. The
SafeHouseConfigtype that detectors consume (PatternMatcher, SignalScorer, etc.) didn’t change. UC swapped the fetch source underneath, not the type.
What the automatic migration did
On 2026-04-15, the UC-3 data migration ran against production. For every active agent:- Read
alignment_cards(AAP card) +policies(CLPI policy) +agents.aip_enforcement_mode+ org conscience values. - Composed them into a unified alignment card.
- Ran
compose_agent_card(agent_id)to generate the canonical row. - Same for protection:
sh_configs→ unified protection card →compose_protection_card.
alignment_cards and sh_configs rows are retained for historical reference but no longer serve the request path.
What’s removed
The following endpoints are gone:| Old endpoint | Replacement |
|---|---|
GET /v1/agents/:id/card (AAP shape) | GET /v1/agents/:id/alignment-card (unified shape, YAML or JSON) |
PATCH /v1/agents/:id/card | PUT /v1/agents/:id/alignment-card |
GET /v1/agents/:id/cfd/config | GET /v1/agents/:id/protection-card |
PUT /v1/agents/:id/cfd/config | PUT /v1/agents/:id/protection-card |
GET/PUT/DELETE /v1/agents/:id/policy | Absorbed into the alignment card (capabilities + enforcement sections) |
GET/PUT/DELETE /v1/orgs/:id/card-template | GET/PUT/DELETE /v1/orgs/:id/alignment-template |
GET/PUT/DELETE /v1/orgs/:id/policy | Absorbed into the org alignment template |
PUT /v1/agents/:id/org-card-exempt | Replaced by granular exemptions: POST /v1/agents/:id/exemptions |
| Old command | Replacement |
|---|---|
mnemom init | Not needed — mnemom register is the entry point |
mnemom policy show/publish/evaluate/validate | mnemom card evaluate agent.card.yaml --tools tools.json and card commands |
mnemom migrate-config | Automatic on first run — ~/.smoltbot/ auto-migrates to ~/.mnemom/auth.json |
mnemom agents … (subcommands) | Removed — server-side agent resolution |
agents.org_card_exemptagents.aip_enforcement_modeorgs.conscience_modeorgs.conscience_values_enabled
Verifying your agents are on the unified model
For anyone who had agents pre-UC, the following checks confirm your migration succeeded.Check 1: every agent has a canonical alignment card
unified/2026-04-15 card with _composition metadata showing composed_at within the last week (or since your last card edit, whichever is more recent).
If you get a 404 or the returned card is card_version: "0.5.0" (the old AAP version), that’s a migration miss — file an issue.
Check 2: every agent has a canonical protection card
card_version: protection/2026-04-15.
Check 3: no references to legacy endpoints in your clients
If you have any clients calling the old endpoints, they’re getting 404s now. Search your integrations:/v1/agents/{id}/alignment-card/v1/agents/{id}/protection-card- The alignment-card endpoint (policy fields are now card sections)
/v1/orgs/{id}/alignment-template
Check 4: CLI is on the unified version
mnemom init or mnemom policy still work, your CLI is outdated. Update:
Writing cards for the unified model
- YAML is canonical. The editor and CLI use YAML. JSON still works at the API boundary for machine clients, but the authored source is YAML.
- Follow the alignment-card-schema. The sections you care about are
values,conscience,integrity,autonomy,capabilities,audit. Most authors never need to touchprincipalorenforcement. - Compose, don’t duplicate. If your org has a shared value like
harm_prevention, put it in the org template, not in every agent’s card. The composer takes care of the rest. - Use exemptions sparingly, with reasons. Exemptions are audit-logged and expire. They’re the right tool for a genuine specialist need; not a convenient override.
Pre-UC card format (archival reference)
For completeness, the pre-UC AAP 0.5 card looked like this. Youralignment_cards table still has historical rows in this shape, but no request path reads them directly anymore.
capabilities, enforcement, conscience, and integrity sections in the unified card absorb everything they used to hold.
See also
- Agent Cards — unified model overview
- Alignment Card Schema — normative unified shape
- Protection Card Schema — normative protection shape
- Card Composition Guide — how to use the three-scope hierarchy
- Card Management Guide — authoring flow (still includes AAP protocol-level examples)