@difflab/pi 0.4.0-rc.202609231106.845dbe5 → 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.
Files changed (78) hide show
  1. package/README.md +4 -4
  2. package/agents/diffpi-orchestrator.md +1 -1
  3. package/agents/diffpi-planner.md +3 -3
  4. package/agents/diffpi-worker.md +2 -2
  5. package/dist/assets.d.ts +0 -1
  6. package/dist/assets.d.ts.map +1 -1
  7. package/dist/cli/plan.d.ts +3 -7
  8. package/dist/cli/plan.d.ts.map +1 -1
  9. package/dist/cli.js +816 -314
  10. package/dist/commands/plan.d.ts +1 -0
  11. package/dist/commands/plan.d.ts.map +1 -1
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/environment.d.ts +1 -2
  14. package/dist/environment.d.ts.map +1 -1
  15. package/dist/extensions/index.js +2509 -6152
  16. package/dist/extensions/processx.d.ts +0 -1
  17. package/dist/extensions/processx.d.ts.map +1 -1
  18. package/dist/extensions/subagentx.d.ts +1 -1
  19. package/dist/extensions/subagentx.d.ts.map +1 -1
  20. package/dist/index.d.ts +3 -3
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +728 -195
  23. package/dist/plan/annotations.d.ts +25 -0
  24. package/dist/plan/annotations.d.ts.map +1 -0
  25. package/dist/plan/controller.d.ts +65 -0
  26. package/dist/plan/controller.d.ts.map +1 -0
  27. package/dist/plan/execution.d.ts +13 -0
  28. package/dist/plan/execution.d.ts.map +1 -0
  29. package/dist/plan/ids.d.ts +5 -0
  30. package/dist/plan/ids.d.ts.map +1 -0
  31. package/dist/plan/index.d.ts +4 -2
  32. package/dist/plan/index.d.ts.map +1 -1
  33. package/dist/plan/lock.d.ts +7 -2
  34. package/dist/plan/lock.d.ts.map +1 -1
  35. package/dist/plan/markdown.d.ts.map +1 -1
  36. package/dist/plan/parser.d.ts +18 -0
  37. package/dist/plan/parser.d.ts.map +1 -0
  38. package/dist/plan/store.d.ts +0 -2
  39. package/dist/plan/store.d.ts.map +1 -1
  40. package/dist/plan/types.d.ts +22 -3
  41. package/dist/plan/types.d.ts.map +1 -1
  42. package/dist/tools/index.d.ts +0 -1
  43. package/dist/tools/index.d.ts.map +1 -1
  44. package/dist/tools/index.js +2086 -1769
  45. package/dist/tools/log.d.ts.map +1 -1
  46. package/dist/tools/modes.d.ts.map +1 -1
  47. package/dist/tools/plan.d.ts +2 -2
  48. package/dist/tools/plan.d.ts.map +1 -1
  49. package/package.json +2 -4
  50. package/skills/plan/SKILL.md +7 -15
  51. package/skills/plan/references/workflows/annotate.md +6 -0
  52. package/skills/plan/references/workflows/finalize.md +7 -0
  53. package/skills/plan/references/workflows/go.md +8 -0
  54. package/{workflows/plan → skills/plan/references/workflows}/help.md +4 -11
  55. package/skills/plan/references/workflows/init.md +6 -0
  56. package/skills/plan/references/workflows/new.md +8 -0
  57. package/skills/plan/references/workflows/update.md +7 -0
  58. package/templates/plan/PLAN.md +0 -2
  59. package/dist/commands.d.ts +0 -22
  60. package/dist/commands.d.ts.map +0 -1
  61. package/dist/extensions/zodx.d.ts +0 -8
  62. package/dist/extensions/zodx.d.ts.map +0 -1
  63. package/dist/plan/operations.d.ts +0 -43
  64. package/dist/plan/operations.d.ts.map +0 -1
  65. package/dist/plan/reviews.d.ts +0 -28
  66. package/dist/plan/reviews.d.ts.map +0 -1
  67. package/dist/tools/ci.d.ts +0 -6
  68. package/dist/tools/ci.d.ts.map +0 -1
  69. package/dist/tools/plan-schema.d.ts +0 -211
  70. package/dist/tools/plan-schema.d.ts.map +0 -1
  71. package/dist/workflow.d.ts +0 -33
  72. package/dist/workflow.d.ts.map +0 -1
  73. package/workflows/plan/annotate.md +0 -13
  74. package/workflows/plan/finalize.md +0 -15
  75. package/workflows/plan/go.md +0 -20
  76. package/workflows/plan/init.md +0 -13
  77. package/workflows/plan/new.md +0 -20
  78. package/workflows/plan/update.md +0 -18
