remember_decision
Store a decision along with its rationale and context, making it retrievable, revertible, and auditable while newer decisions on the same topic supersede older ones.
Instructions
Store a DECISION — the thing that actually matters and that a raw event/command log misses. Use this
whenever you (or the user) CONCLUDE or CHOOSE something: "we decided X", "we're going with Y", "dropped Z",
"the plan is W". Pass because (the rationale) and context (the situation) — they're kept for retrieval so a
later recall answers "what did we decide, and why", not just "what commands ran".
topic (recommended) gives the decision deterministic keyed supersession (decision::<topic>): a NEW decision
on the same topic RETIRES the old one, recall returns the CURRENT decision, and revert('decision::<topic>')
restores the prior one — decisions stay current, correctable, revertible, and auditable, with NO LLM and no
similarity guesswork (inspeximus's integrity moat applied to decisions; an LLM-extracted fact store can't do this).
source / derived_from — same meaning as on remember, and they matter MORE here, not less. A
decision is usually ABOUT someone ("we're billing Alice monthly"), which makes it exactly the kind of
record a right-to-erasure request has to reach. Without a source it is attributable to nothing but its
own id: forget_subject cannot find it, and it survives a DSAR that erased everything else about that
person. Measured: a decision written with no source answered would_erase=0 to every phrasing of the
subject.
If this server was started with a PROJECT scope, the decision is stamped with it — so "we're going with
Postgres here" recorded in one repo does not surface while you work in another. NOTE that the
supersession key stays decision::<topic> and is NOT namespaced by project: the same topic in two
projects still supersedes across them. Use a project-qualified topic when you want them independent.
Returns the new memory id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | ||
| source | No | ||
| because | No | ||
| context | No | ||
| decision | Yes | ||
| derived_from | No |