# Pi smoke-test checklist

Run against each Linux release candidate on Node 22.19 and 24 with the
supported Pi runtime. Linux is the only advertised target for now; add
Windows/macOS checks when matching Gitea runners are available. Unit tests and
CLI loading do not replace these interactive checks.

- [ ] Run `pnpm pack`, extract the `.tgz` with `tar -xzf` into a temporary directory, run `pnpm install --prod --no-frozen-lockfile` in the extracted package, then use `pi install <extracted-package-dir>`; confirm `/mode` and `writing-modes` are available.
- [ ] Run `/mode`, `/mode plan`, `/mode reviewer`, `/mode explorer`, and `/mode default`; verify labels, messages, tools, and recovery.
- [ ] In plan/reviewer, verify `edit` and `write` are absent and both `bash` and `powershell` calls are blocked even when manually requested. Verify `read`, `grep`, `find`, and `ls` remain usable.
- [ ] In explorer, verify shell tools remain available and confirm its best-effort filters are presented as heuristics, not read-only enforcement.
- [ ] Run `/mode new <name>` in trusted and untrusted projects. Confirm destination, validation errors, overwrite confirmation, cancellation, and permission-error messaging.
- [ ] Change a mode file and run `/mode reload`; remove an active mode file and verify it stays active until explicitly cleared.
- [ ] Resume an active mode, clear it, and verify original tools/model/thinking restore; verify clear entries and branch/fork changes.
- [ ] Check `Ctrl+Shift+M`, completion descriptions, footer visibility, `/mode` collision suffix behavior, and headless `pi -p` / RPC startup.
- [ ] Remove the package with `pi remove <extracted-package-dir>` (or the corresponding installed source); confirm no package resources remain enabled.

Record OS, Node, Pi versions and pass/fail results with release notes. Do not
mark the Linux/Node matrix complete from mocked tests or a single Node version.
