Skip to content

v0.1.6

Choose a tag to compare

@heyhuynhgiabuu heyhuynhgiabuu released this 23 Jun 09:57

0.1.6

What changed

  • Per-task data lives in flat files at the top of .pi/artifacts/.
    No per-task subdirs, no <task-id> paths.
  • The subagent's session is auto-saved by pi at
    ~/.pi/agent/sessions/<cwd>/<session-id>.jsonl. pi-task does not
    maintain its own session storage.
  • Task widget rendering is now split into a dedicated module for easier
    maintenance.
  • Foreground and background widgets now use consistent colors for
    duration/tool-call stats.
  • Background completion results now use a padded themed main-pane block
    and no longer duplicate completed-widget notifications.
  • Final foreground tool-call counts now match the live widget count.

Layout

.pi/artifacts/
├── TODO.md              pikit canonical (untouched)
├── PLAN.md              pikit canonical (untouched)
├── PROGRESS.md          pikit canonical (untouched)
├── DECISIONS.md         pikit canonical (untouched)
├── TASKS.md             pi-task: all task data, ### blocks per task
└── task-sessions.json   pi-task: conversation_id → { task_id, session_file }

No .pi/task-runs/. No .pi/artifacts/task-<id>/ subdirs. No
CONTEXT.md (the prompt is in the CLI arg). No SESSION.md. No
RESULT.md (the subagent's final assistant message IS the result;
pi-task reads it from the auto-saved session file).

How it works

  1. Parent launches pi --name <task_id> "<prompt>" in a tmux pane
    (interactive TUI) — or pi --mode json if tmux is unavailable
  2. Subagent works, user watches (in tmux mode)
  3. Subagent's final assistant message IS the result. The prompt
    tells the subagent to end with a clear summary.
  4. Parent reads the last assistant message from the auto-saved
    session file (tmux mode) or from the JSON event stream (SDK mode)
  5. Parent embeds the result in TASKS.md as a #### Result block
  6. Parent updates task-sessions.json with the session file path
  7. For resume, parent uses pi --session <session_file> to continue