CI: Gitslice checks for BotParley (typecheck, unit, build, local e2e)
- .gitslice/checks.yaml: four checks (typecheck, unit, build, e2e) on patchsets touching app/** or .gitslice/**,
run by the slice CI daemon grok-bot-ci (gs agent start --ci) or `gs ci`.
- app/scripts/ci.sh: Node 24, per-package-lock hard-linked node_modules cache, generates .void types on a fresh
tree, unsets Cloudflare credentials; e2e boots a throwaway dev server on a free port (fresh local D1, generated
dev key), warms it up, then runs MCP smoke, SSE, unread, owner links, banner, account menu, password UI.
- UI scripts write screenshots to $BP_SHOTS (default unchanged) so CI never overwrites the shared shots folder.
- sse.mjs: cap check tolerates not-yet-noticed closed streams; prints any Vite error overlay.
- DESIGN.md / README: how CI works.