pi-goal-x 0.31.1 → 0.31.2
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/README.md +69 -428
- package/assets/badge-dark.svg +18 -0
- package/assets/badge-light.svg +18 -0
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -3,483 +3,124 @@
|
|
|
3
3
|
</div>
|
|
4
4
|
|
|
5
5
|
<div align="center">
|
|
6
|
-
<a href="https://pi.dev/packages" target="_blank" rel="noopener noreferrer">
|
|
6
|
+
<a href="https://pi.dev/packages?type=extension" target="_blank" rel="noopener noreferrer">
|
|
7
7
|
<picture>
|
|
8
8
|
<source media="(prefers-color-scheme: dark)" srcset="assets/badge-dark.svg">
|
|
9
|
-
<img src="assets/badge-light.svg" alt="TOP
|
|
9
|
+
<img src="assets/badge-light.svg" alt="TOP 0.3% of Pi coding agent extensions: #7 of 3,216 by downloads · Sep 8, 2026 (best recorded rank)" width="480">
|
|
10
10
|
</picture>
|
|
11
11
|
</a>
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
14
|
# pi-goal-x
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Adds `/goal` functionality to [pi](https://github.com/earendil-works/pi-coding-agent). The agent helps you define a goal and plan, continues working on it automatically, and submits the result to an optional independent completion auditor.
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
## Features
|
|
21
|
-
|
|
22
|
-
### Regular goals
|
|
23
|
-
|
|
24
|
-
Regular goals describe an outcome for the agent to achieve. The agent can investigate the work, choose an appropriate sequence, create tasks, and adapt its plan as it progresses.
|
|
25
|
-
|
|
26
|
-
Regular goals work well for research, implementation, debugging, documentation, and other work where the desired result is clear and the execution path can be determined during the task.
|
|
27
|
-
|
|
28
|
-
### Sisyphus goals
|
|
29
|
-
|
|
30
|
-
Sisyphus goals describe work that should be completed in a specific order. The agent follows the listed sequence one step at a time and preserves dependencies between steps.
|
|
31
|
-
|
|
32
|
-
Sisyphus goals work well for migrations, staged refactors, release procedures, data-processing workflows, and other tasks where each step prepares the way for the next.
|
|
33
|
-
|
|
34
|
-
### Guided goal creation
|
|
35
|
-
|
|
36
|
-
The `/goal` and `/sisyphus` commands start a guided drafting process. The agent can ask focused questions, clarify the objective, and propose a task plan for confirmation.
|
|
37
|
-
|
|
38
|
-
RPC and browser hosts use native select/input dialogs when the terminal overlay is unavailable. Questions retain their context, and proposal confirmation includes a choice of completion auditor. Cancelling or losing a dialog never confirms an unseen proposal; the draft stays available.
|
|
39
|
-
|
|
40
|
-
When used with `pi-subagents`, goal mode stays in the parent session. Fresh, forked, resumed, and nested children inherit their assignment context without goal tools, goal state writes, or automatic goal continuations. Ordinary interactive forks retain goal mode.
|
|
41
|
-
|
|
42
|
-
Audit progress remains visible in the dashboard. Audit transcript messages appear after the agent settles and are excluded from model input; existing sessions containing interleaved audit events can resume after loading the updated extension, without rewriting their history.
|
|
43
|
-
|
|
44
|
-
The proposal is written to the conversation as a durable summary (objective, plan, verification, automatic continuation, auditor state); confirming it creates and focuses the goal and starts working automatically.
|
|
45
|
-
|
|
46
|
-
### Direct goal creation
|
|
47
|
-
|
|
48
|
-
The `/goal-direct` and `/sisyphus-direct` commands create a goal immediately from a complete objective.
|
|
49
|
-
|
|
50
|
-
### Persistent progress
|
|
51
|
-
|
|
52
|
-
Open goals are stored in `.pi/goals/`. Their objectives, tasks, status, and progress remain available across sessions and context changes.
|
|
53
|
-
|
|
54
|
-
### Multiple open goals
|
|
55
|
-
|
|
56
|
-
A project can contain several open goals. Each session focuses on one goal at a time, and you can switch between them with `/goal-focus`.
|
|
57
|
-
|
|
58
|
-
### Tasks and subtasks
|
|
59
|
-
|
|
60
|
-
Goals can include structured tasks and subtasks. The agent updates their status and records completion evidence as work progresses.
|
|
61
|
-
|
|
62
|
-
### Verification contracts
|
|
63
|
-
|
|
64
|
-
Goals and tasks can include plain-text completion requirements, such as:
|
|
65
|
-
|
|
66
|
-
```text
|
|
67
|
-
Run npm test with zero failures.
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
The completion auditor checks these requirements against evidence from the workspace.
|
|
71
|
-
|
|
72
|
-
### Independent completion review
|
|
73
|
-
|
|
74
|
-
When the agent reports a goal as complete, a separate pi agent reviews the objective, tasks, verification requirements, and workspace.
|
|
75
|
-
|
|
76
|
-
Approved goals are archived as complete. Goals requiring additional work remain open with review feedback.
|
|
77
|
-
|
|
78
|
-
### Visible status
|
|
79
|
-
|
|
80
|
-
An above-editor widget shows the focused goal: its status, focus state, other open goals, time and token usage, task progress, the current task, and the goal file path.
|
|
81
|
-
|
|
82
|
-
Press `Ctrl+Shift+T` to expand the widget into the full unified dashboard — the complete task tree with the current task highlighted, the current task's verification contract and evidence, the goal-level verification contract, and a recent-activity feed derived from the durable goal ledger. Press `Esc` or `Ctrl+Shift+T` again to collapse it.
|
|
83
|
-
|
|
84
|
-
During an independent completion audit the widget shows a structured audit dashboard (five review stages and a progress bar); after the audit it shows the approval or changes-required result, then returns to the normal view.
|
|
85
|
-
|
|
86
|
-
### Goal controls
|
|
87
|
-
|
|
88
|
-
Slash commands let you pause, resume, revise, select, unfocus, and archive goals.
|
|
89
|
-
|
|
90
|
-
### Configurable behaviour
|
|
91
|
-
|
|
92
|
-
The settings menu controls task support, verification contracts, subtask depth, goal selection, and the completion auditor.
|
|
18
|
+
The extension saves goal objectives, tasks, and progress across sessions. You can pause, resume, revise, or switch goals as your work changes.
|
|
93
19
|
|
|
94
20
|
## Install
|
|
95
21
|
|
|
96
|
-
Install from npm:
|
|
97
|
-
|
|
98
22
|
```bash
|
|
99
23
|
pi install npm:pi-goal-x
|
|
100
24
|
```
|
|
101
25
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
pi install .
|
|
106
|
-
```
|
|
26
|
+
## Create a goal
|
|
107
27
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
pi -e .
|
|
28
|
+
```text
|
|
29
|
+
/goal Add CSV export to the reports page, with documentation and tests.
|
|
112
30
|
```
|
|
113
31
|
|
|
114
|
-
|
|
32
|
+
The agent discusses the goal with you, asks focused questions where needed, and proposes an objective, task plan, and completion requirements. You review the proposal and choose whether to use the completion auditor. Once you confirm, the agent starts working and continues automatically while the goal is active.
|
|
115
33
|
|
|
116
|
-
|
|
34
|
+
You can specify completion requirements, such as passing the test suite or producing a report with every required section. The agent tracks tasks and subtasks, records evidence, and works toward those requirements. If it gets blocked and needs your input, you can resolve the issue and resume.
|
|
117
35
|
|
|
118
|
-
|
|
36
|
+
If you already have a complete objective, use `/goal-direct <objective>` to create the goal and start immediately without drafting.
|
|
119
37
|
|
|
120
|
-
|
|
121
|
-
/goal Add account deletion to the application, including the user interface, data cleanup, documentation, and tests.
|
|
122
|
-
```
|
|
38
|
+
## Goal types
|
|
123
39
|
|
|
124
|
-
|
|
40
|
+
| Type | Behaviour | Example uses |
|
|
41
|
+
| --- | --- | --- |
|
|
42
|
+
| **Regular** — `/goal` | An outcome to achieve, with the agent choosing and adapting the plan. | Features, debugging, research, and documentation. |
|
|
43
|
+
| **Sisyphus** — `/sisyphus` | An ordered plan that the agent follows one step at a time. | Migrations, staged refactors, and release procedures. |
|
|
125
44
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
For example:
|
|
45
|
+
For an ordered goal, you can provide the steps or define them with the agent:
|
|
129
46
|
|
|
130
47
|
```text
|
|
131
48
|
/sisyphus Migrate authentication in this order:
|
|
132
49
|
1. Add the new token validator.
|
|
133
|
-
2. Update login to use it.
|
|
134
|
-
3.
|
|
135
|
-
4.
|
|
136
|
-
5. Run the authentication test suite.
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
The agent completes the migration in the stated order, preserving the dependency between each stage.
|
|
140
|
-
|
|
141
|
-
## Create a guided goal
|
|
142
|
-
|
|
143
|
-
Start a guided regular goal:
|
|
144
|
-
|
|
145
|
-
```text
|
|
146
|
-
/goal add structured logging to the authentication module
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
The agent can ask questions and propose a complete objective and task plan. Confirm the proposal to create the goal and begin work.
|
|
150
|
-
|
|
151
|
-
The questionnaire dialog never truncates the question; when it is taller than the terminal it stays within the height and scrolls — `PgUp`/`PgDn` page and `Ctrl+↑/↓` line-scroll without moving the selection, `↑/↓` selection auto-follows into view, and a `▲`/`… +N more` edge indicator shows what is clipped.
|
|
152
|
-
|
|
153
|
-
Start a guided Sisyphus goal:
|
|
154
|
-
|
|
155
|
-
```text
|
|
156
|
-
/sisyphus prepare and perform the customer-data migration
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
The agent can help define the ordered steps and present them for confirmation.
|
|
160
|
-
|
|
161
|
-
## Create a goal directly
|
|
162
|
-
|
|
163
|
-
Use `/goal-direct` when the objective already describes a complete outcome:
|
|
164
|
-
|
|
165
|
-
```text
|
|
166
|
-
/goal-direct Add a health-check endpoint that verifies database connectivity, returns the service status as JSON, documents the endpoint, and includes passing tests.
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
This creates and focuses the regular goal immediately.
|
|
170
|
-
|
|
171
|
-
Use `/sisyphus-direct` when the objective already contains the complete ordered process:
|
|
172
|
-
|
|
173
|
-
```text
|
|
174
|
-
/sisyphus-direct Upgrade the payment integration in this order:
|
|
175
|
-
1. Add support for the new API version.
|
|
176
|
-
2. Update payment creation.
|
|
177
|
-
3. Update refund handling.
|
|
178
|
-
4. Migrate the test fixtures.
|
|
179
|
-
5. Run the payment test suite.
|
|
180
|
-
6. Remove the old API integration.
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
This creates and focuses the ordered goal immediately.
|
|
184
|
-
|
|
185
|
-
## Manage goals
|
|
186
|
-
|
|
187
|
-
List open goals:
|
|
188
|
-
|
|
189
|
-
```text
|
|
190
|
-
/goal-list
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
Show the focused goal:
|
|
194
|
-
|
|
195
|
-
```text
|
|
196
|
-
/goal-status
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Run read-only storage/runtime health checks:
|
|
200
|
-
|
|
201
|
-
```text
|
|
202
|
-
/goal-status health
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
Re-read goal storage caches (pool, ledger, settings) from disk and report what changed — picks up external edits to `.pi` files without file watchers:
|
|
206
|
-
|
|
207
|
-
```text
|
|
208
|
-
/goal-refresh
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
Select an open goal for the current session:
|
|
212
|
-
|
|
213
|
-
```text
|
|
214
|
-
/goal-focus
|
|
50
|
+
2. Update login and session refresh to use it.
|
|
51
|
+
3. Remove the old validator.
|
|
52
|
+
4. Run the authentication tests.
|
|
215
53
|
```
|
|
216
54
|
|
|
217
|
-
|
|
55
|
+
Use `/sisyphus-direct <objective>` to start an ordered goal without drafting.
|
|
218
56
|
|
|
219
|
-
|
|
220
|
-
/goal-unfocus
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
Revise the focused objective and task plan:
|
|
224
|
-
|
|
225
|
-
```text
|
|
226
|
-
/goal-tweak <change>
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
Pause or resume the focused goal:
|
|
230
|
-
|
|
231
|
-
```text
|
|
232
|
-
/goal-pause
|
|
233
|
-
/goal-resume
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
Archive the focused goal:
|
|
237
|
-
|
|
238
|
-
```text
|
|
239
|
-
/goal-clear
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
Cancel an unconfirmed guided draft:
|
|
57
|
+
## Tasks and subtasks
|
|
243
58
|
|
|
244
|
-
|
|
245
|
-
/goal-cancel
|
|
246
|
-
```
|
|
59
|
+
The agent can divide a goal into tasks and subtasks, each describing part of the work required to complete it. During guided goal creation, you review the proposed plan before work begins.
|
|
247
60
|
|
|
248
|
-
|
|
61
|
+
For example, a CSV export goal could have this task plan:
|
|
249
62
|
|
|
250
63
|
```text
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
The agent can divide a goal into tasks and subtasks and update them as work progresses. The current task is tracked explicitly (persisted as the goal's execution focus) and highlighted in the dashboard; starting a task with `update_goal_task(status="start")` sets it, and completing or skipping it clears it.
|
|
259
|
-
|
|
260
|
-
The model receives the objective excerpt, current task, next three pending tasks, progress, budget, and applicable rules. Full requirements, contracts, and evidence remain saved. `get_goal()` returns a compact summary; use `get_goal({section:"objective"})`, `section:"tasks"` (optionally `task_id`), or `section:"history"` for lossless pages of at most 4,000 content characters. Repeat the section and task with the returned `cursor` to continue. A changed source rejects stale cursors and asks for a restart. Existing `verbose` and `include_history` arguments remain supported.
|
|
261
|
-
|
|
262
|
-
Task progress can be recorded atomically in order:
|
|
263
|
-
|
|
264
|
-
```json
|
|
265
|
-
{"updates":[{"task_id":"child","status":"complete","evidence":"Tests passed"},{"task_id":"parent","status":"complete"},{"task_id":"next","status":"start"}]}
|
|
64
|
+
Add CSV export to reports
|
|
65
|
+
├─ Review the report data and active filters
|
|
66
|
+
├─ Implement CSV export
|
|
67
|
+
│ ├─ Generate the CSV from filtered results
|
|
68
|
+
│ └─ Add a download button
|
|
69
|
+
├─ Test the export
|
|
70
|
+
└─ Document how to use it
|
|
266
71
|
```
|
|
267
72
|
|
|
268
|
-
|
|
73
|
+
As work progresses, the agent marks the current task, records completed work, and explains any skipped tasks. The dashboard shows what is done and what remains, including progress within subtasks. Task progress is saved when you pause and remains available in later sessions.
|
|
269
74
|
|
|
270
|
-
|
|
75
|
+
Tasks can also have their own completion requirements—for example, “The download contains only rows matching the active filters.” The agent records evidence against those requirements, and the completion auditor uses that evidence when reviewing the overall result.
|
|
271
76
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
Examples include:
|
|
275
|
-
|
|
276
|
-
```text
|
|
277
|
-
Run npm test with zero failures.
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
```text
|
|
281
|
-
Confirm the new command appears in the help menu.
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
```text
|
|
285
|
-
Verify that the generated report contains every required section.
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
## Unified dashboard
|
|
289
|
-
|
|
290
|
-
`pi-goal-x` renders one dashboard component in two modes; the above-editor widget, `/goal-status`, and the completion flow all derive from the same presentation model, so they can never disagree about the data.
|
|
291
|
-
|
|
292
|
-
### Compact mode
|
|
293
|
-
|
|
294
|
-
Always visible above the editor while a goal is focused:
|
|
295
|
-
|
|
296
|
-
```text
|
|
297
|
-
╭─ pi-goal-x ─ Add CSV export to reports ────────────────────────────╮
|
|
298
|
-
│ goal: running [12m47s 18.2K] (+2 open) │
|
|
299
|
-
├─ Tasks · ✓3 done · 2 open ──────────── [█████░░░] · Sub 2/3 [██░░] ┤
|
|
300
|
-
│ ✓ t1 Review reports page and data source │
|
|
301
|
-
│ ✓ t2 Implement filtered CSV export │
|
|
302
|
-
│ ▸ t3 Add the download button ☑ ▸ 2/3 │
|
|
303
|
-
│ · t4 Add documentation │
|
|
304
|
-
│ … +1 more task │
|
|
305
|
-
│ Current t3 · Add the download button │
|
|
306
|
-
│ Verify Run npm test with zero failures. │
|
|
307
|
-
│ File .pi/goals/active_goal_... │
|
|
308
|
-
╰─ Ctrl+Shift+T: expand tasks─────── Ctrl+Shift+A: toggle auditor ● ─╯
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
The green/gray `●` at the bottom-right of the border is the focused goal's
|
|
312
|
-
independent-auditor status (green = on, gray = off). Wide/medium footers
|
|
313
|
-
right-align the `Ctrl+Shift+A: toggle auditor` note beside the dot — it
|
|
314
|
-
shows the shortcut that turns the auditor on and off; narrow/minimal keep
|
|
315
|
-
just the dot.
|
|
316
|
-
|
|
317
|
-
### Expanded mode
|
|
318
|
-
|
|
319
|
-
`Ctrl+Shift+T` expands the same component: full task tree (✓ complete, ▸ current, ~ skipped, · pending), the current-task block with its contract and evidence, goal-level verification, and recent activity.
|
|
320
|
-
|
|
321
|
-
```text
|
|
322
|
-
├─ Progress ──────────────────────────────────────────────────────────┤
|
|
323
|
-
│ [██████░░░░] 3/5 tasks · 60% │
|
|
324
|
-
├─ Tasks ─────────────────────────────────────────────────────────────┤
|
|
325
|
-
│ ✓ t1 Review reports page and data source │
|
|
326
|
-
│ ✓ t2 Implement filtered CSV export │
|
|
327
|
-
│ ▸ t3 Add the download button │
|
|
328
|
-
│ ✓ t3.1 Add loading state │
|
|
329
|
-
│ · t3.3 Add error handling │
|
|
330
|
-
│ · t4 Add documentation │
|
|
331
|
-
├─ Current task ──────────────────────────────────────────────────────┤
|
|
332
|
-
│ t3 · Add the download button │
|
|
333
|
-
│ Subtasks [███████░░░] 2/3 · 67% │
|
|
334
|
-
│ Contract: The button downloads a CSV using the active filters. │
|
|
335
|
-
├─ Verification ──────────────────────────────────────────────────────┤
|
|
336
|
-
│ Run npm test with zero failures. │
|
|
337
|
-
└─ Esc/Ctrl+Shift+T: collapse ────────────────────────────────────────┘
|
|
338
|
-
```
|
|
77
|
+
Use `/goal-tweak <change>` to discuss revisions to the goal and its plan. Task tracking, completion requirements, and subtask depth are configurable in `/goal-settings`.
|
|
339
78
|
|
|
340
|
-
|
|
79
|
+
## Completion auditor
|
|
341
80
|
|
|
342
|
-
|
|
81
|
+
When enabled, a separate agent reviews the work before the goal is accepted as complete. It checks the objective, tasks, recorded evidence, completion requirements, and workspace.
|
|
343
82
|
|
|
344
|
-
|
|
83
|
+
If the auditor approves, the goal is archived as complete. If it identifies unmet requirements, the goal remains open with feedback describing the work still needed. You can choose the auditor model in `/goal-settings` and toggle auditing for the focused goal with `Ctrl+Shift+A`.
|
|
345
84
|
|
|
346
|
-
##
|
|
85
|
+
## Progress and goal controls
|
|
347
86
|
|
|
348
|
-
|
|
87
|
+
The dashboard above the editor shows the goal's status, task progress, current task, elapsed time, and token usage. Press `Ctrl+Shift+T` to expand it for the full task tree, completion requirements, evidence, and recent activity. Audit progress and results appear there too.
|
|
349
88
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
* The objective
|
|
353
|
-
* The task plan and recorded evidence
|
|
354
|
-
* Verification contracts
|
|
355
|
-
* The current workspace
|
|
356
|
-
|
|
357
|
-
An approved goal is archived as complete, and the archive path is reported. Review feedback is added to any goal that requires further work, and the dashboard shows the changes-required result before returning to the normal view.
|
|
358
|
-
|
|
359
|
-
Press `Esc` to stop an active audit (completing without audit is recorded explicitly and never presented as independently approved).
|
|
360
|
-
|
|
361
|
-
## Goal storage
|
|
362
|
-
|
|
363
|
-
Open goals are stored in:
|
|
364
|
-
|
|
365
|
-
```text
|
|
366
|
-
.pi/goals/
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
Completed and cleared goals are stored in:
|
|
370
|
-
|
|
371
|
-
```text
|
|
372
|
-
.pi/goals/archived/
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
Each session can focus on one goal while the project keeps other goals open.
|
|
376
|
-
|
|
377
|
-
## Session checkpoint recovery
|
|
378
|
-
|
|
379
|
-
Auto-continue checkpoints are tiny structured markers (≤160 chars) that
|
|
380
|
-
trigger the next turn; the full goal state is injected once per turn by the
|
|
381
|
-
extension and is never persisted into checkpoints. Sessions created by older
|
|
382
|
-
versions may still contain large "legacy" full-prompt checkpoints.
|
|
383
|
-
|
|
384
|
-
Check `/goal-recovery` or `/goal-status health` for a read-only report:
|
|
385
|
-
|
|
386
|
-
```text
|
|
387
|
-
Session checkpoints:
|
|
388
|
-
total: 851
|
|
389
|
-
legacy full checkpoints: 851
|
|
390
|
-
checkpoint content: 5.4 MB
|
|
391
|
-
projected content after recovery: 92 KB
|
|
392
|
-
```
|
|
393
|
-
|
|
394
|
-
To repair an affected session file, close Pi first (the tool refuses to run
|
|
395
|
-
while a live session could be open), then:
|
|
396
|
-
|
|
397
|
-
```bash
|
|
398
|
-
# Report only — writes nothing:
|
|
399
|
-
pi-goal-x-recover --session <session.jsonl>
|
|
400
|
-
|
|
401
|
-
# Repair (creates a timestamped backup, rewrites only checkpoint entries):
|
|
402
|
-
pi-goal-x-recover --session <session.jsonl> --apply --confirm-pi-closed
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
Recovery preserves every entry id and parent link, keeps all non-goal lines
|
|
406
|
-
byte-identical (including malformed lines), and is idempotent. Rollback is
|
|
407
|
-
the timestamped `.backup-*` file created next to the session.
|
|
89
|
+
A project can have several open goals, with one focused goal per session. Switch with `/goal-focus`, pause with `/goal-pause`, or use `/goal-tweak` to discuss changes to the current goal. Pressing `Esc` during active work also pauses the goal; in the expanded dashboard, it collapses the view.
|
|
408
90
|
|
|
409
91
|
## Commands
|
|
410
92
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
```text
|
|
443
|
-
global: ~/.pi/pi-goal-x-settings.json (or $PI_CODING_AGENT_DIR, or $PI_GOAL_GLOBAL_SETTINGS_FILE)
|
|
444
|
-
project: <cwd>/.pi/pi-goal-x-settings.json (or $PI_GOAL_SETTINGS_FILE)
|
|
445
|
-
```
|
|
446
|
-
|
|
447
|
-
Define shared configuration once in the global file and override per project. Explicit `false`/`0` values in a lower layer override inherited values; nested `keybindings` inherit per key. `/goal-settings` shows each row's effective value and source, can switch the edited scope, and can remove a local override to return to inheritance.
|
|
448
|
-
|
|
449
|
-
Use `/goal-settings` to configure task lists, verification contracts, subtask depth, automatic goal selection, and completion auditing. Goal objectives have no hard length limit by default; set `objectiveMaxChars` (or `PI_GOAL_OBJECTIVE_MAX_CHARS`, `0` = no limit) to cap objective length across `create_goal`, `propose_goal_draft`, and `/goal-tweak`.
|
|
450
|
-
|
|
451
|
-
Configure the task shortcuts in the same file when the terminal captures the defaults:
|
|
452
|
-
|
|
453
|
-
```json
|
|
454
|
-
{
|
|
455
|
-
"keybindings": {
|
|
456
|
-
"dashboard": {
|
|
457
|
-
"toggleExpand": "ctrl+shift+t",
|
|
458
|
-
"scrollUp": "ctrl+shift+up",
|
|
459
|
-
"scrollDown": "ctrl+shift+down"
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
```
|
|
464
|
-
|
|
465
|
-
The default task bindings are `ctrl+shift+t`, `ctrl+shift+up`, and `ctrl+shift+down`. Use pi key names such as `ctrl+shift+up`.
|
|
466
|
-
|
|
467
|
-
### Blocker Oracle (opt-in)
|
|
468
|
-
|
|
469
|
-
When an active goal reports blocked, a stronger read-only model can be consulted once per distinct blocker before the goal is allowed to stop. Off by default; configure under `/goal-settings → Blocker Oracle`:
|
|
470
|
-
|
|
471
|
-
```json
|
|
472
|
-
{
|
|
473
|
-
"oracle": {
|
|
474
|
-
"enabled": true,
|
|
475
|
-
"provider": "anthropic",
|
|
476
|
-
"model": "<a stronger model>",
|
|
477
|
-
"maxFailedAttemptsPerBlocker": 2
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
```
|
|
93
|
+
| Command | What it does |
|
|
94
|
+
| --- | --- |
|
|
95
|
+
| `/goal [idea]` | Discuss, plan, and confirm a regular goal. |
|
|
96
|
+
| `/sisyphus [idea]` | Discuss, plan, and confirm an ordered goal. |
|
|
97
|
+
| `/goal-direct <objective>` | Create and start a regular goal immediately. |
|
|
98
|
+
| `/sisyphus-direct <objective>` | Create and start an ordered goal immediately. |
|
|
99
|
+
| `/goal-list` | List open goals. |
|
|
100
|
+
| `/goal-status` | Show the focused goal and its progress. |
|
|
101
|
+
| `/goal-focus` | Choose an open goal to work on. |
|
|
102
|
+
| `/goal-unfocus` | Leave the current goal open without focusing on it. |
|
|
103
|
+
| `/goal-tweak <change>` | Revise the current goal with the agent. |
|
|
104
|
+
| `/goal-pause` | Pause work on the focused goal. |
|
|
105
|
+
| `/goal-resume` | Resume a paused or blocked goal. |
|
|
106
|
+
| `/goal-clear` | Archive the focused goal after confirmation. |
|
|
107
|
+
| `/goal-cancel` | Cancel an unconfirmed draft. |
|
|
108
|
+
| `/goal-settings` | Configure goal behaviour and the auditor. |
|
|
109
|
+
|
|
110
|
+
For troubleshooting, use `/goal-status verbose` for more detail, `/goal-status health` or `/goal-recovery` to check for problems, and `/goal-refresh` to reload saved goals and settings after external changes. `/goal-recovery repair` offers repairs after confirmation.
|
|
111
|
+
|
|
112
|
+
## Settings
|
|
113
|
+
|
|
114
|
+
Open `/goal-settings` to change these options. You can save defaults for all projects, override them for the current project, or remove an override to use the inherited value.
|
|
115
|
+
|
|
116
|
+
| Setting | What it controls |
|
|
117
|
+
| --- | --- |
|
|
118
|
+
| Task tracking (`disableTasks`) | Turn task lists on or off. Set to `true` to disable them. |
|
|
119
|
+
| Subtask depth (`subtaskDepth`) | Limit how many levels of subtasks the agent can create. |
|
|
120
|
+
| Completion requirements (`disableContracts`) | Turn explicit goal and task completion requirements on or off. Set to `true` to disable them. |
|
|
121
|
+
| Auditor disabled | Turn off independent completion review. |
|
|
122
|
+
| Auditor provider, model, and thinking level | Choose which model reviews completed work and its reasoning effort. |
|
|
481
123
|
|
|
482
|
-
Both `provider` and `model` must be set explicitly — the executor model is never used as a silent fallback. The Oracle session can only read files (`read`, `grep`, `find`, `ls`) and returns structured advice. Actionable advice keeps the goal running until you attempt it; advice that needs human input lets the goal block immediately.
|
|
483
124
|
|
|
484
125
|
## License
|
|
485
126
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="480" height="54" viewBox="0 0 480 54" role="img" aria-label="TOP 0.3% of Pi coding agent extensions: #7 of 3,216 by downloads · Sep 8, 2026 (best recorded rank)">
|
|
2
|
+
<!-- Dark mode -->
|
|
3
|
+
<style>
|
|
4
|
+
.frame { fill: #14181f; stroke: #2a3040; stroke-width: 1; }
|
|
5
|
+
.rank { font: 700 15px ui-monospace, 'SF Mono', Menlo, Consolas, monospace; letter-spacing: 0.04em; fill: #d4a656; }
|
|
6
|
+
.label { font: 400 13px ui-monospace, 'SF Mono', Menlo, Consolas, monospace; fill: #e8e6df; }
|
|
7
|
+
.meta { font: 400 11px ui-monospace, 'SF Mono', Menlo, Consolas, monospace; fill: #7d8494; }
|
|
8
|
+
.divider { stroke: #2a3040; stroke-width: 1; }
|
|
9
|
+
.link { text-decoration: none; }
|
|
10
|
+
</style>
|
|
11
|
+
<a class="link" href="https://pi.dev/packages?type=extension" target="_blank" rel="noopener noreferrer">
|
|
12
|
+
<rect class="frame" x="0.5" y="0.5" width="479" height="53" rx="6"/>
|
|
13
|
+
<text class="rank" x="18" y="34">TOP 0.3%</text>
|
|
14
|
+
<line class="divider" x1="128" y1="13" x2="128" y2="41"/>
|
|
15
|
+
<text class="label" x="143" y="25">of Pi coding agent extensions</text>
|
|
16
|
+
<text class="meta" x="143" y="41">#7 of 3,216 by downloads · Sep 8, 2026</text>
|
|
17
|
+
</a>
|
|
18
|
+
</svg>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="480" height="54" viewBox="0 0 480 54" role="img" aria-label="TOP 0.3% of Pi coding agent extensions: #7 of 3,216 by downloads · Sep 8, 2026 (best recorded rank)">
|
|
2
|
+
<!-- Light mode -->
|
|
3
|
+
<style>
|
|
4
|
+
.frame { fill: #f6f8fa; stroke: #d0d7de; stroke-width: 1; }
|
|
5
|
+
.rank { font: 700 15px ui-monospace, 'SF Mono', Menlo, Consolas, monospace; letter-spacing: 0.04em; fill: #9a6700; }
|
|
6
|
+
.label { font: 400 13px ui-monospace, 'SF Mono', Menlo, Consolas, monospace; fill: #1f2328; }
|
|
7
|
+
.meta { font: 400 11px ui-monospace, 'SF Mono', Menlo, Consolas, monospace; fill: #59636e; }
|
|
8
|
+
.divider { stroke: #d0d7de; stroke-width: 1; }
|
|
9
|
+
.link { text-decoration: none; }
|
|
10
|
+
</style>
|
|
11
|
+
<a class="link" href="https://pi.dev/packages?type=extension" target="_blank" rel="noopener noreferrer">
|
|
12
|
+
<rect class="frame" x="0.5" y="0.5" width="479" height="53" rx="6"/>
|
|
13
|
+
<text class="rank" x="18" y="34">TOP 0.3%</text>
|
|
14
|
+
<line class="divider" x1="128" y1="13" x2="128" y2="41"/>
|
|
15
|
+
<text class="label" x="143" y="25">of Pi coding agent extensions</text>
|
|
16
|
+
<text class="meta" x="143" y="41">#7 of 3,216 by downloads · Sep 8, 2026</text>
|
|
17
|
+
</a>
|
|
18
|
+
</svg>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-goal-x",
|
|
3
|
-
"version": "0.31.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.31.2",
|
|
4
|
+
"description": "Adds /goal to pi: conversational goal planning, flexible or ordered goals, persistent progress, and an independent completion auditor.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "pi-goal-x contributors",
|
|
7
7
|
"type": "module",
|
|
@@ -36,7 +36,9 @@
|
|
|
36
36
|
"docs/architecture.md",
|
|
37
37
|
"docs/pi-autoresearch-survey.md",
|
|
38
38
|
"docs/pi-goal-x-unified-dashboard-plan.md",
|
|
39
|
-
"docs/unified-dashboard.md"
|
|
39
|
+
"docs/unified-dashboard.md",
|
|
40
|
+
"assets/badge-light.svg",
|
|
41
|
+
"assets/badge-dark.svg"
|
|
40
42
|
],
|
|
41
43
|
"pi": {
|
|
42
44
|
"extensions": [
|