2682e0268c
- Integration tests: SSE auth, connection limits, lifecycle hooks, event persistence (6 tests)
- Instance events history API: GET /instances/{id}/events
- Documentation updates: terminal.md, backend.md, frontend.md
- Performance: SSE max 5 connections, health monitor write-on-change
Quality gates: pytest 21 monitoring passed, 172 unit passed (4 pre-existing), vitest 14 passed, tsc clean, eslint clean, ruff clean
2.3 KiB
2.3 KiB
PR-3 Apply Report: Integration + Polish for Container Monitoring & Notifications
Status
COMPLETE
Changed Files
New Files
| File | Purpose |
|---|---|
apps/api/tests/integration/test_events.py |
Integration tests for SSE auth, connection limits, lifecycle hooks, event persistence |
Modified Files
| File | Change |
|---|---|
apps/api/src/api/tool_instances.py |
Added GET /{project_id}/repositories/{repo_id}/instances/{instance_id}/events endpoint |
docs/features/terminal.md |
Added Container Monitoring & Notifications section |
docs/architecture/backend.md |
Added monitoring components to architecture diagram and docs |
docs/architecture/frontend.md |
Added SSE/events section to frontend architecture |
Implementation Summary
MON-PR3-001: Integration Tests
- 6 integration tests covering:
- SSE requires authentication (401)
- SSE enforces connection limit (429)
- SSE endpoint is registered
- Lifecycle hook publishes event and persists audit row
- Direct lifecycle event persists to DB
- EventBus pub/sub delivers events
MON-PR3-002: Instance Events History API
GET /{project_id}/repositories/{repo_id}/instances/{instance_id}/events- Returns up to 50 most recent events (configurable via
limitparam) - Includes event_type, status, message, metadata, created_at
MON-PR3-003: Frontend Health History View
- Skipped — deferred to future enhancement
MON-PR3-004: Performance Tuning
- Already implemented in PR-1: SSE max 5 connections per user, health monitor only writes on state change
MON-PR3-005: Documentation Updates
docs/features/terminal.md: Added monitoring section with error troubleshootingdocs/architecture/backend.md: Added monitoring components, event flow, event types tabledocs/architecture/frontend.md: Added SSE architecture, event-to-toast mapping
MON-PR3-006: Final Regression Validation
- Backend: 21 monitoring tests passed, 172 unit tests passed (4 pre-existing failures unrelated)
- Frontend: 14 tests passed, tsc clean, eslint clean
- Ruff: All clean
Quality Gates
| Check | Result |
|---|---|
| pytest unit (monitoring) | 21 passed |
| pytest unit (full) | 172 passed, 4 pre-existing failures |
| vitest frontend | 14 passed |
| tsc --noEmit | Clean |
| eslint | Clean |
| ruff | Clean |