@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.
- package/README.md +4 -4
- package/agents/diffpi-orchestrator.md +1 -1
- package/agents/diffpi-planner.md +3 -3
- package/agents/diffpi-worker.md +2 -2
- package/dist/assets.d.ts +0 -1
- package/dist/assets.d.ts.map +1 -1
- package/dist/cli/plan.d.ts +3 -7
- package/dist/cli/plan.d.ts.map +1 -1
- package/dist/cli.js +816 -314
- package/dist/commands/plan.d.ts +1 -0
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/environment.d.ts +1 -2
- package/dist/environment.d.ts.map +1 -1
- package/dist/extensions/index.js +2509 -6152
- package/dist/extensions/processx.d.ts +0 -1
- package/dist/extensions/processx.d.ts.map +1 -1
- package/dist/extensions/subagentx.d.ts +1 -1
- package/dist/extensions/subagentx.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +728 -195
- package/dist/plan/annotations.d.ts +25 -0
- package/dist/plan/annotations.d.ts.map +1 -0
- package/dist/plan/controller.d.ts +65 -0
- package/dist/plan/controller.d.ts.map +1 -0
- package/dist/plan/execution.d.ts +13 -0
- package/dist/plan/execution.d.ts.map +1 -0
- package/dist/plan/ids.d.ts +5 -0
- package/dist/plan/ids.d.ts.map +1 -0
- package/dist/plan/index.d.ts +4 -2
- package/dist/plan/index.d.ts.map +1 -1
- package/dist/plan/lock.d.ts +7 -2
- package/dist/plan/lock.d.ts.map +1 -1
- package/dist/plan/markdown.d.ts.map +1 -1
- package/dist/plan/parser.d.ts +18 -0
- package/dist/plan/parser.d.ts.map +1 -0
- package/dist/plan/store.d.ts +0 -2
- package/dist/plan/store.d.ts.map +1 -1
- package/dist/plan/types.d.ts +22 -3
- package/dist/plan/types.d.ts.map +1 -1
- package/dist/tools/index.d.ts +0 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2086 -1769
- package/dist/tools/log.d.ts.map +1 -1
- package/dist/tools/modes.d.ts.map +1 -1
- package/dist/tools/plan.d.ts +2 -2
- package/dist/tools/plan.d.ts.map +1 -1
- package/package.json +2 -4
- package/skills/plan/SKILL.md +7 -15
- package/skills/plan/references/workflows/annotate.md +6 -0
- package/skills/plan/references/workflows/finalize.md +7 -0
- package/skills/plan/references/workflows/go.md +8 -0
- package/{workflows/plan → skills/plan/references/workflows}/help.md +4 -11
- package/skills/plan/references/workflows/init.md +6 -0
- package/skills/plan/references/workflows/new.md +8 -0
- package/skills/plan/references/workflows/update.md +7 -0
- package/templates/plan/PLAN.md +0 -2
- package/dist/commands.d.ts +0 -22
- package/dist/commands.d.ts.map +0 -1
- package/dist/extensions/zodx.d.ts +0 -8
- package/dist/extensions/zodx.d.ts.map +0 -1
- package/dist/plan/operations.d.ts +0 -43
- package/dist/plan/operations.d.ts.map +0 -1
- package/dist/plan/reviews.d.ts +0 -28
- package/dist/plan/reviews.d.ts.map +0 -1
- package/dist/tools/ci.d.ts +0 -6
- package/dist/tools/ci.d.ts.map +0 -1
- package/dist/tools/plan-schema.d.ts +0 -211
- package/dist/tools/plan-schema.d.ts.map +0 -1
- package/dist/workflow.d.ts +0 -33
- package/dist/workflow.d.ts.map +0 -1
- package/workflows/plan/annotate.md +0 -13
- package/workflows/plan/finalize.md +0 -15
- package/workflows/plan/go.md +0 -20
- package/workflows/plan/init.md +0 -13
- package/workflows/plan/new.md +0 -20
- 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> [--
|
|
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.
|
|
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
|
|
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,
|
|
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 `
|
|
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
|
|
package/agents/diffpi-planner.md
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
|
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
|
|
package/agents/diffpi-worker.md
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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
|
package/dist/assets.d.ts.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/cli/plan.d.ts
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
import { type
|
|
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
|
-
|
|
9
|
-
|
|
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 {};
|
package/dist/cli/plan.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|