Console: replace full thinking streaming with [Thinking....] indicator (ADR-020) #298
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Per ADR-020 (
docs/adr/020-console-thinking-indicator.md, amends ADR-011 Decision items 2 and 4), replace full model-thinking streaming in the console with a two-line indicator per thinking block. Hard switch — no flag, env var, or config key restores full thinking.Locked spec
thinking_start→ new-line chunk[HH:mm <stage>] [Thinking....](channelthinking) + flush terminator ('\n'new-line chunk) so the marker prints immediately (same pattern as the model banner).thinking_delta→ no chunks; accumulate the open block's character count.thinking_end→ new-line chunk[HH:mm <stage>] thinking done (<size>, <duration>)+ flush terminator.<size>via existingformatSize()(1234 chars/1.2 KB);<duration>is wall clock start→end:42sunder a minute,1m 23sbeyond (new pure, clock-injectable helper, e.g.formatDuration).thinking_endwith no open block → emits nothing; empty block →0 chars; consecutive blocks each get their own marker + completion pair.Implementation
src/stage/helpers/renderEvent.ts: rework the three thinking event cases; add count + start-timestamp state (clock already injectable); smallformatDuration(ms)helper.(thinking: <level>)suffix,run.log, artifacts, stage-text aggregation, batch prefixing (both lines are new-line chunks),thinkingstyle channel instyle.ts.Validation
src/stage/helpers/renderEvent.test.ts: replace thethinking streaming (full, no truncation)describe block with coverage for marker + flush terminator, delta suppression + counting, completion line (size + duration via injected clock), and edge cases (end without start, empty block, consecutive blocks, partial-line flush interaction).formatDuration(42s,1m 23s).npm run lint+npm testgreen.References
docs/design-console-output.md§3.2 (updated)