@aefree/pi-plastic 0.7.5 → 0.7.6
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/CHANGELOG.md +14 -0
- package/README.md +4 -4
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project follows semantic versioning for public package releases.
|
|
7
7
|
|
|
8
|
+
## Unreleased
|
|
9
|
+
|
|
10
|
+
## [0.7.6] - 2026-09-29
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Refresh development tooling for the Node 22 floor; retain existing TypeScript module modes and ES2022 target.
|
|
15
|
+
- Align development and deterministic validation with Pi 0.99.1.
|
|
16
|
+
- Update current Pi requirements, eval baseline guidance, and pinned GitHub installation examples.
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- Close eval guard gaps for registered writes and persistent local artifacts; preserve supported read-only/preflight calls.
|
|
21
|
+
|
|
8
22
|
## [0.7.5] - 2026-09-21
|
|
9
23
|
|
|
10
24
|
### Fixed
|
package/README.md
CHANGED
|
@@ -119,13 +119,13 @@ pi install npm:@aefree/pi-plastic
|
|
|
119
119
|
Install a pinned GitHub release over HTTPS:
|
|
120
120
|
|
|
121
121
|
```bash
|
|
122
|
-
pi install git:github.com/aefreedman/pi-plastic@v0.7.
|
|
122
|
+
pi install git:github.com/aefreedman/pi-plastic@v0.7.6
|
|
123
123
|
```
|
|
124
124
|
|
|
125
125
|
Equivalent SSH install:
|
|
126
126
|
|
|
127
127
|
```bash
|
|
128
|
-
pi install git:git@github.com/aefreedman/pi-plastic@v0.7.
|
|
128
|
+
pi install git:git@github.com/aefreedman/pi-plastic@v0.7.6
|
|
129
129
|
```
|
|
130
130
|
|
|
131
131
|
To intentionally track the moving default branch instead of a release tag:
|
|
@@ -151,7 +151,7 @@ Project-local installation protects only Pi processes that load those project se
|
|
|
151
151
|
## Requirements
|
|
152
152
|
|
|
153
153
|
- Node.js 22.19.0 or newer
|
|
154
|
-
-
|
|
154
|
+
- Latest stable Pi; the current development and eval baseline is Pi 0.99.1
|
|
155
155
|
- Plastic SCM / Unity Version Control CLI (`cm`) available on `PATH`, or `PI_PLASTIC_CM_EXECUTABLE` set to its full executable path
|
|
156
156
|
- A GNU/POSIX-compatible text `diff` available on `PATH`, or `PI_PLASTIC_DIFF_EXECUTABLE` set to its full executable path (including paths containing spaces), for text-only diff tools. Pi invokes that resolved executable as-is and does not discover Git Bash paths automatically. On macOS, bare `diff` is PATH-dependent: it may be GNU Diffutils (often installed as `diff` ahead of system paths) or Apple’s BSD `/usr/bin/diff`; the package does not substitute one for the other. Configure the intended text executable explicitly when that distinction matters.
|
|
157
157
|
- Patch generation has a separate executable policy: `toolPath` is the one-call highest-priority override, followed by `PI_PLASTIC_PATCH_EXECUTABLE`. On Windows, set one to a verified patch-capable non-GUI executable such as Git's `diff.exe`; the package deliberately does not reuse `PI_PLASTIC_DIFF_EXECUTABLE`/GnuWin32 as a patch default. macOS validation with Plastic 11 found that Apple BSD `/usr/bin/diff` supports text-only diffs but rejects the `--binary` argument supplied by `cm patch`; configure a verified GNU Diffutils-compatible executable explicitly for `plastic_patch`. The non-Windows fallback to `PI_PLASTIC_DIFF_EXECUTABLE` or bare `diff` remains only for environments whose resolved executable satisfies that patch contract. In an interactive Pi session, an invalid configured patch override or missing Windows patch setting produces one package capability warning per Pi runtime; the warning omits configured paths, and `plastic_patch` retains its tool-time validation.
|
|
@@ -178,7 +178,7 @@ The live test requires `/main`, no pending changes, and no merge in progress. It
|
|
|
178
178
|
|
|
179
179
|
### Dynamic tool-loading eval
|
|
180
180
|
|
|
181
|
-
The package-local behavioral eval uses fresh Pi 0.
|
|
181
|
+
The package-local behavioral eval uses fresh Pi 0.99.1 JSON subprocesses against an explicitly attested dedicated Plastic sandbox and is not a skill eval. It compares all-active, balanced, and loader-only mode behavior, checks exact smallest-sufficient loader activations, blocks destructive calls unless they are supported `preflight: true` previews, captures tool calls and sanitized provider-schema measurements, and deletes raw provider payload captures by default.
|
|
182
182
|
|
|
183
183
|
```bash
|
|
184
184
|
npm run eval:tool-loading -- --dry-run
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aefree/pi-plastic",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22.19.0"
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"scripts": {
|
|
36
36
|
"typecheck": "tsc -p tsconfig.json",
|
|
37
37
|
"pretest": "npm run typecheck",
|
|
38
|
-
"test": "tsx tests/tool-definition.test.ts && tsx tests/release-registry-preflight.test.ts && tsx tests/plastic-tool-validation.ts && tsx tests/plastic-status-machine-readable.test.ts && tsx tests/plastic-checkin-path-resolution.ts && tsx tests/plastic-diff-workflow.test.ts && tsx tests/plastic-workspace-diff.test.ts && tsx tests/plastic-process-lifecycle.test.ts && tsx tests/plastic-patch-command.test.ts && tsx tests/plastic-capability-diagnostics.test.ts && tsx tests/plastic-extension-registration.test.ts && tsx tests/plastic-dynamic-tool-loading.test.ts && tsx tests/plastic-tool-rendering.test.ts && tsx tests/plastic-branch-query.test.ts && tsx tests/plastic-workspace.test.ts && tsx tests/plastic-mutation-execution.test.ts && tsx tests/plastic-merge-branches.test.ts && tsx tests/file-discovery-filter.test.ts && tsx tests/file-discovery-filter-registration.test.ts && tsx tests/packed-copy-owner-conflict.test.ts && tsx tests/plastic-branch-status.test.ts && tsx tests/plastic-constrained-sampling.test.ts && tsx tests/bash-cm-diff-guard-validation.ts",
|
|
38
|
+
"test": "tsx tests/eval-mutation-guard.test.ts && tsx tests/tool-definition.test.ts && tsx tests/release-registry-preflight.test.ts && tsx tests/plastic-tool-validation.ts && tsx tests/plastic-status-machine-readable.test.ts && tsx tests/plastic-checkin-path-resolution.ts && tsx tests/plastic-diff-workflow.test.ts && tsx tests/plastic-workspace-diff.test.ts && tsx tests/plastic-process-lifecycle.test.ts && tsx tests/plastic-patch-command.test.ts && tsx tests/plastic-capability-diagnostics.test.ts && tsx tests/plastic-extension-registration.test.ts && tsx tests/plastic-dynamic-tool-loading.test.ts && tsx tests/plastic-tool-rendering.test.ts && tsx tests/plastic-branch-query.test.ts && tsx tests/plastic-workspace.test.ts && tsx tests/plastic-mutation-execution.test.ts && tsx tests/plastic-merge-branches.test.ts && tsx tests/file-discovery-filter.test.ts && tsx tests/file-discovery-filter-registration.test.ts && tsx tests/packed-copy-owner-conflict.test.ts && tsx tests/plastic-branch-status.test.ts && tsx tests/plastic-constrained-sampling.test.ts && tsx tests/bash-cm-diff-guard-validation.ts",
|
|
39
39
|
"preview:tools": "tsx tests/plastic-tool-rendering.test.ts --preview",
|
|
40
40
|
"test:live": "tsx tests/plastic-live-smoke.test.ts",
|
|
41
41
|
"test:live:branch-create": "tsx tests/plastic-branch-create-live.test.ts",
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@aefree/pi-file-discovery": "^0.1.1",
|
|
46
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
47
|
-
"@earendil-works/pi-tui": "0.
|
|
48
|
-
"@types/node": "22.20.
|
|
49
|
-
"tsx": "4.23.
|
|
46
|
+
"@earendil-works/pi-coding-agent": "0.99.1",
|
|
47
|
+
"@earendil-works/pi-tui": "0.99.1",
|
|
48
|
+
"@types/node": "22.20.4",
|
|
49
|
+
"tsx": "4.23.15",
|
|
50
50
|
"typebox": "^1.3.8",
|
|
51
51
|
"typescript": "7.0.2"
|
|
52
52
|
},
|