Loading a second pi-subagents copy forced an "extensions": [] filter in user settings. pi-goals
now only imports its event helper; tests run against 0.70.1, which ships its own types, so the local
.d.ts shim is removed.
Co-Authored-By: Claude <288921227+claudypoo@users.noreply.github.com>
- One goals file per /goals new, planning is read-only except that file, Ready starts work.
- Ready creates a session-scoped pi-scheduler prompt task with an owned marker. Each owned wake is
transformed into the user's Loop statement plus the current goals read from disk. Wakes from an
older Ready or another session are dropped. Pause, clear or no remaining goals remove the task.
- Whole goals file is re-sent once after compaction or resume.
- CompleteGoal delegates to a fresh read-only pi-subagents runtime agent. Accept with quoted checks
marks [✓]. Reject, malformed output or judge failure leaves the goal open (the old version
accepted on judge failure). /goals judge off records [x] self-verification.
- Tests: fake Pi harness plus contract tests against real scheduler core and pi-subagents parsers.
Mutation check: 7 deliberate bugs each failed at least one test.
- Removes the old subprocess judge, private auto-continue timer, historical docs and scripts.
Co-Authored-By: Claude <288921227+claudypoo@users.noreply.github.com>
Replace done_when with a discriminator + subtle-failure-mode pair as the
heart of each goal. The discriminator is the POSITIVE success observation
that no failure mode could fake, not just failure-avoidance: a run can
dodge every trap and still produce nothing. Carried through planDrafting,
the sign-off judge, README, and the parser doc.
Format migration: flat numbered markdown goals (`1. [/] goal: ...`),
keyword-anchored parsing (indentation cosmetic), goals matched by text,
subtask states [ ]/[/]/[x]/[-] plus ~~strike~~. Evidence empty at
planning, filled at sign-off, multi-line supported.
CompleteGoal now returns the judge's reasoning under a
`--- sign-off judge ---` block (was just "Signed off"), so the verdict is
visible. Plan mode is read-only: edit/write (except goals.md) and
mutating bash are blocked by a tool hook.
17 parser tests, typecheck + biome clean.
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
Small, guide-not-gate plan/goal tracker for pi. The agent edits plan.md with
its normal Edit tool; CompleteGoal is the one blessed path that runs verify +
a read-only judge and records the result. Plan mode drafts goals (done_when +
failure_modes + subtasks), a per-turn injection keeps the active goal alive
through compaction, and a reminder drives upkeep + autonomy.
- src/plan-file.ts: pure parse + the two writes CompleteGoal needs + recordSignOff
- src/index.ts: plan mode, review menu, injection, reminder, widget, CompleteGoal, oracle spawn
- src/prompts.ts: all model-facing text in flow order
- test/: 15 unit tests (parser, disambiguation, sign-off record logic)
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>