# Release Checklist Pre-merge checks for changes that touch sensitive paths. Each section below applies only when the PR diff intersects the listed files. ## Bootstrap path changes (mandatory pre-merge) For any PR touching the analyst-bootstrap path (`agnes init`, `cli/lib/pull.py`, `cli/lib/hooks.py`, `app/web/setup_instructions.py`, `/api/welcome`, `config/agnes_workspace_template.txt`), run this protocol locally before requesting review: 1. `git clean -fdx` in the repo (no build artifacts). 2. Boot FastAPI locally against a clean test instance state. 3. Empty terminal in `/tmp/test-analyst-1`. From the web `/setup?role=analyst`, click the analyst tile and copy the paste prompt. 4. Paste into Claude Code and let it run. `tree -a /tmp/test-analyst-1` and compare with the expected tree from the design spec (`docs/archive/superpowers/specs/2026-05-04-clean-analyst-bootstrap-design.md` ยง5.2). 5. `claude` in that folder. Three queries: - "What tables can I see?" - "SELECT count(\*) FROM " (a table from the catalog) - "Show me last 5 rows of " All must work without further intervention. 6. `/exit`. Verify SessionEnd hook ran (server-side audit log shows `agnes push`; `du -sh /tmp/test-analyst-1/user/sessions/` non-empty). 7. Second `claude` in same folder. Verify SessionStart hook fires (`agnes pull` request in audit log). 8. Second workspace `/tmp/test-analyst-2` with the same PAT (within TTL). Repeat steps 5-7. Verify global `~/.config/agnes/` is not duplicated; the second workspace has its own DuckDB.