0.18.0 — curated project memory that hands over a plan
-
Curate what feeds the memory —
--excludeand--keep:
--brief --exclude ID[,ID…]leaves sessions out of the brief entirely
(timeline, counts, notes, freshness nags); bare--excludeopens a
numbered multi-select picker (date, id, title —1,3/2-4).
--keep first:2,last:20(bare20=last:20) windows a huge
history to the founding sessions plus the recent ones. Both are
sticky: stored in the brief's stamp, re-applied by hooks and every
refresh (a sliding window, in--keep's case), cleared with
--exclude none/--keep all. Typo'd exclude prefixes warn and are
not stored; excluding everything is a clean error. -
The brief now says what you're building: the distilled memory
opens with a## What this issection — the 2-3 sentences a stranger
(or another model) needs first: product, stack, current state. Added
only to the final reduce prompt, so every cached per-session note
survives — refreshing an existing brief re-runs a single LLM call. -
The brief maps state and hands over a resume plan: a new
## Where things standsection separates shipped-and-verified from
in-flight (naming exactly where it stopped) from not-yet-started, and
## Open threadsis now ordered by what a resuming session should
pick up first — concrete next action per bullet, tagged [in flight] /
[blocked] / [not started]. Citations now cover every section,
## What this isincluded; word budget 600 → 800. Reduce-prompt-only
again: cached notes survive, a refresh is one LLM call. -
A distillation is never silent:
--brief --llmnow prints its
plan ("Distilling N session(s) — at least M LLM call(s)…") before the
first call, then drives the same live progress machinery as the
handoff pipeline — on a TTY a bar with elapsed time and ETA that ticks
during each call, one plain stderr line per event otherwise. Large
sessions announce their part count upfront and the bar's total grows
as parts are discovered; cache hits show as completed steps. -
--llm claude-clialways bills the CLI login: a stray
ANTHROPIC_API_KEY/ANTHROPIC_AUTH_TOKENexported in the shell is
now scrubbed from the spawnedclaude -p— the env key used to win
over the subscription login, failing runs with "Credit balance is too
low" on an empty Console account (and silently rebilling on a funded
one).