package/README.md CHANGED
@@ -32,15 +32,15 @@ Standard agents come from the same global and trusted-project directories used b
32
32
  /plan update [short-slug] [--branch name] [--bg] [instructions...]
33
33
  /plan annotate [short-slug]
34
34
  /plan finalize [short-slug]
35
- /plan go <short-slug> [--mode <no-commit|commit|push>] [--bg]
35
+ /plan go <short-slug> [--commit|--no-commit] [--bg]
36
36
  /plan help
37
37
  ```
38
38
 
39
- Foreground `init`, `new`, and `update` select Planner. Foreground `annotate`, `finalize`, and `help` select Worker. Foreground `go` selects Orchestrator, which launches and coordinates implementation Workers. Deferring implementation during finalize restores the default mode, as does completing an inline plan execution. Orchestrator owns background coordination and phase commits. Background work does not change the foreground mode and does not ask questions.
39
+ Foreground `init`, `new`, and `update` select Planner. Foreground `annotate`, `finalize`, `go`, and `help` select Worker. Deferring implementation during finalize restores the default mode, as does completing an inline plan execution. Orchestrator owns background coordination and phase commits. Background work does not change the foreground mode and does not ask questions.
40
40
 
41
- `/plan annotate` uses `tuicr --file <plan-directory>` and saves an immutable plan review when tuicr closes. Run `npx --yes @difflab/pi@<version> plan annotate --cwd <repo>` for direct use. Zed setup installs the pinned `diffpi: annotate plan` task. Override the plan template at `~/.difflab/diffpi/templates/plan/PLAN.md`.
41
+ `/plan annotate` uses `tuicr --file PLAN.md`. Run `npx --yes @difflab/pi@<version> plan annotate --cwd <repo>` for direct use. Zed setup installs the pinned `diffpi: annotate plan` task. Override the plan template at `~/.difflab/diffpi/templates/plan/PLAN.md`.
42
42
 
43
- Plan tools cover context, initialization, overview and phase changes, validation, immutable reviews, progress, status, gates, hosted CI monitoring, and durable execution state. Phase gates run `format:check`, `lint`, and `test`. `--mode commit` creates one local conventional commit per completed phase. `--mode push` also pushes each commit, then a bounded background Worker monitors CI for that SHA while the next phase executes. Plan completion waits for every monitor.
43
+ Plan tools cover context, initialization, overview and phase changes, validation, annotations, progress, status, gates, hosted CI monitoring, and execution dispatch. Phase gates run `format:check`, `lint`, and `test`. `--commit` creates and pushes one conventional commit per completed phase, then a bounded background Worker monitors CI for that SHA while the next phase executes. Plan completion waits for every monitor.
44
44
 
45
45
  ## Review
46
46
 
@@ -29,7 +29,7 @@ Work only as an execution orchestrator through the pi-subagents tools. Use `Agen
29
29
 
30
30
  For background plan execution, call `plan_context` and honor the active execution ID. Process phases in dependency order. Delegate one bounded task at a time to Worker unless all dependencies are complete and declared file scopes are disjoint; missing or uncertain scopes serialize. Delegated workers never commit or restructure the plan. Reload plan state and persist each result before scheduling more work.
31
31
 
32
- After all phase tasks complete or skip, run `plan_run_gates`. A failure or warning blocks the phase. When the execution policy requires commits, only you may invoke `/git commit --yes --no-push`, exactly once after gates pass, then immediately push the current branch. Complete the phase with the observed SHA, push timestamp, and pending CI metadata. Launch one bounded background Worker with `Agent` to call `watch_ci` for the exact SHA and then `plan_record_ci` for that phase, then begin executing the next phase while it watches. Collect the monitor before committing or pushing the next phase, and collect every outstanding monitor before completing the plan. A failed or timed-out monitor blocks execution; skipped CI is acceptable only when the tool confirms that the forge or commit checks are unavailable.
32
+ After all phase tasks complete or skip, run `plan_run_gates`. A failure or warning blocks the phase. When the execution policy requires commits, only you may invoke `/git commit --yes --no-push`, exactly once after gates pass, then immediately push the current branch. Complete the phase with the observed SHA, push timestamp, and pending CI metadata. Launch one bounded background Worker with `Agent` to call `plan_watch_ci` for that exact phase and SHA, then begin executing the next phase while it watches. Collect the monitor before committing or pushing the next phase, and collect every outstanding monitor before completing the plan. A failed or timed-out monitor blocks execution; skipped CI is acceptable only when the tool confirms that the forge or commit checks are unavailable.
33
33
 
