Effective Memory
Your agent has memory. These habits make it actually useful.
Without them, memory is a growing pile of assertions nobody retrieves. With them, memory compounds — each session builds on the last, corrections stick, and the agent gets measurably better over time.
These engrams cover the meta-rules every agent needs regardless of domain: how to capture corrections, when to recall before answering, what "verified" means, how to stay safe with destructive actions, and why never to type a weekday from memory.
They were written to be pinned — always eligible for injection, bypassing keyword gating. That is no longer what happens. Install strips pinned from every pack, this one included, so these engrams are matched on keywords like any other (injection_policy: on_match, with the match_terms above). The stripping is right — a pack author should not be able to occupy a recipient's context unconditionally — but it means this pack's meta-rules only surface when a session's wording happens to touch them.
Install
npx @plur-ai/cli@0.9.4 packs install effective-memory
(In 0.9.4+, plur init auto-installs this pack — manual install is rarely needed.)
What's inside
12 engrams covering:
- Capture — call
plur_learnimmediately on corrections; detect correction-shaped phrases. - Recall —
plur_recallbefore factual answers; don't confabulate. - Session lifecycle — bookend with
plur_session_start/plur_session_end;plur_feedbackon injected engrams;plur_timelinefor long-horizon agents. - Verification — artifact-first; never bulk-mark as done from narrative text.
- Safety — irreversible actions need actual user confirmation and one-item dry-runs.
- Discipline — read before edit; don't ask "want to continue?" mid-task.
- Time — never type a day-of-week from memory.
Why these were written pinned, and what happens instead
Pinned engrams bypass the keyword-relevance gate in scoreEngram and the per-pack and per-domain caps in fillTokenBudget. Cross-cutting meta-rules are the case that justifies it: "call plur_learn when corrected" is relevant to every session and keyword-matches almost none of them.
Install strips the flag, so that is not the behaviour you get. sanitizePackEngrams removes pinned and downgrades commitment: locked from every installed pack, and it is right to — a pack is an archive from a stranger, and letting its author decide what is permanently in front of your model is a privilege no producer should take by shipping a YAML field.
The consequence is that this pack's rules are keyword-gated, which is a weaker guarantee than they were designed for. Whether a host should be able to grant always-inject to a pack it trusts deliberately — as opposed to a pack claiming it — is an open question, tracked in plur-ai/plur#1019.
Versioning
| Version | Changes |
|---|---|
| 1.1.0 | Consolidated plur-required meta-rules into this pack. All engrams now pinned: true. Added verification, safety, discipline, and time-handling rules. Engram count 8 → 12. |
| 1.0.0 | Initial pack — 8 engrams covering session bookends, learning triggers, and feedback loops. |