quality-gate.md•5.99 kB
# Quality Gate Checklist: Watchtower DAP Windows Debugging
**Purpose**: Validate implementation quality and compliance with requirements before release
**Created**: 2025-10-17
**Feature**: [Link to spec.md](../spec.md) | [Link to plan.md](../plan.md) | [Link to tasks.md](../tasks.md)
**Note**: This checklist is generated by the `/speckit.checklist` command based on feature context and requirements.
## Platform & Language Support
- [ ] CHK001 Windows 10 and Windows 11 compatibility verified on clean installation
- [ ] CHK002 C# debugging supported via vsdbg adapter with fallback to netcoredbg
- [ ] CHK003 Node/TypeScript debugging supported via vscode-js-debug adapter
- [ ] CHK004 Python debugging supported via debugpy adapter with frame-scoped evaluation
- [ ] CHK005 Dart/Flutter debugging supported via DAP adapter with VM service URI
- [ ] CHK006 Linux/WSL explicitly blocked and documented
- [ ] CHK007 All adapters validated with version pinning and compatibility matrix
## Debugging Capabilities
- [ ] CHK008 Launch debugging flow implemented for all four target languages
- [ ] CHK009 Attach debugging flow implemented for process ID and VM service URI
- [ ] CHK010 Breakpoint setting and verification working with source line mapping
- [ ] CHK011 Execution controls (pause, continue, stepIn, stepOver, stepOut) fully functional
- [ ] CHK012 Variable inspection and evaluation working across all language contexts
- [ ] CHK013 Thread and stack frame retrieval accurate with proper scoping
- [ ] CHK014 Deterministic event polling with since/limit parameters implemented
- [ ] CHK015 Event ring buffer with pagination and truncation semantics
## Architecture & Transport
- [ ] CHK016 Stdio transport implemented as default with Content-Length framing
- [ ] CHK017 TCP transport implemented only for explicit attach scenarios
- [ ] CHK018 MCP server exposes all 13 required tools without language-specific leakage
- [ ] CHK019 Session isolation maintained across multiple concurrent debugging sessions
- [ ] CHK020 Adapter registry provides Windows-specific adapter discovery and validation
- [ ] CHK021 Capability negotiation properly handled during session initialization
- [ ] CHK022 Error taxonomy comprehensive with actionable diagnostics for all failure modes
## Security Requirements
- [ ] CHK023 Environment variables and command-line arguments redacted in all logs
- [ ] CHK024 No arbitrary file system access beyond adapter execution requirements
- [ ] CHK025 Session quotas and timeouts implemented with idle garbage collection
- [ ] CHK026 Input validation prevents path traversal and injection attacks
- [ ] CHK027 'watchtower doctor' validates permissions, PATH, and adapter installation
- [ ] CHK028 Security audit completed before Beta release
## Performance Targets
- [ ] CHK029 Time to First Break (TFFB) ≤ 1000ms after adapter ready (measured)
- [ ] CHK030 Step operations p95 ≤ 200ms for local debugging sessions (measured)
- [ ] CHK031 Event buffers handle 100+ events/second without data loss or significant latency
- [ ] CHK032 Memory usage stable during long debugging sessions with no leaks
- [ ] CHK033 Low-overhead logging verified with minimal impact on debugged processes
- [ ] CHK034 Performance benchmarks established and documented for all target languages
## Technical Stack Compliance
- [ ] CHK035 Node.js 22 LTS (Windows x64) and TypeScript properly configured
- [ ] CHK036 All dependencies installed and locked: @modelcontextprotocol/sdk, vscode-jsonrpc, @vscode/debugprotocol, zod, execa, commander, pino, opentelemetry-sdk-node, esbuild
- [ ] CHK037 Vitest configured for unit and integration testing with proper coverage
- [ ] CHK038 TypeScript strict mode enabled with no compiler errors or warnings
- [ ] CHK039 ESLint and Prettier configured and enforced across all code
- [ ] CHK040 Package.json scripts comprehensive for build, test, and development
## Constitution Alignment
- [ ] CHK041 Windows-Native Focus: No Linux/WSL code paths present
- [ ] CHK042 DAP as Single Source of Truth: All debugging operations flow through DAP adapters
- [ ] CHK043 Minimal MCP Tool Surface: Only 13 essential tools exposed, no language specifics
- [ ] CHK044 Stdio-First Transport: Default stdio with TCP only for explicit attach
- [ ] CHK045 Deterministic Debug Loop: Event polling provides predictable agent control
- [ ] CHK046 Security-By-Default: Redaction and validation active by default
- [ ] CHK047 Observability Foundation: OpenTelemetry metrics and structured logging implemented
## Documentation & Testing
- [ ] CHK048 Quickstart guide provides working Node.js/Python debugging example
- [ ] CHK049 Attach recipes documented for all four target languages
- [ ] CHK050 Troubleshooting guide covers common adapter and configuration issues
- [ ] CHK051 Claude Code MCP configuration snippet provided and tested
- [ ] CHK052 Sample projects included for each target language with known breakpoint
- [ ] CHK053 Windows CI integration tests cover full debug cycle per language
- [ ] CHK054 Unit tests for all MCP tools and adapter integrations
- [ ] CHK055 Integration tests for cross-language scenarios and attach flows
## Release Readiness
- [ ] CHK056 Alpha release: Node.js + Python launch debugging validated
- [ ] CHK057 Beta release: All 4 languages + attach flows + metrics validated
- [ ] CHK058 GA release: Documentation, samples, Windows CI, adapter pinning complete
- [ ] CHK059 Performance targets met with documented benchmarks
- [ ] CHK060 Security audit completed with no high-risk findings
- [ ] CHK061 User feedback incorporated and documented for all releases
## Notes
- Check items off as completed: `[x]`
- Add comments or findings inline for failed items
- Link to test results, benchmarks, or documentation where applicable
- Items are numbered sequentially for easy reference during reviews
- **Critical Blockers**: CHK001-CHK047 must pass for Beta release; CHK048-CHK061 required for GA