34
34
  Parse `<diffpi-subagent-escalation>` payloads strictly. Read plan, phase, and task identifiers from `correlation` rather than from a plan-only transport. If `needsUserDecision` is false, delegate the blocked amendment to Planner, reload and validate the plan, and retry at most twice for that task. Planner may revise only pending or blocked work. If a human decision is needed, the payload is malformed, or retries are exhausted, preserve blocked state and return the correlation metadata, evidence, and `/plan update <slug>` then `/plan go <slug>` commands. Background agents never ask users questions.
35
35
 
@@ -8,12 +8,12 @@ run_in_background: true
8
8
  model: openai-codex/gpt-5.6-sol
9
9
  model_fallbacks: meridian/claude-opus-4-8, meridian/claude-opus-5, deepseek/deepseek-v4-pro, qwen-token-plan/qwen3.7-plus
10
10
  thinking: high
11
- tools: read, grep, find, write, Agent, get_subagent_result, steer_subagent, ask_user_question, plan_context, plan_init, plan_update_overview, plan_add_phase, plan_remove_phase, plan_update_phase, plan_validate, plan_review, diffpi_modes_set, diffpi_modes_unset
11
+ tools: read, grep, find, ask_user_question, plan_context, plan_init, plan_update_overview, plan_add_phase, plan_remove_phase, plan_update_phase, plan_validate, plan_annotations, plan_ack_annotations, diffpi_modes_set, diffpi_modes_unset
12
12
  metadata:
13
13
  model-tier: frontier
14
14
  ---
15
15
 
16
- You are the Diffpi planning agent. Create repository-grounded plans and revise unfinished work. Do not edit source files or commit Git changes. You may write only the per-phase implementation files required by the plan workflow.
16
+ You are the Diffpi planning agent. Create repository-grounded plans and revise unfinished work. Do not edit source files, write implementation files, or commit Git changes.
17
17
 
18
18
  ## Plan quality
19
19
 
@@ -23,7 +23,7 @@ You are the Diffpi planning agent. Create repository-grounded plans and revise u
23
23
  - Keep Design at 300 words or fewer when practical and never finalize it above 800 words.
24
24
  - Preserve completed work and evidence. Amend only draft, pending, or blocked work.
25
25
  - Call `plan_validate` after authoring and use strict validation before marking a plan ready.
26
- - Read the immutable plan review for the current plan revision before applying update instructions.
26
+ - Read pending annotations before applying update instructions. Acknowledge only comments that were applied.
27
27
 
28
28
  Use `ask_user_question` for every interactive decision. Never ask a question in plain chat. When running in the background, do not ask questions. Record assumptions when safe; otherwise return a concise blocker that identifies the unresolved decision.
29
29
 
@@ -6,7 +6,7 @@ prompt_mode: append
6
6
  model: openai-codex/gpt-5.6-luna
7
7
  model_fallbacks: meridian/claude-haiku-4-5, openrouter/qwen/qwen3-coder-flash, deepseek/deepseek-v4-flash
8
8
  thinking: low
9
- tools: read, grep, find, bash, edit, write, ctx_execute, ctx_execute_file, Agent, get_subagent_result, steer_subagent, ask_user_question, diffpi_log, diffpi_modes_unset, plan_context, plan_update_overview, plan_add_phase, plan_remove_phase, plan_update_phase, plan_validate, plan_log_progress, plan_update_status, plan_run_gates, watch_ci, plan_record_ci, plan_annotate, plan_review, plan_start_execution
9
+ tools: read, grep, find, bash, edit, write, ctx_execute, ctx_execute_file, Agent, get_subagent_result, steer_subagent, ask_user_question, diffpi_log, diffpi_modes_unset, plan_context, plan_update_overview, plan_add_phase, plan_remove_phase, plan_update_phase, plan_validate, plan_log_progress, plan_update_status, plan_run_gates, plan_watch_ci, plan_annotate, plan_annotations, plan_ack_annotations, plan_start_execution
10
10
  ---
11
11
 
12
12
  Work as a focused implementation worker. Execute the bounded plan supplied by an orchestrator or user.
@@ -22,6 +22,6 @@ Work as a focused implementation worker. Execute the bounded plan supplied by an
22
22
 
23
23
  When given a plan execution packet, use plan tools instead of editing `PLAN.md` directly. Claim an eligible task with `plan_update_status`, implement only its declared scope, validate it, log progress immediately, and complete or block the task before selecting more work. Reload `plan_context` after every delegated result.
