Commit Graph

8 Commits

Author SHA1 Message Date
kagura-agent
9955880815 fix: preserve taskIdToIndex map across TodoWrite operations (#345)
When TodoWrite is called, the taskIdToIndex map was cleared and
rebuilt from scratch. However, TodoItem objects only contain content
and status fields — no taskId. This meant all taskId mappings from
prior TaskCreate calls were permanently lost, causing subsequent
TaskUpdate operations to silently fail.

Fix: Before clearing the map, build a reverse lookup of content →
taskIds from the existing state. After replacing latestTodos with the
new TodoWrite items, re-register taskId mappings for items whose
content matches a previously-known task. Stale mappings (for content
no longer present) are naturally dropped.

Adds two tests:
- TaskCreate → TodoWrite → TaskUpdate flow preserves taskId
- TodoWrite-only regression test (no TaskCreate involved)
2026-04-03 17:19:49 +08:00
Jarrod Watts
aac2bcf532 milestone-3: avoid caching partial transcript parses 2026-03-23 13:04:46 +11:00
Jarrod Watts
c29a55e1dd mitigate transcript reparsing cost 2026-03-23 13:00:41 +11:00
myaiexp
bdfa4454b3 feat: show session name in statusline (#155)
* feat: show session name in statusline

Reads the session slug (auto-generated) and custom title (set via
/rename) from the transcript JSONL and displays it in dim text after
the project/git info on both expanded and compact layouts.

Custom title takes priority over auto-generated slug when both exist.

* test: add session name coverage and harden integration spawn

---------

Co-authored-by: Jarrod Watts <jarrod@cubelabs.xyz>
2026-03-03 13:54:01 +11:00
Jarrod Watts
44adb2631d fix(transcript): support task todo updates (#106) 2026-02-03 12:14:27 +11:00
Jarrod Watts
fcaa8da6d6 test coverage 2026-01-03 18:52:12 +11:00
Jarrod Watts
36ba791cb1 fix: recursive rules discovery and .claude/CLAUDE.local.md support
- Rules now discovered recursively in subdirectories
- Added .claude/CLAUDE.local.md detection

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 18:16:31 +11:00
Jarrod Watts
26a3e984e4 feat(v2): statusline architecture - Phase 1 complete
Major rewrite from split-pane TUI to multi-line statusline:

- Remove hooks/, tui/, scripts/ directories
- Add new src/ structure with TypeScript
- Implement stdin JSON parser (native model/context data)
- Implement transcript JSONL parser (tools, agents, todos)
- Implement render system with 4 lines:
  - Session: model, context bar, rules, MCPs, duration
  - Tools: running + completed with counts
  - Agents: type, model, description, elapsed
  - Todos: current task with progress
- Add context warning thresholds (70%, 85%, 95%)
- Show context breakdown at high usage
- Update plugin.json with statusLine config

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 14:28:25 +11:00