Skip to content

0.18.0 — curated project memory that hands over a plan

Choose a tag to compare

@Vasilispapg Vasilispapg released this 26 Aug 18:23
· 9 commits to main since this release
  • Curate what feeds the memory — --exclude and --keep:
    --brief --exclude ID[,ID…] leaves sessions out of the brief entirely
    (timeline, counts, notes, freshness nags); bare --exclude opens a
    numbered multi-select picker (date, id, title — 1,3 / 2-4).
    --keep first:2,last:20 (bare 20 = 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 is section — 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 stand section separates shipped-and-verified from
    in-flight (naming exactly where it stopped) from not-yet-started, and
    ## Open threads is 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 is included; word budget 600 → 800. Reduce-prompt-only
    again: cached notes survive, a refresh is one LLM call.

  • A distillation is never silent: --brief --llm now 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-cli always bills the CLI login: a stray
    ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN exported in the shell is
    now scrubbed from the spawned claude -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).