Skip to content

Commit a3da058

Browse files
github-actions[bot]aliou
authored andcommitted
@aliou/pi-guardrails@0.17.0
1 parent dcd815b commit a3da058

6 files changed

Lines changed: 42 additions & 49 deletions

File tree

.changeset/graceful-omp-docs.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

.changeset/late-apes-walk.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/secret-indirection.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

.changeset/shape-based-path-plausibility.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,46 @@
11
# @aliou/pi-guardrails
22

3+
## 0.17.0
4+
5+
### Minor Changes
6+
7+
- ffc7ca7: path-access: filter non-path bash arguments by shape and filesystem
8+
plausibility instead of per-command allow-lists.
9+
10+
Arguments that look like paths but are not (Context7 library IDs such as
11+
`/websites/apisix`, Go package patterns like `./...`, URLs, `user@host:` remote
12+
targets, `docker -v /src:/dst` volume specs) no longer trigger outside-workspace
13+
prompts, for every CLI rather than an enumerated list.
14+
15+
Filtering never applies to redirect targets, interpreter programs, commands
16+
that create missing parent directories, or tokens holding an unexpanded shell
17+
reference, so real outside-workspace access is still surfaced.
18+
19+
The `awk`, `sed`, `grep`, `jq`, and `go` classifiers are removed as redundant.
20+
Interpreter, `find`, and delimiter (`cut`/`sort`/`tr`) handling is unchanged.
21+
22+
### Patch Changes
23+
24+
- dcd815b: Make Pi documentation path grants optional so the extension loads in Oh My Pi.
25+
26+
`extensions/path-access/dynamic-resources.ts` no longer statically imports named `getReadmePath`, `getDocsPath`, and `getExamplesPath` helpers from `@earendil-works/pi-coding-agent`. When those helpers are unavailable (e.g. under Oh My Pi), documentation grants are skipped instead of failing extension validation.
27+
28+
- ad2c8d7: Adopt @aliou/pi-utils-settings 0.19.1 and switch migrations to package semver versions.
29+
- 0a15f3f: Fix secret-files (and other `onlyIfExists`) policies being bypassed when a bash
30+
target path contains an unexpanded shell expansion such as `$VAR`, `${VAR}`,
31+
`$(...)`, `$((...))`, or process substitution.
32+
33+
Previously, a command like `head "$SC/.env"` extracted the literal target
34+
`$SC/.env`. The `.env` basename matched the policy, but the policy's
35+
`onlyIfExists` check then `stat()`'d `<cwd>/$SC/.env` — a path that never
36+
exists — and let the read through.
37+
38+
Target extraction now marks such paths as unresolved, and the policy check no
39+
longer applies `onlyIfExists` to them: a path we can't resolve can't be used to
40+
prove a file doesn't exist. This follows ShellCheck's stance that shell
41+
indirection is "known to be unsolvable in the most general case" — unresolved
42+
references are treated conservatively rather than optimistically.
43+
344
## 0.16.2
445

546
### Patch Changes

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@aliou/pi-guardrails",
3-
"version": "0.16.2",
3+
"version": "0.17.0",
44
"license": "MIT",
55
"type": "module",
66
"private": false,

0 commit comments

Comments
 (0)