Stigmem documentation reconciliation demo
What you'll do
Run Craik's first end-to-end demo — reconciling Stigmem documentation against observed runtime state without editing files by default. The workflow exercises case-file assembly, receipts, handoffs, memory proposals, contradictions, deterministic provider runs, and a task-scoped work-graph export.
This is the accepted release-acceptance workflow.
Every v0.x.0 candidate must pass this demo from a clean install.
What the demo does
Registers Stigmem repo
As a Craik project.
Checks Stigmem node
Optional — if URL configured.
Creates a reconciliation task
Assembles a case file
Repository docs · ADRs · repo state · optional GitHub state.
Surfaces findings
Stale-risk and boundary issues.
Proposes doc updates
Public-safe suggestions only.
Records a receipt
Creates a handoff
Creates a memory proposal
Local — direct writes need a grant.
Opens a contradiction report
Local.
Runs provider paths
Deterministic OpenAI + Anthropic.
Exports work graph
Task-scoped.
Run it
From a Stigmem repository checkout:
export CRAIK_HOME=/tmp/craik-demo
export CRAIK_STIGMEM_URL=http://127.0.0.1:18765
export CRAIK_STIGMEM_API_KEY=<api-key>
uv run --python 3.12 --extra dev craik demo stigmem-docs --repo-path .
For an offline local run without GitHub or live Stigmem:
uv run --python 3.12 --extra dev craik demo stigmem-docs --repo-path . --no-github
Offline = CI quickstart smoke path.
The --no-github form is the smoke path CI runs.
To limit deterministic provider execution to one provider while debugging:
uv run --python 3.12 --extra dev craik demo stigmem-docs --repo-path . --no-github --provider-id provider_openai
The command prints a craik.demo.stigmem_docs_reconciliation JSON
payload.
Expected artifacts
project_stigmemtask_stigmem_documentation_reconciliationcase_stigmem_documentation_reconciliationreceipt_demo_stigmem_documentation_reconciliationhandoff_stigmem_documentation_reconciliationgraph_task_stigmem_documentation_reconciliationprovider_executions.Inspect follow-up artifacts:
craik case show task_stigmem_documentation_reconciliation
craik contradictions list --task-id task_stigmem_documentation_reconciliation
craik memory list --task-id task_stigmem_documentation_reconciliation
craik handoff show task_stigmem_documentation_reconciliation
craik graph export --task-id task_stigmem_documentation_reconciliation
Boundary behavior
ADRs and immutable paths are evidence.
The demo never edits repository files. Proposed documentation updates are emitted as reviewable suggestions in the JSON payload. Public docs do not receive internal-only labels, private planning names, local filesystem paths, or secrets.
Memory behavior
The demo creates a local memory proposal. It does not write directly
to Stigmem because direct durable memory writes require explicit
policy grants. The JSON payload includes
memory_write.status = "proposal_created" so release acceptance can
verify the memory-write path remained explicit.
Provider behavior
The demo exercises provider_openai and provider_anthropic through
the deterministic provider-backed runner. These runs normalize
provider payloads, record provider receipts, create run-scoped
handoffs, and do not require live OpenAI or Anthropic credentials.
Expected output shape
{
"schema": "craik.demo.stigmem_docs_reconciliation",
"status": "runnable",
"case_file_id": "case_stigmem_documentation_reconciliation",
"receipt_ids": ["receipt_demo_stigmem_documentation_reconciliation"],
"handoff_id": "handoff_stigmem_documentation_reconciliation",
"memory_proposal_ids": ["memprop_..."],
"memory_write": {"status": "proposal_created"},
"contradiction_ids": ["contradiction_..."],
"provider_executions": [
{"provider_id": "provider_openai", "run_status": "completed"},
{"provider_id": "provider_anthropic", "run_status": "completed"}
],
"work_graph_id": "graph_task_stigmem_documentation_reconciliation"
}
Troubleshooting
stigmem_backend_status.status = "not_configured" or "error"--no-github. The case file will include an open assumption or stale-risk warning that GitHub state was not loaded.docs/adr/, or pass project registration options.--repo-path to a directory inside the Stigmem checkout.