We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dicklesworthstone/mcp_agent_mail'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
{"id": "bd-1", "title": "Testing Infrastructure Foundation", "description": "Set up comprehensive testing infrastructure with detailed logging, fixtures, and helpers for real component testing (no mocks). This is the foundation for all other test tasks.\n\n## Deliverables\n- Enhanced conftest.py with rich logging fixtures\n- Test helper utilities for common operations\n- Standardized assertion helpers with detailed output\n- Test database seeding utilities\n- Git archive test fixtures", "status": "open", "priority": 1, "blocked_by": [], "labels": ["testing", "infrastructure", "foundation"]}
{"id": "bd-2", "title": "Unit Tests: models.py", "description": "Complete unit test coverage for models.py (currently 99% - maintain and extend).\n\n## Test Areas\n- All SQLModel field validations\n- Default factory functions (_utcnow_naive)\n- Unique constraints behavior\n- Foreign key relationships\n- JSON field serialization (Message.attachments)\n\n## Notes\n- Use real SQLite database, no mocks\n- Test edge cases for all field types", "status": "open", "priority": 2, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "models"]}
{"id": "bd-3", "title": "Unit Tests: config.py", "description": "Complete unit test coverage for config.py (currently 77%).\n\n## Test Areas\n- Settings class initialization\n- Environment variable loading via python-decouple\n- Default value fallbacks\n- Settings caching and clear_settings_cache()\n- All configuration options validation\n- Edge cases: missing env vars, invalid values\n\n## Missing Coverage (lines 20-22, 179-285, 340-342)\n- JWT/JWKS configuration\n- Redis configuration\n- HTTP configuration options", "status": "open", "priority": 2, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "config"]}
{"id": "bd-4", "title": "Unit Tests: db.py - Session Management", "description": "Unit tests for database session management (currently 26%).\n\n## Test Areas\n- get_session() context manager behavior\n- ensure_schema() idempotency\n- reset_database_state() cleanup\n- Async session lifecycle\n- Connection pooling behavior\n- Transaction commit/rollback scenarios\n\n## Missing Coverage (lines 44-290)\n- Engine creation with various DATABASE_URL formats\n- Session scoping for concurrent access\n- Migration helpers", "status": "open", "priority": 2, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "database"]}
{"id": "bd-5", "title": "Unit Tests: db.py - Migrations", "description": "Unit tests for database migration functionality.\n\n## Test Areas\n- Schema creation from scratch\n- Schema updates (adding columns)\n- Index creation\n- Constraint validation\n- Backward compatibility checks\n\n## Notes\n- Test with real SQLite database\n- Verify all tables created correctly", "status": "open", "priority": 3, "blocked_by": ["bd-4"], "labels": ["testing", "unit", "database", "migrations"]}
{"id": "bd-10", "title": "Unit Tests: app.py - Core Helpers", "description": "Unit tests for app.py core helper functions (currently 4% overall).\n\n## Test Areas\n- _naive_utc() datetime conversion\n- _ensure_utc() timezone handling\n- _iso() ISO format conversion\n- _max_datetime() comparisons\n- _safe_component() path sanitization\n- _canonical_project_pair() ordering\n- validate_agent_name_format() validation\n\n## Notes\n- Test edge cases: None values, timezone-aware vs naive\n- Test invalid inputs and error handling", "status": "open", "priority": 2, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "app", "helpers"]}
{"id": "bd-11", "title": "Unit Tests: app.py - Project Operations", "description": "Unit tests for project-related operations in app.py.\n\n## Test Areas\n- _get_project_by_identifier() lookup\n- _ensure_project() creation and idempotency\n- Project slug generation\n- Human key normalization\n- Project sibling suggestions\n- _evaluate_project_siblings()\n- update_project_sibling_status()\n\n## Notes\n- Test with real database\n- Verify Git archive creation", "status": "open", "priority": 2, "blocked_by": ["bd-10", "bd-4"], "labels": ["testing", "unit", "app", "projects"]}
{"id": "bd-12", "title": "Unit Tests: app.py - Agent Operations", "description": "Unit tests for agent-related operations in app.py.\n\n## Test Areas\n- _get_or_create_agent() creation and update\n- _get_agent() lookup with suggestions\n- _find_similar_agents() fuzzy matching\n- _detect_agent_name_mistake() validation\n- Agent name validation (adjective+noun format)\n- last_active_ts updates\n- attachments_policy handling\n- contact_policy handling\n\n## Notes\n- Test case-insensitive matching\n- Test placeholder detection", "status": "open", "priority": 2, "blocked_by": ["bd-11"], "labels": ["testing", "unit", "app", "agents"]}
{"id": "bd-13", "title": "Unit Tests: app.py - Messaging", "description": "Unit tests for messaging operations in app.py.\n\n## Test Areas\n- _create_message() with all parameters\n- _deliver_message() routing logic\n- MessageRecipient creation (to/cc/bcc)\n- Thread ID handling\n- Importance levels\n- ack_required flag\n- Attachment handling\n- _update_recipient_timestamp() for read/ack\n\n## Notes\n- Test message delivery to multiple recipients\n- Test self-messages\n- Verify inbox/outbox artifacts created", "status": "open", "priority": 2, "blocked_by": ["bd-12"], "labels": ["testing", "unit", "app", "messaging"]}
{"id": "bd-14", "title": "Unit Tests: app.py - File Reservations", "description": "Unit tests for file reservation operations in app.py.\n\n## Test Areas\n- _create_file_reservation() with TTL\n- _expire_stale_file_reservations() cleanup\n- _file_reservations_conflict() detection\n- _collect_file_reservation_statuses() activity heuristics\n- Glob pattern matching\n- Exclusive vs shared reservations\n- Stale detection (agent activity, mail, filesystem, git)\n\n## Notes\n- Test pattern overlap detection\n- Test TTL expiration\n- Test force release", "status": "open", "priority": 2, "blocked_by": ["bd-12"], "labels": ["testing", "unit", "app", "file-reservations"]}
{"id": "bd-15", "title": "Unit Tests: app.py - Contact Management", "description": "Unit tests for contact/AgentLink operations in app.py.\n\n## Test Areas\n- request_contact() link creation\n- respond_contact() approval/denial\n- list_contacts() retrieval\n- set_contact_policy() updates\n- Contact policy enforcement (open/auto/contacts_only/block_all)\n- Cross-project contacts\n- TTL expiration\n\n## Notes\n- Test bidirectional links\n- Test auto-approval scenarios", "status": "open", "priority": 2, "blocked_by": ["bd-12"], "labels": ["testing", "unit", "app", "contacts"]}
{"id": "bd-16", "title": "Unit Tests: app.py - Macros", "description": "Unit tests for macro operations in app.py.\n\n## Test Areas\n- macro_start_session() full flow\n- macro_prepare_thread() context gathering\n- macro_file_reservation_cycle() lease management\n- macro_contact_handshake() approval flow\n\n## Notes\n- Macros combine multiple operations\n- Test error handling when sub-operations fail\n- Test with real database and Git", "status": "open", "priority": 2, "blocked_by": ["bd-13", "bd-14", "bd-15"], "labels": ["testing", "unit", "app", "macros"]}
{"id": "bd-17", "title": "Unit Tests: app.py - MCP Resources", "description": "Unit tests for MCP resource handlers in app.py.\n\n## Test Areas\n- resource://project/{slug}\n- resource://agents/{project}\n- resource://inbox/{agent}\n- resource://outbox/{agent}\n- resource://thread/{id}\n- resource://identity/{path} (worktree mode)\n- resource://product/{key}\n\n## Notes\n- Test query parameters (limit, include_bodies)\n- Test error responses for missing resources", "status": "open", "priority": 2, "blocked_by": ["bd-13"], "labels": ["testing", "unit", "app", "resources"]}
{"id": "bd-18", "title": "Unit Tests: app.py - MCP Tools", "description": "Unit tests for all MCP tool handlers in app.py.\n\n## Test Areas\n- health_check\n- ensure_project\n- register_agent / create_agent_identity\n- whois\n- send_message / reply_message\n- fetch_inbox\n- mark_message_read / acknowledge_message\n- search_messages\n- summarize_thread\n- file_reservation_paths / release / renew / force_release\n- request_contact / respond_contact / list_contacts / set_contact_policy\n- All macro tools\n- Build slot tools (when enabled)\n- Product bus tools\n\n## Notes\n- Test via FastMCP Client for realistic MCP protocol\n- Test error responses (ToolError)\n- Test input validation", "status": "open", "priority": 1, "blocked_by": ["bd-16", "bd-17"], "labels": ["testing", "unit", "app", "tools"]}
{"id": "bd-20", "title": "Unit Tests: storage.py - Archive Operations", "description": "Unit tests for Git archive operations in storage.py (currently 9%).\n\n## Test Areas\n- ensure_archive() initialization\n- ProjectArchive class operations\n- write_agent_profile() persistence\n- write_message_artifacts() inbox/outbox\n- write_file_reservation_records()\n- Git commit operations\n- _archive_write_lock() concurrency\n\n## Notes\n- Test with real Git repos\n- Test concurrent access patterns\n- Verify file structure matches spec", "status": "open", "priority": 2, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "storage", "git"]}
{"id": "bd-21", "title": "Unit Tests: storage.py - Inbox/Outbox", "description": "Unit tests for mailbox operations in storage.py.\n\n## Test Areas\n- Inbox file structure (agents/{name}/inbox/YYYY/MM/*.md)\n- Outbox file structure (agents/{name}/outbox/YYYY/MM/*.md)\n- Message file naming conventions\n- Markdown content generation\n- Attachment embedding\n- Thread ID tracking\n\n## Notes\n- Verify Git commits have correct author/message\n- Test file path sanitization", "status": "open", "priority": 2, "blocked_by": ["bd-20"], "labels": ["testing", "unit", "storage", "mailbox"]}
{"id": "bd-22", "title": "Unit Tests: storage.py - Repo Cache", "description": "Unit tests for Git repo caching in storage.py.\n\n## Test Areas\n- clear_repo_cache() cleanup\n- Repo instance reuse\n- File handle management\n- Concurrent repo access\n\n## Notes\n- Test resource cleanup\n- Prevent ResourceWarning leaks", "status": "open", "priority": 3, "blocked_by": ["bd-20"], "labels": ["testing", "unit", "storage", "cache"]}
{"id": "bd-30", "title": "Unit Tests: cli.py - Core Commands", "description": "Unit tests for CLI core commands (currently 8%).\n\n## Test Areas\n- mail status command\n- mail inbox command\n- mail send command\n- mail ack command\n- mail search command\n\n## Notes\n- Use typer.testing.CliRunner\n- Test JSON output format\n- Test rich console output", "status": "open", "priority": 2, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "cli"]}
{"id": "bd-31", "title": "Unit Tests: cli.py - Guard Commands", "description": "Unit tests for CLI guard commands.\n\n## Test Areas\n- guard status command\n- guard install command\n- guard uninstall command\n- Pre-commit hook behavior\n- Pre-push hook behavior\n\n## Notes\n- Test hook chain composition\n- Test bypass modes", "status": "open", "priority": 2, "blocked_by": ["bd-30"], "labels": ["testing", "unit", "cli", "guards"]}
{"id": "bd-32", "title": "Unit Tests: cli.py - Archive Commands", "description": "Unit tests for CLI archive commands.\n\n## Test Areas\n- archive save command\n- archive list command\n- archive restore command\n- archive export command\n\n## Notes\n- Test ZIP file creation/extraction\n- Test database backup/restore", "status": "open", "priority": 2, "blocked_by": ["bd-30"], "labels": ["testing", "unit", "cli", "archive"]}
{"id": "bd-33", "title": "Unit Tests: cli.py - Project Commands", "description": "Unit tests for CLI project commands.\n\n## Test Areas\n- projects list command\n- projects mark-identity command\n- projects discovery-init command\n- projects link command\n\n## Notes\n- Test Git marker file creation\n- Test YAML configuration", "status": "open", "priority": 3, "blocked_by": ["bd-30"], "labels": ["testing", "unit", "cli", "projects"]}
{"id": "bd-34", "title": "Unit Tests: cli.py - Product Commands", "description": "Unit tests for CLI product bus commands.\n\n## Test Areas\n- products ensure command\n- products link command\n- products status command\n- products search command\n- products inbox command\n- products summarize-thread command\n\n## Notes\n- Test cross-project operations\n- Test product-wide search", "status": "open", "priority": 3, "blocked_by": ["bd-30"], "labels": ["testing", "unit", "cli", "products"]}
{"id": "bd-40", "title": "Unit Tests: http.py - Server Setup", "description": "Unit tests for HTTP server setup in http.py (currently 4%).\n\n## Test Areas\n- create_http_app() initialization\n- Uvicorn worker configuration\n- CORS setup\n- SSE transport setup\n- Health endpoint\n\n## Notes\n- Test with real HTTP client (httpx)\n- No mocked responses", "status": "open", "priority": 2, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "http"]}
{"id": "bd-41", "title": "Unit Tests: http.py - Authentication", "description": "Unit tests for HTTP authentication in http.py.\n\n## Test Areas\n- Static bearer token auth\n- JWT validation\n- JWKS key fetching\n- Token expiration\n- Invalid token handling\n\n## Notes\n- Test both auth modes\n- Test error responses", "status": "open", "priority": 2, "blocked_by": ["bd-40"], "labels": ["testing", "unit", "http", "auth"]}
{"id": "bd-42", "title": "Unit Tests: http.py - Rate Limiting", "description": "Unit tests for HTTP rate limiting in http.py.\n\n## Test Areas\n- In-memory rate limiter\n- Redis-backed rate limiter\n- Rate limit headers\n- 429 responses\n- Per-client tracking\n\n## Notes\n- Test burst handling\n- Test rate limit recovery", "status": "open", "priority": 3, "blocked_by": ["bd-40"], "labels": ["testing", "unit", "http", "rate-limit"]}
{"id": "bd-50", "title": "Unit Tests: guard.py - Pre-commit", "description": "Unit tests for pre-commit guard logic in guard.py (currently 8%).\n\n## Test Areas\n- Staged file detection\n- File reservation conflict checking\n- Agent identification\n- Bypass mode (AGENT_MAIL_BYPASS)\n- Warning mode (AGENT_MAIL_GUARD_MODE=warn)\n\n## Notes\n- Test with real Git repos\n- Test rename detection (-M flag)", "status": "open", "priority": 2, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "guards"]}
{"id": "bd-51", "title": "Unit Tests: guard.py - Pre-push", "description": "Unit tests for pre-push guard logic in guard.py.\n\n## Test Areas\n- Commit enumeration (git rev-list)\n- Tree diff detection (git diff-tree)\n- Remote branch tracking\n- Conflict resolution\n\n## Notes\n- Test with multiple commits\n- Test force push scenarios", "status": "open", "priority": 2, "blocked_by": ["bd-50"], "labels": ["testing", "unit", "guards"]}
{"id": "bd-52", "title": "Unit Tests: guard.py - Hook Installation", "description": "Unit tests for hook installation in guard.py.\n\n## Test Areas\n- Hook chain runner generation\n- hooks.d directory structure\n- Existing hook preservation (.orig)\n- Husky compatibility\n- core.hooksPath respect\n\n## Notes\n- Test Windows shim generation\n- Test uninstall cleanup", "status": "open", "priority": 3, "blocked_by": ["bd-50"], "labels": ["testing", "unit", "guards", "hooks"]}
{"id": "bd-60", "title": "Unit Tests: share.py - Archive Save", "description": "Unit tests for archive save functionality in share.py (currently 12%).\n\n## Test Areas\n- ZIP archive creation\n- Database backup inclusion\n- Storage root backup\n- Label/metadata handling\n- Incremental vs full backup\n\n## Notes\n- Test large archive handling\n- Verify ZIP structure", "status": "open", "priority": 2, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "share"]}
{"id": "bd-61", "title": "Unit Tests: share.py - Archive Restore", "description": "Unit tests for archive restore functionality in share.py.\n\n## Test Areas\n- ZIP extraction\n- Database restoration\n- Storage root restoration\n- Conflict handling (--force)\n- Integrity validation\n\n## Notes\n- Test corrupted archive handling\n- Test partial restore scenarios", "status": "open", "priority": 2, "blocked_by": ["bd-60"], "labels": ["testing", "unit", "share"]}
{"id": "bd-62", "title": "Unit Tests: share.py - Export", "description": "Unit tests for export functionality in share.py.\n\n## Test Areas\n- HTML export generation\n- Thread export\n- Attachment handling\n- XSS sanitization\n- CSS styling\n\n## Notes\n- Verify HTML output is valid\n- Test with various message content", "status": "open", "priority": 3, "blocked_by": ["bd-60"], "labels": ["testing", "unit", "share", "export"]}
{"id": "bd-70", "title": "Unit Tests: llm.py - Provider Integration", "description": "Unit tests for LLM provider integration in llm.py (currently 17%).\n\n## Test Areas\n- LiteLLM initialization\n- Model selection\n- Token counting (tiktoken)\n- Response parsing\n- Error handling (rate limits, timeouts)\n\n## Notes\n- May need real API calls or recorded responses\n- Test fallback behavior", "status": "open", "priority": 3, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "llm"]}
{"id": "bd-71", "title": "Unit Tests: llm.py - Thread Summarization", "description": "Unit tests for LLM-based thread summarization.\n\n## Test Areas\n- summarize_thread() with LLM mode\n- Key points extraction\n- Action items extraction\n- Participant identification\n\n## Notes\n- Test with various thread lengths\n- Test fallback to non-LLM mode", "status": "open", "priority": 3, "blocked_by": ["bd-70"], "labels": ["testing", "unit", "llm", "summarization"]}
{"id": "bd-80", "title": "Unit Tests: rich_logger.py", "description": "Unit tests for rich logging infrastructure (currently 15%).\n\n## Test Areas\n- Console output formatting\n- Panel rendering\n- JSON output mode\n- Log level filtering\n- Structured logging\n\n## Notes\n- Test with captured console output\n- Verify color/style application", "status": "open", "priority": 3, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "logging"]}
{"id": "bd-90", "title": "Unit Tests: utils.py", "description": "Unit tests for utility functions in utils.py (currently 40%).\n\n## Test Areas\n- All utility functions\n- Edge cases and error handling\n\n## Notes\n- Verify all helper functions work correctly", "status": "open", "priority": 3, "blocked_by": ["bd-1"], "labels": ["testing", "unit", "utils"]}
{"id": "bd-100", "title": "Integration Tests: Full Messaging Flow", "description": "End-to-end integration test for complete messaging workflow.\n\n## Test Scenario\n1. Create project\n2. Register two agents\n3. Agent A sends message to Agent B\n4. Agent B fetches inbox, sees message\n5. Agent B marks as read\n6. Agent B acknowledges\n7. Verify all state in database and Git archive\n\n## Logging\n- Rich console output at each step\n- Timing information\n- Database state dumps", "status": "open", "priority": 1, "blocked_by": ["bd-18"], "labels": ["testing", "integration", "e2e", "messaging"]}
{"id": "bd-101", "title": "Integration Tests: File Reservation Conflicts", "description": "End-to-end integration test for file reservation conflict handling.\n\n## Test Scenario\n1. Agent A reserves src/**/*.py exclusively\n2. Agent B attempts to reserve src/main.py\n3. Verify conflict returned\n4. Agent A releases reservation\n5. Agent B successfully reserves\n6. Test stale detection and force release\n\n## Logging\n- Detailed conflict information\n- Timing of TTL expiration", "status": "open", "priority": 1, "blocked_by": ["bd-18"], "labels": ["testing", "integration", "e2e", "file-reservations"]}
{"id": "bd-102", "title": "Integration Tests: Contact Management Flow", "description": "End-to-end integration test for contact request/approval flow.\n\n## Test Scenario\n1. Agent A requests contact with Agent B\n2. Agent B fetches inbox, sees contact request\n3. Agent B approves contact\n4. Agent A can now message Agent B\n5. Test cross-project contacts\n6. Test contact policy enforcement\n\n## Logging\n- Contact link state transitions\n- Policy evaluation details", "status": "open", "priority": 2, "blocked_by": ["bd-18"], "labels": ["testing", "integration", "e2e", "contacts"]}
{"id": "bd-103", "title": "Integration Tests: Thread Conversations", "description": "End-to-end integration test for threaded conversations.\n\n## Test Scenario\n1. Agent A starts thread with subject [bd-123]\n2. Agent B replies in thread\n3. Agent A replies back\n4. Fetch thread, verify all messages\n5. Summarize thread\n6. Search within thread\n\n## Logging\n- Thread ID tracking\n- Message ordering", "status": "open", "priority": 2, "blocked_by": ["bd-100"], "labels": ["testing", "integration", "e2e", "threads"]}
{"id": "bd-104", "title": "Integration Tests: Guard Pre-commit", "description": "End-to-end integration test for pre-commit guard.\n\n## Test Scenario\n1. Set up Git repo with guard installed\n2. Agent A reserves file.py\n3. Agent B (different identity) modifies file.py\n4. Agent B attempts commit\n5. Verify guard blocks commit\n6. Test warning mode\n7. Test bypass mode\n\n## Logging\n- Guard execution trace\n- Conflict details", "status": "open", "priority": 2, "blocked_by": ["bd-51"], "labels": ["testing", "integration", "e2e", "guards"]}
{"id": "bd-105", "title": "Integration Tests: Archive Save/Restore", "description": "End-to-end integration test for disaster recovery.\n\n## Test Scenario\n1. Create project with messages, agents, reservations\n2. Save archive with label\n3. Delete database and storage\n4. Restore from archive\n5. Verify all data recovered\n6. Verify message timestamps preserved\n\n## Logging\n- Archive contents listing\n- Restoration progress", "status": "open", "priority": 2, "blocked_by": ["bd-32"], "labels": ["testing", "integration", "e2e", "archive"]}
{"id": "bd-106", "title": "Integration Tests: HTTP Transport", "description": "End-to-end integration test for HTTP/SSE transport.\n\n## Test Scenario\n1. Start HTTP server\n2. Connect via SSE\n3. Call tools through HTTP\n4. Verify responses\n5. Test authentication\n6. Test rate limiting\n\n## Logging\n- Request/response traces\n- SSE event stream", "status": "open", "priority": 2, "blocked_by": ["bd-42"], "labels": ["testing", "integration", "e2e", "http"]}
{"id": "bd-107", "title": "Integration Tests: Product Bus", "description": "End-to-end integration test for product bus functionality.\n\n## Test Scenario\n1. Create product\n2. Link two projects to product\n3. Send messages in both projects\n4. Search across product\n5. Fetch product-wide inbox\n6. Summarize cross-project thread\n\n## Logging\n- Product-project linkage\n- Cross-project query results", "status": "open", "priority": 3, "blocked_by": ["bd-34"], "labels": ["testing", "integration", "e2e", "products"]}
{"id": "bd-108", "title": "Integration Tests: Concurrent Access", "description": "End-to-end integration test for concurrent operations.\n\n## Test Scenario\n1. Multiple agents operating simultaneously\n2. Concurrent message sends\n3. Concurrent file reservations\n4. Concurrent inbox fetches\n5. Verify no data corruption\n6. Verify proper locking\n\n## Logging\n- Timing of concurrent operations\n- Lock acquisition/release", "status": "open", "priority": 2, "blocked_by": ["bd-100", "bd-101"], "labels": ["testing", "integration", "e2e", "concurrency"]}
{"id": "bd-110", "title": "E2E Test Script: Multi-Agent Workflow", "description": "Comprehensive E2E test script simulating realistic multi-agent workflow.\n\n## Scenario\nSimulate a development team with 3 agents working on a codebase:\n1. BlueLake: Backend developer\n2. GreenMountain: Frontend developer \n3. RedStone: Code reviewer\n\n## Workflow\n1. BlueLake announces work on API endpoint\n2. BlueLake reserves backend/**\n3. GreenMountain announces work on UI\n4. GreenMountain reserves frontend/**\n5. BlueLake sends PR notification\n6. RedStone reviews and comments\n7. Back-and-forth discussion in thread\n8. BlueLake releases reservation\n9. Full audit trail verification\n\n## Logging Requirements\n- Rich console panels for each step\n- Timing breakdown\n- State snapshots\n- Git archive diff at each stage", "status": "open", "priority": 1, "blocked_by": ["bd-100", "bd-101", "bd-103"], "labels": ["testing", "e2e", "script", "multi-agent"]}
{"id": "bd-111", "title": "E2E Test Script: Disaster Recovery", "description": "Comprehensive E2E test script for disaster recovery scenarios.\n\n## Scenario\nTest full backup/restore cycle with data verification:\n1. Create complex state (multiple projects, agents, messages, threads)\n2. Save labeled archive\n3. Corrupt/delete state\n4. Restore from archive\n5. Verify byte-perfect restoration\n6. Continue operations post-restore\n\n## Logging Requirements\n- Pre/post state comparison\n- Archive manifest\n- Restoration progress bar\n- Data integrity checksums", "status": "open", "priority": 2, "blocked_by": ["bd-105"], "labels": ["testing", "e2e", "script", "disaster-recovery"]}
{"id": "bd-112", "title": "E2E Test Script: Guard Enforcement", "description": "Comprehensive E2E test script for guard enforcement scenarios.\n\n## Scenario\nTest pre-commit and pre-push guards in realistic Git workflow:\n1. Set up repo with guards installed\n2. Multiple agents claim different files\n3. Simulate commits that should be blocked\n4. Simulate commits that should pass\n5. Test push with remote conflicts\n6. Test bypass and warning modes\n\n## Logging Requirements\n- Git command output\n- Guard decision tree\n- Conflict resolution suggestions", "status": "open", "priority": 2, "blocked_by": ["bd-104"], "labels": ["testing", "e2e", "script", "guards"]}
{"id": "bd-113", "title": "E2E Test Script: Performance Under Load", "description": "Comprehensive E2E test script for performance benchmarking.\n\n## Scenario\nTest system behavior under load:\n1. Create 100 agents\n2. Send 1000 messages\n3. Create 500 file reservations\n4. Concurrent operations (10 parallel)\n5. Measure latencies\n6. Verify no degradation\n\n## Logging Requirements\n- Latency histograms\n- Throughput metrics\n- Memory usage\n- Database query timing", "status": "open", "priority": 3, "blocked_by": ["bd-108"], "labels": ["testing", "e2e", "script", "performance"]}
{"id": "bd-120", "title": "Test Coverage: Achieve 50% Overall", "description": "Milestone: Achieve 50% overall test coverage.\n\n## Current State\n- Overall: 9%\n- app.py: 4%\n- cli.py: 8%\n- http.py: 4%\n\n## Target\n- Overall: 50%\n- All modules: minimum 30%\n\n## Verification\nRun: pytest --cov=src/mcp_agent_mail --cov-fail-under=50", "status": "open", "priority": 1, "blocked_by": ["bd-18", "bd-30", "bd-40", "bd-50", "bd-60"], "labels": ["testing", "milestone", "coverage"]}
{"id": "bd-121", "title": "Test Coverage: Achieve 80% Overall", "description": "Milestone: Achieve 80% overall test coverage.\n\n## Target\n- Overall: 80%\n- All modules: minimum 70%\n- Critical paths: 95%+\n\n## Verification\nRun: pytest --cov=src/mcp_agent_mail --cov-fail-under=80", "status": "open", "priority": 2, "blocked_by": ["bd-120"], "labels": ["testing", "milestone", "coverage"]}
{"id": "bd-122", "title": "Test Coverage: Achieve 95% Overall", "description": "Milestone: Achieve 95% overall test coverage.\n\n## Target\n- Overall: 95%\n- All modules: minimum 90%\n- No untested critical paths\n\n## Verification\nRun: pytest --cov=src/mcp_agent_mail --cov-fail-under=95", "status": "open", "priority": 3, "blocked_by": ["bd-121"], "labels": ["testing", "milestone", "coverage"]}
{"id": "bd-130", "title": "Test Documentation: Testing Guide", "description": "Create comprehensive testing documentation.\n\n## Contents\n- Test architecture overview\n- How to run tests\n- How to write new tests\n- Fixture usage guide\n- Logging conventions\n- Coverage requirements\n\n## Location\ntests/README.md", "status": "open", "priority": 3, "blocked_by": ["bd-1"], "labels": ["testing", "documentation"]}
{"id": "bd-131", "title": "CI Integration: Test Pipeline", "description": "Set up CI pipeline for automated testing.\n\n## Requirements\n- Run all tests on PR\n- Coverage reporting\n- Failure notifications\n- Performance regression detection\n\n## Notes\n- GitHub Actions or similar\n- Cache dependencies", "status": "open", "priority": 3, "blocked_by": ["bd-120"], "labels": ["testing", "ci", "automation"]}