v0.22.0 — Recall, not fold (the two-layer learning model)
Prompted by the right question: are lessons and memory being used effectively, or becoming bloat? The audit found the card had re-bloated (970→1256 words, no eviction rule), the project's LESSONS.md was rich but write-only (4 capture sites in the skills, 0 recall sites), and a 22 KB memory file sat on a dormant project.
The decision (user-driven): lessons stay in the project; skills point to them
Folding domain-specific lessons (ARCOS, CBSA vintage, ring-overlap) into the general skills would bloat the shared family with one project's idiosyncrasies — and ship other users a data-contracts skill muttering about opioid-treatment geocoding. So: two layers — general skills + card carry the method (lean, stable, shareable); the project's LESSONS.md + memory carry the scar tissue (domain-specific, grows there); and a recall link points the skills at the project store at the right moment. The real gap was never "lessons → skill edits" — it was recall. Capture without consult is a write-only journal.
Shipped
- Recall + consolidation-suggestion wiring (the only permanent addition — text in 3 existing files, no new skill): the card gains "consult
LESSONS.md+ memory at start / before a join / before reporting; recalled here, not folded; if bloated/stale while consulting, suggest consolidation";result-verification's "Capture what bit you" → "Consult — and capture —";data-contractsconsults the project log before a merge. Consolidation-suggestion is demand-driven — surfaced when the rot is noticed, never scheduled, never auto-run. - Two domain-free pattern folds (pattern only; instance left in the project): versioned/vintage join keys must assert the same vintage on both sides (
data-contracts); a robustness check returning a number identical to baseline is a silent no-op, not evidence (result-verification). - Card re-diet + eviction rule: 1256 → 1156 words while adding the recall section; a top-of-file budget comment now guards against creep.
- Memory consolidation (via the
consolidate-memoryskill, on the suggestion model): the 22 KB dormant-proxy file → 3 KB (−86%), keeping the orientation + the one durable conclusion + gotchas.
How "evolving" should feel now: the general family changes slowly (it's the method); the project compounds — you'll feel it the first time a session says "this project's LESSONS flags a vintage-join trap here — asserting vintage before I merge."
Update: /plugin update causal-powers@causal-powers + restart.