pi-long-task 0.3.16 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +20 -0
- package/package.json +1 -1
- package/src/coordinator.ts +430 -41
- package/src/index.ts +42 -13
- package/src/plan_revision.ts +471 -0
- package/src/plan_revision_generation.ts +376 -0
- package/src/plan_store.ts +281 -0
- package/src/render.ts +2 -0
- package/src/steering.ts +234 -0
- package/src/todo_parser.ts +46 -7
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
Notable changes to Pi Long Task are recorded here. This project follows semantic versioning.
|
|
4
4
|
|
|
5
|
+
## 0.4.0 - 2026-08-31
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Accept additional plain-text guidance while a long task is running and incorporate queued messages into revised TODO plans.
|
|
10
|
+
- Preserve completed work across plan revisions using stable task identities, while scheduling corrective follow-up work when guidance invalidates prior results.
|
|
11
|
+
- Atomically persist and re-render revised plans, continue from the next eligible task, and prevent obsolete in-flight workers from completing replacement tasks.
|
|
12
|
+
- Report accepted and rejected revisions through live progress, retaining the current plan when revision generation or validation fails.
|
|
13
|
+
|
|
14
|
+
## 0.3.17 - 2026-08-26
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- Prevent repeated `Finished:` and `Failed:` prefixes from accumulating in the sidebar's active status across tool events.
|
|
19
|
+
- Reset the active status at every tool start so a completed tool's status cannot leak into the next tool.
|
|
20
|
+
|
|
5
21
|
## 0.3.16 - 2026-08-20
|
|
6
22
|
|
|
7
23
|
### Changed
|
package/README.md
CHANGED
|
@@ -202,6 +202,26 @@ Use `with commits` or `commit true` only when you want Pi Long Task to create el
|
|
|
202
202
|
|
|
203
203
|
During execution, Pi Long Task creates `tmp/pi-long-task/<run-id>/TODO.md` and `TASK_RESULT.md`, runs one isolated worker session per unfinished TODO in order, and retries unfinished tasks up to the configured attempt limit. Checked progress in pasted TODO markdown is preserved, so completed tasks are skipped when that artifact is supplied again. A task is marked complete only after the worker returns every required `TASK_RESULT` field without a session error, timeout, or cancellation, and the attempt evidence is appended before the TODO completion marker. In Pi TUI, watch the Long Task sidebar/widget for the active task, subtask checklist, task timeline, counts, and worker spend when available. In headless or non-UI runs, watch the partial tool-result updates in the main output. When the run finishes, the final response lists completed, failed, blocked, and remaining task counts plus the result and TODO file paths.
|
|
204
204
|
|
|
205
|
+
### Steer a run in progress
|
|
206
|
+
|
|
207
|
+
While one Pi Long Task is active, send another plain-text message in the Pi prompt to refine the remaining work. For example:
|
|
208
|
+
|
|
209
|
+
```text
|
|
210
|
+
Add an accessibility review before the documentation task, and require pagination tests for the API task.
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Pi acknowledges the guidance immediately, queues rapid messages in submission order, and asks the planner to incorporate each message into the current complete plan. Accepted guidance may edit pending tasks, add or remove work, or reorder the unfinished tasks. The updated `TODO.md` and sidebar use the revised order, and the same run continues from the next eligible task instead of starting over.
|
|
214
|
+
|
|
215
|
+
Progress is reconciled conservatively:
|
|
216
|
+
|
|
217
|
+
- Equivalent completed tasks stay checked and are not run again; their result evidence remains available to later workers.
|
|
218
|
+
- If guidance changes completed work, the completed result is retained as history and corrective work is represented as a new unchecked follow-up rather than erasing the old result.
|
|
219
|
+
- If guidance changes or removes the currently running task, that worker may finish, but its stale result is recorded as obsolete and cannot complete the replacement. The scheduler then runs the revised task.
|
|
220
|
+
- A revision must be a complete valid Pi Long Task TODO plan. If generation or validation fails, Pi reports the rejection and keeps executing the prior plan unchanged.
|
|
221
|
+
- Guidance received close to task completion is serialized with the completion update so the rendered checkboxes and scheduler state remain consistent.
|
|
222
|
+
|
|
223
|
+
Steering applies to text submitted with Pi's active-session steering behavior. Slash commands, shell commands beginning with `!`, image messages, follow-up messages deferred until after the response, and extension-generated input retain their existing behavior instead of revising the plan. If more than one long-task run is active in the same extension session, guidance is not guessed between them.
|
|
224
|
+
|
|
205
225
|
## What it looks like
|
|
206
226
|
|
|
207
227
|

|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-long-task",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Pi coding agent extension that breaks large coding requests into tracked TODOs and runs them in isolated AI worker sessions. A long-running task runner and subagent orchestrator for Pi, with a live TUI progress sidebar, retries, goal loops, and optional per-task git commits.",
|
|
6
6
|
"keywords": [
|