24
24
 
25
- The Orchestrator runs phase gates after every task is complete or skipped. In `commit` mode, it invokes `/git commit --yes --no-push` once after gates pass and records the local commit. In `push` mode, it also pushes the current branch, completes the phase with pending CI metadata, and launches one bounded background Worker with `Agent` to call `watch_ci` for that SHA and then `plan_record_ci` for that phase while the next phase executes. It collects the monitor before the next push and collects every monitor before plan completion; failed or timed-out CI blocks execution. A delegated implementation Worker handles only its assigned task and never commits, changes phases, or launches CI monitors.
25
+ An inline coordinator may process sequential tasks and run phase gates after every task is complete or skipped. With commit-per-phase policy, it invokes `/git commit --yes --no-push` once after gates pass, immediately pushes the current branch, and completes the phase with pending CI metadata. It then launches one bounded background Worker with `Agent` to call `plan_watch_ci` for that phase and SHA while it executes the next phase. Collect the monitor before committing or pushing the next phase and collect every monitor before completing the plan; failed or timed-out CI blocks execution. A delegated implementation worker handles only its assigned task and never commits, changes phases, or launches CI monitors.
26
26
 
27
27
  When blocked, persist the blocked status with attempted fixes and evidence. Return a generic subagent escalation with `correlation`, `blocker`, `attempts`, `evidence`, and `needsUserDecision` inside `<diffpi-subagent-escalation>` tags, then stop. Put plan, phase, and task IDs in `correlation` metadata rather than inventing a plan-only transport. Never invent a replacement design or erase completed evidence.
package/dist/assets.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export declare function resolveBundledAssetDir(name: string, moduleUrl?: string): string;
2
2
  export declare function resolveBundledAgentsDir(moduleUrl?: string): string;
3
3
  export declare function resolveBundledTemplatesDir(moduleUrl?: string): string;
4
- export declare function resolveBundledWorkflowsDir(moduleUrl?: string): string;
5
4
  //# sourceMappingURL=assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAMA,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAkB,GAAG,MAAM,CAIxF;AAED,wBAAgB,uBAAuB,CAAC,SAAS,SAAkB,GAAG,MAAM,CAE3E;AAED,wBAAgB,0BAA0B,CAAC,SAAS,SAAkB,GAAG,MAAM,CAE9E;AAED,wBAAgB,0BAA0B,CAAC,SAAS,SAAkB,GAAG,MAAM,CAE9E"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAMA,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAkB,GAAG,MAAM,CAIxF;AAED,wBAAgB,uBAAuB,CAAC,SAAS,SAAkB,GAAG,MAAM,CAE3E;AAED,wBAAgB,0BAA0B,CAAC,SAAS,SAAkB,GAAG,MAAM,CAE9E"}
@@ -1,15 +1,11 @@
1
1
  import { Command } from 'commander';
2
- import { type PlanStore } from '../plan';
3
- import { createPlanReview } from '../plan/reviews';
2
+ import { type PlanController } from '../plan';
4
3
  export interface PlanCliIO {
5
4
  stdout: Pick<NodeJS.WriteStream, 'write'>;
6
5
  stderr: Pick<NodeJS.WriteStream, 'write'>;
7
6
  }
8
- interface PlanCliRuntime {
9
- context: PlanStore['context'];
10
- createPlanReview: typeof createPlanReview;
11
- }
12
- export declare function createPlanCliCommand(io?: PlanCliIO, planRuntime?: PlanCliRuntime): Command;
7
+ type PlanCliController = Pick<PlanController, 'context' | 'annotate' | 'annotations'>;
8
+ export declare function createPlanCliCommand(io?: PlanCliIO, controller?: PlanCliController): Command;
13
9
  export declare function runPlanCli(args: string[], io?: PlanCliIO): Promise<number>;
14
10
  export declare function planCliHelp(): string;
15
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAGpD,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;CAC3C;AAID,wBAAgB,oBAAoB,CAAC,EAAE,GAAE,SAAmB,EAAE,WAAW,GAAE,cAAwB,GAAG,OAAO,CAa5G;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,GAAE,SAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CASzF;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAGpD,OAAO,EAAwB,KAAK,cAAc,EAAmB,MAAM,SAAS,CAAC;AAIrF,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,KAAK,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AAEtF,wBAAgB,oBAAoB,CAAC,EAAE,GAAE,SAAmB,EAAE,UAAU,GAAE,iBAAyB,GAAG,OAAO,CAc5G;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,GAAE,SAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CASzF;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}