0.17.0 — the handoff reads like a summary
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 insidebuild_single.py --checkso a missing runtime import can't slip through again.
187 tests, byte-identical package/single-file builds, docs updated throughout (GUIDE, DEVELOPMENT).