Skip to main content
Glama

Watchtower DAP Windows Debugging

by rlaksana
requirements-validation.md3.68 kB
# Requirements Validation Checklist: Watchtower DAP Windows Debugging **Purpose**: Validate compliance with core functional requirements from specification **Created**: 2025-10-17 **Feature**: [Link to spec.md](../spec.md) ## Core Requirements Compliance ### Platform Support - [ ] REQ001 Windows-only enforcement verified across all code paths - [ ] REQ002 All four target languages (C#, Node/TS, Python, Dart) fully supported - [ ] REQ003 Launch debugging flow implemented and tested for each language - [ ] REQ004 Attach debugging flow implemented and tested for each language - [ ] REQ005 Deterministic events.poll with since/limit pagination implemented ### MCP Tool Surface - [ ] REQ006 dap.start tool supports both launch and attach configurations - [ ] REQ007 dap.setBreakpoints tool validates and verifies breakpoint placement - [ ] REQ008 dap.continue, dap.pause, dap.step tools provide execution control - [ ] REQ009 dap.returns thread enumeration for active debugging sessions - [ ] REQ010 dap.stackTrace provides call stack with proper frame mapping - [ ] REQ011 dap.scopes and dap.variables provide variable inspection - [ ] REQ012 dap.evaluate supports expression evaluation in debug context - [ ] REQ013 dap.events.poll implements cursor-based pagination - [ ] REQ014 dap.terminate and dap.disconnect handle session cleanup idempotently ### Performance Requirements - [ ] REQ015 TFFB ≤ 1000ms measured after adapter initialization - [ ] REQ016 Step operations p95 ≤ 200ms for local debugging scenarios - [ ] REQ017 Event buffers maintain performance at 100+ events/second ## Design Constraints ### Transport Architecture - [ ] REQ018 Stdio transport implemented as default with proper framing - [ ] REQ019 TCP transport available only for explicit attach scenarios - [ ] REQ020 Adapter registry provides clear Windows-specific error messages - [ ] REQ021 Adapter version pinning documented and enforced ### Event Management - [ ] REQ022 Bounded ring buffer with configurable size limits - [ ] REQ023 Truncation semantics for high-volume event streams - [ ] REQ024 Event pagination via events.poll(since, limit) API ### Session Management - [ ] REQ025 Session isolation maintained across concurrent sessions - [ ] REQ026 Session capability negotiation handled properly - [ ] REQ027 Session cleanup with timeout and garbage collection ## Security Requirements ### Data Protection - [ ] REQ028 Environment variables redacted in all logging outputs - [ ] REQ029 Command-line arguments redacted in all logging outputs - [ ] REQ030 No arbitrary file system access beyond adapter needs ### Resource Management - [ ] REQ031 Session quotas implemented and enforced - [ ] REQ032 Idle session timeout with automatic cleanup - [ ] REQ033 Memory usage monitored and bounded during long sessions ## Testing Requirements ### Unit Testing - [ ] REQ034 All MCP tools have unit test coverage - [ ] REQ035 Adapter integration tests for all target languages - [ ] REQ036 Error handling and edge cases thoroughly tested ### Integration Testing - [ ] REQ037 End-to-end debugging flow tested for each language - [ ] REQ038 Cross-language debugging sessions validated - [ ] REQ039 Attach scenarios tested with running processes ### Performance Testing - [ ] REQ040 Performance benchmarks established and documented - [ ] REQ041 Load testing for concurrent debugging sessions - [ ] REQ042 Memory leak validation during extended sessions ## Notes - Use `[x]` to mark completed requirements - Document test results and measurements for performance items - Include specific test cases that verify each requirement - Reference relevant sections from specification document

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rlaksana/mcp-watchtower'

If you have feedback or need assistance with the MCP directory API, please join our Discord server