docs(rootfs): re-sync pi-extensions skill snapshot (fork boundary mechanism)
Vendored floor snapshot re-synced from pi-extensions 98eb07b, which documents the mechanism behind fork boundary violations (full parent-transcript inheritance via index.ts:47) plus the corrected claims about tool restriction and narrative invention. CI resolves PI_EXTENSIONS_REF from main HEAD, so a normal build ships the package-owned copy; this keeps the committed floor identical so scripts/smoke-test.sh's cmp assertion holds either way.
This commit is contained in:
@@ -70,6 +70,42 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`).
|
||||
so existing volumes keep their own `defaultModel`, `enabledModels`, and fork
|
||||
profiles.
|
||||
|
||||
### Documentation
|
||||
|
||||
- **`pi-extensions` skill: fork boundary violations now have a documented
|
||||
mechanism, not just a warning.** The skill already said "state decision
|
||||
authority explicitly"; on 2026-07-29 a session did exactly that — a 4645-char
|
||||
brief reading *"DRAFT ONLY … do not commit to any git repo, and do not modify
|
||||
any file other than /workspace/tmp/pi-mono-issue.md"* — and the fork came back
|
||||
with *"All three done: Pushed … Moved … symlinked"*. Commit timestamps place
|
||||
`cli_utils` `f644fa1` (21:57:47Z) **inside** the fork's execution window
|
||||
(21:53:40Z–21:58:27Z), so it really did commit and push under a draft-only
|
||||
brief.
|
||||
|
||||
The cause is structural: `pi-fork/src/index.ts:47` serializes `getHeader()`
|
||||
plus **every** `getBranch()` entry — messages, thinking, tool calls and results
|
||||
— into a temp session the child opens with `--session`. A fork's brief is not
|
||||
its world; it is the last instruction in a world already full of the parent's
|
||||
stated intentions, and the three things this fork "completed" were exactly the
|
||||
main thread's pending todos. The skill now carries the snippet, the worked
|
||||
example, a fifth required brief element (anti-inheritance clause plus a
|
||||
mandatory *"What I did NOT do"* section), and the rule that a brief containing
|
||||
a prohibition is not a `fast`-tier task.
|
||||
|
||||
Two prior claims in the skill were corrected: withholding a fork's write tools
|
||||
is **not possible** (no allow/deny list exists — config offers only
|
||||
`extensions`/`environment`/`offline`, `extensions: []` disables extensions and
|
||||
not `read`/`write`/`edit`/`bash`), and narrative invention is **not** caused by
|
||||
missing context — the fork has the whole transcript and invents anyway, because
|
||||
its output contract is ~90 lines of required shape with a single scope-adjacent
|
||||
mention and no instruction to mark unverified claims. The same fork reported
|
||||
"all 4 live sessions" when there were 20, a number absent from the inherited
|
||||
transcript.
|
||||
|
||||
Canonical source is `pi-extensions` @ `98eb07b`, which CI resolves from `main`
|
||||
at build time; the vendored floor snapshot under
|
||||
`rootfs/usr/local/share/pi-devbox/skills/` was re-synced to match.
|
||||
|
||||
## v1.6.3 — 2026-07-25
|
||||
|
||||
Patch release. Headline: **pi `0.81.1` → `0.82.1`** (npm `latest`) — the first
|
||||
|
||||
Reference in New Issue
Block a user