Skip to content

Todo/Tasks list tool #21#72

Open
Olga Lavrichenko (OLavrik) wants to merge 7 commits into
mainfrom
olga.lavrichenko/todos-mockups
Open

Todo/Tasks list tool #21#72
Olga Lavrichenko (OLavrik) wants to merge 7 commits into
mainfrom
olga.lavrichenko/todos-mockups

Conversation

@OLavrik

Copy link
Copy Markdown
Collaborator

What: a durable, per-worktree backlog (the right-panel Todo tab) the user curates and the pi agent executes.

How it works:

  • User curates — add items, set priority (click chip: low→normal→high, default normal), remove.
  • Run (▶) opens a chat, injects a prompt from the item, and binds it to that session. Status is agent-owned (no manual toggle): the agent flips pending→in_progress→done, and the panel shows it live.

How it's built (mirrors spec-graph, 4 layers):

  1. packages/pi-todos — pi extension: pi-free TodoStore (.thinkrail/todos.json) + five todo_* tools + skill + always-on rule.
  2. contracts — TodoItem + todo.list/add/update/remove/bind routes (PROTOCOL_VERSION 2).
  3. server/todos — value-imports pi-todos/core, maps routes to the store; todo.bind writes the run→chat sessionId host-side only (agent owns status, host owns binding).
  4. TodoPanel — reads/curates over the wire; live status by piggybacking the pi.event stream (refetch on tool-end / turn-settle); Run reuses chat-kickoff, Open-chat reuses the reopen flow.

Verified: unit (core+tools), e2e no-agent (curate/reprioritize/refresh), e2e AGENT, Inc. (@agent) (Run→live done→reopen chat).

Screenshot 2026-07-14 at 10 28 29

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant