Static checks
node --check extension.mjsnode --check bin/goalctl.mjsnode --check lib/goal-core.mjsnode --check adapters/mcp/server.mjsnode --check adapters/vscode-chat/hook-runner.mjsnode --check scripts/install.mjs- local-runtime guard through
scripts/assert-local-runtime.mjs - shell syntax checks
- JSON validation for manifests and hook config
Test suite
- session ID sanitization
- activation prompt trimming
- slash-command
/goalactivation detection - sensitive value redaction
- append-safe evidence merging
- intentional clearing of
remainingandblockers - refusal of weak completion evidence
- unresolved discovered issue blocking
- evidence-backed issue resolutions for renamed, merged, duplicate, superseded, or clearer-worded issues
- rejection of wildcard, target-only, or unevidenced issue-resolution claims
- closed terminal blocked-goal handling
- multi-session and multi-directory state isolation
- same-directory ambiguity detection
- same-directory continuation across resumed copies of the same goal
- compact prompt notes
- no raw history leakage in summaries
- hook quiet exit with no goal
- subagentStart boundary-only context
- agentStop blocking while a goal remains open
- agentStop ignoring terminal blocked goals
- preCompact snapshot side effect
- recoverable drift warning helper behavior
- VS Code Chat hook output shape
- VS Code Chat prompt activation and continuation
- VS Code Chat stop blocking
- VS Code Chat persisted drift tracking
- VS Code Chat installer direct-tool behavior
- VS Code extension runtime update-state detection
- MCP stdio server tool listing, goal flow, and validation-error behavior
- MCP install config merge and doctor health checks