From 7ee865c8f67d646e569351cfdfa291eb354e9465 Mon Sep 17 00:00:00 2001 From: Joakim Persson Date: Sun, 6 Sep 2026 20:40:02 +0200 Subject: [PATCH] settings: give pi-fork a capability floor (extensions: []) A fork child inherits the parent's whole session branch by design, and has twice written to the shared palace under the parent's identity. extensions: [] runs children with --no-extensions; the mempalace bridge is an extension, so the write path is gone by construction rather than by instruction. Costs forks their palace search and recall; set to null to restore normal loading. --- settings.example.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/settings.example.json b/settings.example.json index 120c83d..a342571 100644 --- a/settings.example.json +++ b/settings.example.json @@ -20,6 +20,8 @@ }, "pi-fork": { + "_comment_extensions": "extensions:[] makes every fork child run with `pi --no-extensions`. This is a CAPABILITY FLOOR, not a style preference: the mempalace bridge is a pi EXTENSION, so with [] a fork physically cannot file drawers or diary entries under your identity. Measured on mbp-m1-2020 2026-09-01 and 2026-09-06: forks ignored their brief, answered in the user's voice, fabricated self-referential measurements, and one filed a diary entry as agent_name=pi (landing in wing_pi, where a wing-scoped diary_read never sees it). Root cause is upstream and by design, not a bug to wait out: the child is handed getHeader()+getBranch(), i.e. the WHOLE active session branch, with the brief appended as the final user message and the system prompt untouched (pi-fork src/index.ts) - so in a long session the parent narrative outweighs the task. Proven by control: the SAME model as the 'fast' profile below (haiku, thinking off) obeyed the identical brief perfectly when run as `pi -p --mode json --session-id --no-extensions`, i.e. with no inherited context. COST of []: no palace search and no recall inside a fork. Set to null to restore normal extension loading.", + "extensions": [], "defaultEffort": "balanced", "effortProfiles": { "fast": { "provider": "amazon-bedrock", "id": "eu.anthropic.claude-haiku-4-5-20251001-v1:0", "thinking": "off" },