Connecting Stigmem
What you'll do
Point Craik at a Stigmem node, check compatibility, and learn the default posture for memory writes (proposals first, direct writes only under explicit grant).
Compatibility is detected, not assumed.
craik connect stigmem probes the minimum v0.1.0 endpoints and prints
a backend-capabilities payload. The API key is never printed.
Configure the node
Set the node URL and, when the node requires authentication, a bearer API key.
export CRAIK_STIGMEM_URL=http://127.0.0.1:18765
export CRAIK_STIGMEM_API_KEY=<api-key>
Check compatibility
craik connect stigmem
The command probes the minimum endpoints:
GET /healthz
GET /.well-known/stigmem
GET /v1/facts?limit=1
It prints a craik.memory_backend_capabilities payload and never
prints the API key.
Direct writes
Proposals are the default.
Direct Stigmem fact writes require a matching memory.write
policy grant and use POST /v1/facts. Without a grant,
agent-created facts become local proposals.
Use local proposals when a task does not have direct write authority:
craik memory propose task_review_docs \
--entity repo:example \
--relation craik:current_state \
--value "Documentation reconciliation requires evidence." \
--source docs/guides/connecting-stigmem.md \
--evidence-source docs/guides/connecting-stigmem.md \
--evidence-locator docs/guides/connecting-stigmem.md \
--evidence-summary "The connection guide documents Stigmem compatibility."
Environment variables
CRAIK_STIGMEM_URLCRAIK_STIGMEM_API_KEYCRAIK_STIGMEM_TIMEOUT5.0Store API keys in the environment or local secret tooling — never commit them to project files.
Stigmem-backed credentials
Craik can also resolve provider credentials from Stigmem facts through
stigmem-ref auth profiles. The profile points at a Stigmem node,
entity, scope, and relation such as craik:credential:value;
credential material is resolved at request time and is not printed in
receipts or logs.
This is useful when a team wants shared provider credentials with
Stigmem provenance and revocation semantics. The auth profile metadata
is file-backed in <CRAIK_HOME>/auth-profiles.json.