You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Raise the supported Pi floor to 0.84.0, migrate emitted API contracts, and validate the packed extension with isolated Pi 0.84 runtime and tmux goal flows.
Copy file name to clipboardExpand all lines: AGENTS.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ pi install -l npm:pi-codex-goal
17
17
pi install -l https://github.com/fitchmultz/pi-codex-goal@vX.Y.Z
18
18
```
19
19
20
-
Those write duplicate package entries under `.pi/` for the current project, causing `get_goal`, `create_goal`, and `update_goal` tool-registration conflicts with the global local-checkout install. For install-path release verification, use an isolated temp project/config directory or remove the project-local entries immediately after the check. With Pi 0.79+ project trust, pass `--approve` for isolated project-local package install/list/non-interactive smoke commands when those commands must load `.pi/settings.json`. If conflicts appear, inspect `pi list --approve` and `.pi/settings.json`, then remove any project-local `pi-codex-goal` npm/GitHub installs so only the global local-checkout package remains active.
20
+
Those write duplicate package entries under `.pi/` for the current project, causing `get_goal`, `create_goal`, and `update_goal` tool-registration conflicts with the global local-checkout install. For install-path release verification, use an isolated temp project/config directory or remove the project-local entries immediately after the check. On Pi 0.84.0 or later, pass `--approve` for isolated project-local package install/list/non-interactive smoke commands when those commands must load `.pi/settings.json`. If conflicts appear, inspect `pi list --approve` and `.pi/settings.json`, then remove any project-local `pi-codex-goal` npm/GitHub installs so only the global local-checkout package remains active.
21
21
22
22
## Verify before finishing
23
23
@@ -50,4 +50,4 @@ The required gate runs the full suite plus a real model-backed goal-tool smoke o
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,21 @@
1
1
# Changelog
2
2
3
+
## 0.2.0 - 2026-08-06
4
+
5
+
- Raise the minimum supported Pi version to 0.84.0 and pin the development/type-validation baseline to the exact 0.84.0 release.
6
+
- Align the SDK runtime smoke with Pi 0.84.0's public `Agent.streamFunction` API and use current pi-ai root exports instead of the compatibility subpath.
7
+
- Align the extension test harness with Pi 0.84.0's `registerMarkdownTransformer()` and read-only `scopedModels` context contracts, and serialize the mutating goal tools because they share one session state machine.
8
+
- Audit the full repository against every Pi 0.84.0 breaking change; the extension does not use JSON/RPC streaming, model-auth forwarding, dynamic providers, pi-agent-core harness sessions, custom harness filesystems, or remote sessions, so those migrations require no runtime compatibility code.
9
+
- Require Pi 0.84.0 or later in install and compatibility documentation while retaining optional wildcard Pi peers as required by Pi package loading.
10
+
- Refresh the development lockfile, including the patched `protobufjs` 7.6.5 transitive dependency.
11
+
12
+
### Validation
13
+
14
+
- Ran `npm run verify` and a clean public-registry `npm ci && npm run verify` under Pi 0.84.0: `tsc --noEmit`, 6 platform-smoke checks, and 333 regular tests passed in each run.
15
+
- Ran `npm audit --omit=optional` with no vulnerabilities and `npm publish --dry-run --ignore-scripts --registry=https://registry.npmjs.org`; both passed.
16
+
- Packed the release and installed it project-locally with an isolated Pi 0.84.0 executable/config, verified extension and prompt discovery over RPC, and completed a tmux model-backed `/goal` flow that created and read an exact file, called `get_goal`, called `update_goal`, and rendered the final fullscreen `Goal achieved` status.
17
+
- The Crabbox macOS/Ubuntu/native-Windows matrix could not start on this shared host: its doctor stopped before every product suite because Crabbox, model-auth environment, localhost SSH, and Parallels `prlctl` were unavailable. No Crabbox product test ran or failed; the matrix remains required and unchanged for capable environments.
18
+
3
19
## 0.1.39 - 2026-07-28
4
20
5
21
- Pause active goals when a hidden continuation run only calls `get_goal` / namespaced `*__get_goal` and makes no actionable progress, so blocked status-inspection loops stop and surface `/goal resume` attention instead of spinning forever (#47).
Copy file name to clipboardExpand all lines: README.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,8 @@ Goal state is stored in pi session custom entries, so it follows session history
12
12
13
13
## Install
14
14
15
+
Requires Pi 0.84.0 or later.
16
+
15
17
Install from npm:
16
18
17
19
```sh
@@ -45,7 +47,7 @@ pi install .
45
47
46
48
On this maintainer machine, the active install is a global/user package that already points at this checkout; do not also leave a project-local install under this repository's `.pi/` settings. Duplicate local and global installs both try to register `get_goal`, `create_goal`, and `update_goal`, which causes tool-registration conflicts. For install-path release checks, use an isolated temp project/config directory or remove the project-local entry immediately after the check.
47
49
48
-
Compatibility note: this package is tested against the current pi release during each package update. The current source tree targets Pi 0.80.10 on Node 24 for the next package release. The latest published npm artifact remains the reproducible source of truth for its own published version's metadata. Pi-bundled runtime packages remain optional wildcard peers, so npm peer ranges do not hard-block users from trying newer pi releases; runtime behavior is only verified against the tested baseline until a follow-up package release confirms it.
50
+
Compatibility note: this package supports Pi 0.84.0 or later on Node 24. The latest published npm artifact remains the reproducible source of truth for its own published version's metadata. Pi-bundled runtime packages remain optional wildcard peers as required by Pi package loading; the support floor is declared here and validated by the source tree's exact Pi 0.84.0 development dependencies.
49
51
50
52
Release note: npm installs and pinned GitHub tags are the reproducible release artifacts. Installing from the repository default branch can include unreleased changes that will ship in a future package release, even when `package.json` still identifies the latest published version.
51
53
@@ -81,10 +83,10 @@ npm run smoke:platform:all
81
83
82
84
`smoke:platform:all` runs the doctor before any target suite.
83
85
84
-
That local gate runs `npm run verify`, packs the package, installs the packed package into a clean pi project, checks `pi list`, and runs a real model-backed goal-tool smoke on macOS, Ubuntu Linux, and native Windows. Pi 0.79+ project trust is handled explicitly with `--approve` inside the isolated smoke projects so project-local package settings and the packed extension load in non-interactive runs. The runtime smoke defaults to `zai/glm-5.2`; override it with `PLATFORM_SMOKE_MODEL` and configure forwarded auth env vars with `PLATFORM_SMOKE_AUTH_ENV`. Setup and artifact details: [docs/platform-smoke.md](docs/platform-smoke.md).
86
+
That local gate runs `npm run verify`, packs the package, installs the packed package into a clean pi project, checks `pi list`, and runs a real model-backed goal-tool smoke on macOS, Ubuntu Linux, and native Windows. Pi 0.84.0-or-later project trust is handled explicitly with `--approve` inside the isolated smoke projects so project-local package settings and the packed extension load in non-interactive runs. The runtime smoke defaults to `zai/glm-5.2`; override it with `PLATFORM_SMOKE_MODEL` and configure forwarded auth env vars with `PLATFORM_SMOKE_AUTH_ENV`. Setup and artifact details: [docs/platform-smoke.md](docs/platform-smoke.md).
85
87
86
88
Project agent notes and module map: [AGENTS.md](AGENTS.md).
87
-
Current structural audit and remediation record: [docs/CODEBASE_AUDIT.md](docs/CODEBASE_AUDIT.md).
89
+
Historical 0.1.33 structural audit and remediation record: [docs/CODEBASE_AUDIT.md](docs/CODEBASE_AUDIT.md).
Copy file name to clipboardExpand all lines: docs/platform-smoke.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,14 +76,14 @@ Each required target runs `platform-build` and `goal-runtime-smoke`.
76
76
4. Run `npm pack`.
77
77
5. Create a clean target-local pi project.
78
78
6. Install the packed tarball into that project with `npm install --no-save`.
79
-
7. Run `pi install -l ./node_modules/pi-codex-goal --approve` from the clean project so Pi 0.79+ can read and write project-local package settings for this isolated command.
79
+
7. Run `pi install -l ./node_modules/pi-codex-goal --approve` from the clean project so supported Pi 0.84.0-or-later hosts can read and write project-local package settings for this isolated command.
80
80
8. Run `pi list --approve` and assert `pi-codex-goal` is registered from the packed install.
81
81
9. Assert the smoke never used the source shortcut `pi -e .` or `pi --extension .`.
82
82
83
83
### `goal-runtime-smoke`
84
84
85
85
1. Re-pack and install the package into a clean target-local pi project.
86
-
2. Run real `pi --approve --model <model> -p <prompt>` against that packed install so non-interactive Pi 0.79+ loads the isolated project-local package settings.
86
+
2. Run real `pi --approve --model <model> -p <prompt>` against that packed install so non-interactive Pi 0.84.0-or-later hosts load the isolated project-local package settings.
87
87
3. Prompt the model to call the actual goal tools, create a marker file, verify it with the built-in `read` tool, call `update_goal`, and confirm completion.
88
88
4. Capture pi stdout/stderr and session JSONL.
89
89
5. Assert the final marker, verified file, `pi-codex-goal` custom entries, built-in `read` tool evidence, and complete goal status.
@@ -142,7 +142,7 @@ The suites record failures as artifacts before reporting failure so the host can
142
142
- Keep `platform-build` behavior in the shared Node orchestrator; native Windows may use only a thin PowerShell wrapper to launch it.
143
143
- Run the repository's existing validation command on every required target.
144
144
- Test the packed package, not `pi -e .`.
145
-
- Pass `--approve` for isolated project-local package smoke commands and non-interactive runtime smokes; Pi 0.79+ otherwise skips project-local settings and packages when no saved trust decision exists.
145
+
- Pass `--approve` for isolated project-local package smoke commands and non-interactive runtime smokes; Pi 0.84.0-or-later hosts otherwise skip project-local settings and packages when no saved trust decision exists.
146
146
- Include a real model-backed pi run so release claims are not based on unit tests alone.
147
147
- Assert built-in `read` evidence in the model-backed runtime smoke so post-tool goal completion stays covered.
148
148
- Keep project-specific defaults in `platform-smoke.config.mjs`; use environment variables only for local overrides.
0 commit comments