Skip to content

Decide

Decide retrieves evidence, surfaces open conflict pairs, and asks your coding-agent CLI to recommend a resolution. Hybrid search stays local; the synthesis step needs an LLM backend on PATH (or STATEFULMEMORY_LLM_*).

  • Two decisions disagree (e.g. “SQLite forever” vs “move to Postgres”)
  • An agent should pick a side with cited observation ids
  • You want an optional recorded follow-up decision note
Terminal window
statefulmemory decide "Should we keep SQLite or move to Postgres?"
statefulmemory decide "Which auth strategy is in force?" --limit 12

MCP equivalent: memory_decide.

Pin the model if needed:

Terminal window
export STATEFULMEMORY_LLM_PROVIDER=opencode
export STATEFULMEMORY_LLM_MODEL=qwen
# or STATEFULMEMORY_LLM_BIN=/path/to/cursor-agent
  • A recommendation + short rationale
  • Evidence observation ids
  • Conflict pair status (open / resolved) when relations exist

Exact JSON/text fields depend on --output; use JSON in pipelines.

Decide reads the same store as search & context. Conflict edges come from the supersession / relation graph built when conflict.enabled is on (Config). Record lasting outcomes with obs save.

Symptom Fix
Fails immediately No agent CLI → install OpenCode/Cursor/Claude/Gemini or set STATEFULMEMORY_LLM_BIN
Thin evidence Save more notes; raise --limit; try a clearer question
Want local-only Do not use Decide; disable conflict.enabled / extract.enabled and keep hybrid search