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 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 1% of Pi coding agent packages: #45 of 5,380 by downloads, as of Aug 2026" width="420">
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
- `pi-goal-x` is a goal-management extension for [pi](https://github.com/earendil-works/pi-coding-agent).
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
- It gives the agent a persistent objective, a structured plan, visible progress, and an independent completion review. Goals remain available across sessions, so the agent can continue working with the same objective and progress record.
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
- Install from a local checkout:
103
-
104
- ```bash
105
- pi install .
106
- ```
26
+ ## Create a goal
107
27
 
108
- Run it once from a local checkout:
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
- ## Choose a goal style
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
- Use a **regular goal** when you have a clear outcome and want the agent to determine how to reach it.
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
- For example:
36
+ If you already have a complete objective, use `/goal-direct <objective>` to create the goal and start immediately without drafting.
119
37
 
120
- ```text
121
- /goal Add account deletion to the application, including the user interface, data cleanup, documentation, and tests.
122
- ```
38
+ ## Goal types
123
39
 
124
- The agent can decide how to investigate the application, divide the work, and order the implementation.
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
- Use a **Sisyphus goal** when you already know the required sequence and want the agent to follow it step by step.
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. Update session refresh to use it.
135
- 4. Remove the old validator.
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
- Remove the current session’s focus while keeping the goal open:
55
+ Use `/sisyphus-direct <objective>` to start an ordered goal without drafting.
218
56
 
219
- ```text
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
- ```text
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
- Open the settings menu:
61
+ For example, a CSV export goal could have this task plan:
249
62
 
250
63
  ```text
251
- /goal-settings
252
- ```
253
-
254
- Pressing `Esc` during active work pauses the goal.
255
-
256
- ## Tasks and verification
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
- Pass this to `update_goal_task`. A batch accepts 1–100 updates and validates every transition before applying any. Complete children before their parent; contracted tasks still require evidence, skips require reasons, and completed tasks cannot reopen. Single-task calls remain supported; do not mix the two forms. Each update retains its own ledger event. Turn-level writes check the original persisted revision, and completion audits wait for a successful flush.
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
- Goal tools appear when applicable. Outside drafting, creation and inspection remain available; outcomes appear for active, paused, or budget-limited goals, task planning for active or paused goals, and task progress for active goals with a task tree. Disabling tasks hides both task tools. Drafting keeps its question/proposal tools, and ordinary work tools remain available.
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
- Verification contracts describe the evidence required for completion. They can apply to the entire goal or to an individual task.
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
- Every rendered line is width-aware: the dashboard adapts to wide, medium, narrow, and very-narrow terminals and never overflows the available width. It follows a pastel theme palette with a monochrome fallback: a light steel-gray-blue outer frame (`mdLink`) with gray interior rules, pastel-amber task rows with colour-coded markers and ids (✓ complete green, ▸ current teal, ~ skipped gray, · pending amber), accent-tinted progress and brand, and status symbols in their state color.
79
+ ## Completion auditor
341
80
 
342
- The task list is a scrollable **window** that by default is anchored to the most recently completed task — recent completions stay visible instead of the earliest tasks. The expanded dashboard is modal and scrolls with the plain `↑/↓`, `PgUp/PgDn`, and `Home/End` keys; the compact widget keeps the editor's arrows untouched and scrolls with the free `Ctrl+Shift+↑/↓` chords (pi leaves those unbound). A new completion re-anchors the window.
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
- See [`docs/unified-dashboard.md`](docs/unified-dashboard.md) for the full layout specification, status states, scrolling behavior, and migration behavior.
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
- ## Completion review
85
+ ## Progress and goal controls
347
86
 
348
- When the agent reports a goal as complete, `pi-goal-x` starts an independent completion review.
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
- The auditor examines:
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
- ```text
412
- /goal [seed] Start a guided regular goal
413
- /sisyphus [seed] Start a guided ordered goal
414
- /goal-direct <objective> Create a regular goal immediately
415
- /sisyphus-direct <objective> Create an ordered goal immediately
416
- /goal-list List open goals
417
- /goal-status Show the focused goal (unified dashboard)
418
- /goal-status verbose Show the focused goal with full diagnostic detail
419
- /goal-status health Check goal storage/runtime health (read-only)
420
- /goal-refresh Re-read storage caches and report external changes
421
- /goal-recovery Read-only recovery report; `/goal-recovery repair` fixes stale locks + snapshot after confirmation
422
- /goal-focus Select an open goal
423
- /goal-unfocus Remove the session’s focus
424
- /goal-tweak <change> Revise the focused goal
425
- /goal-pause Pause the focused goal
426
- /goal-resume Resume a paused or blocked goal
427
- /goal-settings Open the settings menu
428
- /goal-clear Archive the focused goal
429
- /goal-cancel Cancel the current draft
430
- ```
431
-
432
- ## Configuration
433
-
434
- Settings resolve per setting in this order (highest wins):
435
-
436
- ```text
437
- environment > project layer > global layer > defaults
438
- ```
439
-
440
- Files:
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.1",
4
- "description": "Goal mode extension for pi: durable long-running objectives, five model tools, structured tasks, independent completion audit, Sisyphus mode, auto-continue, and a status overlay.",
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": [