Skip to content

0.17.0 — the handoff reads like a summary

Choose a tag to compare

@Vasilispapg Vasilispapg released this 26 Aug 16:49
· 15 commits to main since this release

Born from dogfooding a 270 MB, 13-day, 88-subagent session whose handoff read like an inventory dump. Every change is visible on that same session.

The transcript is a digest by default

## Conversation now renders one condensed bullet per turn — user ~300 chars, assistant ~500, every cut visible as . Conversation coverage on the monster session: ~6% of turns (verbatim head+tail) → ~43%, still ending at the current state. --full restores the classic verbatim transcript. LLM summarization (--llm, --brief) always reads the full text — never the digest.

Task-notifications are not the human

<task-notification> records render as one-line 🔔 turns (summary only, entities unescaped, payload dropped) and are counted separately. That session's "333 user messages" were really 94 human + 240 background notifications — now the header says exactly that.

A file inventory that doesn't eat your context

Top 15 files by edit count (was: every file, alphabetically — 546 bullets), paths relative to the project root the header already names, scratchpad/temp files folded into one line. Full absolute list: --format json.

Numbers a reader can trust

  • Tokens split cache re-reads: 39,185,271 in / 7,722,484 out (+3,900,024,478 cached reads) instead of one meaningless 3.9-billion "in" figure.
  • Assistant replies count merged turns (what you see), not API records (~3× fewer).
  • Subagent tool calls shown as (+9,049 in subagents) — the command list can no longer exceed the tool-call count.
  • gitBranch: "HEAD" renders as (detached HEAD).

Small but real

  • ℹ stderr heads-up when the written document contains email addresses, pointing at --anonymize (default redaction targets secrets, not identity — deliberately).
  • Sessions that dispatched subagents are never auto-skipped as trivial.
  • <local-command-caveat> wrappers stripped as noise.
  • The curl single-file build gained a missing import html (would have crashed on notifications); a notification fixture now runs inside build_single.py --check so a missing runtime import can't slip through again.

187 tests, byte-identical package/single-file builds, docs updated throughout (GUIDE, DEVELOPMENT).