This page is the operator’s playbook for the cards primitive. Three stages — review, publish, promote — each with its own tool. The legacyDocumentation Index
Fetch the complete documentation index at: https://docs.mnemom.ai/llms.txt
Use this file to discover all available pages before exploring further.
activate_composure CLI was retired in Phase 4 W5.3; the substitutes are below.
Tools at a glance
| Stage | Tool | What it does |
|---|---|---|
| Per-PR review | mnemom/cards-action@v1 | Posts a care-framed PR comment with composed-view diff + simulate + explain. |
| Operator publish | emps.publish_manifest | GET-modify-PUT from editorial manifest to canonical card. |
| Verification | scripts/audit_polis_cards.py | Compares canonical state to editorial intent. |
| Rollback | emps.restore_cards_from_audit | Replays a prior canonical from the governance audit log. |
Stage 1 — Per-PR review (Cards Action)
When a PR touches a.mnemom/<scope>/**.yaml file, GitHub Actions runs mnemom/cards-action@v1. The action posts one sticky comment per PR (updated on each push). The comment surfaces:
- The composed-view diff (this PR’s manifest projected against the agent’s current
/effectivestate). - Care-framed monotone-tightening advisories.
- Simulate verdicts for golden-path tool calls declared in
.mnemom/tests/simulate-cases.yaml. - The explain trace from the policy engine, including suggested remediations.
Reviewer guidance
- Composed-view diff is the headline. Read it as “what will the agent see after this lands.”
- Care-framed advisories are editorial signals. The platform’s PUT-time monotone-tightening check is authoritative; the action’s local check is best-effort.
- Simulate verdicts show how the gateway and observer would react to golden-path tool calls under the new manifest. A
falseverdict is a hard stop unless the reviewer understands why.
Failure mode config
Per-repo.mnemom/ci-config.yaml:
Stage 2 — Operator publish (publish_manifest)
After the PR merges, an operator runs publish_manifest to update the canonical card. The merge does not auto-publish; the publish is a separate, deliberate step.
--name Themis or --agent-id smolt-512448e7.
See Publishing Manifests for the full CLI surface.
Stage 3 — Audit
MISSING canonical finding points the operator back at publish_manifest.
--exclude-inherited filters out inherited cascade values that surface as advisories but aren’t real drift.
Stage 4 — Promotion ladder (observe → nudge → enforce)
The observe-first rollout is the operator default. Promote one(agent, value) tuple at a time, audit between steps. See the Publishing Manifests promotion section for the full ladder.
The activate_composure retirement
emps.activate_composure was the original CLI before the cards primitive landed. As of Phase 4 W5.3 it is retired — invoking it prints a care-framed message and exits 1. The two substitute paths above (publish_manifest and mnemom/cards-action) cover both halves of its prior responsibility:
| Old activate_composure step | New tool |
|---|---|
| Step 1 — compute bounded_actions + PUT alignment-card | emps.publish_manifest --resource=alignment (manifest-driven) + the mechanical publisher (live ConnectorRegistry → bounded_actions in canonical, separately) |
| Step 2 — PUT conscience-values | emps.publish_manifest --resource=alignment (conscience values are part of the canonical preserved-fields set) |
| Step 3 — reverify AAP | Platform-managed; observer runs it on every publish |
| Step 4 — reverify AIP | Platform-managed; AIP runs it on every gateway request |
| Step 5 — recompute trust scores | Platform-managed |
| Per-PR editorial feedback | mnemom/cards-action@v1 |
activate_composure, point it at publish_manifest --resource=alignment (or --resource=protection) instead.
Rollback
governance_audit_log.before_json snapshot taken on every PUT.