Files
deepseek-harness/packages/todo
Tianyi Cui a9a44fea96 Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-19-cooperative-tool-cancellation.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-19-cooperative-tool-cancellation.md
#	.agents/notes/implemented/architecture/2026-07-19-cooperative-tool-cancellation.zh.md
#	.agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.i18n.yaml
#	.agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.md
#	.agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.zh.md
#	docs/cookbook/adding-a-tool.i18n.yaml
#	docs/rfc/INDEX.md
#	packages/AGENTS.md
2026-07-19 23:43:36 +08:00
..
2026-07-17 12:01:37 +08:00

todo/ — todo / planning capability family

The model-facing todo tool. A single product package — there is no interface/implementation seam here, because the list is single-owner session state (one agent session owns its own list), not a swappable capability.

Package Role ctx key
tool-todo/ Model-facing todo_write tool; writes the whole list to the session log (todo/write) (registers on ctx.tools)

The list lives on the event-sourced session log (SessionEventMap['todo/write'], owned by dsh-session); this package is the thin consumer that appends the snapshot. UIs render off session/event: the terminal app shows a persistent TUI plan or readline checklist, while the ACP bridge maps it to a plan sessionUpdate.