This guide walks you through the fastest path from “I want an agent that does X” to a live, composed alignment card. The full flow is: describe → scaffold → review → edit → commit → verify.Documentation Index
Fetch the complete documentation index at: https://docs.mnemom.ai/llms.txt
Use this file to discover all available pages before exploring further.
What you’ll need
- An API key with
api:writescope (create one). - The agent’s
agent_id(asmolt-*slug, created viaPOST /v1/agents). - About 10 minutes.
1. Describe the agent
Write a 1-3 sentence description of what the agent does. Be specific about:- Who the principal is — the human or org the agent serves.
- What actions it takes (read-only? write? external comms?).
- What domain it operates in (finance, engineering, comms, …).
“An assistant for the finance team that reads invoices from email, drafts payment summaries, and posts them to the #treasury Slack channel. Never executes payments itself; always escalates to the CFO for transfers over $10,000.”
2. Call scaffold
3. Review the scaffold
Themanifest is editable YAML. Save it to a file:
agent_id— replace the<placeholder>with your actual agent ID.values.declared[]— does the value set match your intent? The model’s suggestions are starting points; reorder, add, remove per the catalog (GET /v1/catalog/values).autonomy.bounded_actions[]— does the action surface match what the agent can actually do? Compare against your tool inventory.autonomy.escalation_triggers[]— are the conditions encoded correctly? The $10,000 threshold should appear here.conscience.values[]— the model surfaces gaps; address them or document why you’re not.audit.retention_days— finance-domain default is 90 days; adjust per your compliance posture.
4. Address coverage gaps
The response’scoverage_gaps[] array calls out primitives the model thinks would benefit from operator attention. Each entry has an axis + note. Resolve them with sub-resource verb PATCHes — or fold them into the full manifest before the first PUT.
For the finance agent above, the gap is “consider adding a BOUNDARY entry forbidding direct payment execution”. Edit the manifest’s conscience block:
5. Simulate before you commit
Before the first PUT, simulate a representative tool call to confirm the manifest composes cleanly. See Simulate before commit for the full pattern.6. Commit the manifest
When you’re satisfied, PUT the full manifest. This is the root-level write surface:content_hash + version, and updates field_provenance for every leaf. Downstream gateway + observer evaluators pick up the new state on the next request.
7. Verify with explain
After committing, run explain to confirm the policy engine sees the spec the way you intended.verdict: "pass", coverage_pct: 100, and zero suggested remediations.
Caching
Identical scaffold requests return identical responses from cache (24-hour TTL). The cache key issha256(model + scope + description + hints). Two operators describing the same agent will see the same manifest — useful for review-then-iterate workflows where you want to confirm the deterministic output before editing.
Override the model with "model": "sonnet" for prose-heavy reasoning; the cache scopes per-model.
Rate limits
Scaffold consumes the per-principal LLM budget (10 calls/hour per user, 100/hour per org). Cache hits don’t consume the budget. On exceed, the endpoint returns 429 withRetry-After + a care-framed body.
What to do next
- Sub-resource verbs — for surgical edits to a single primitive without rewriting the whole spec.
- Explain and remediate — for debugging an existing card.
- Simulate before commit — for testing tool calls pre-write.
- Cards as Resources — for the full URL surface map.