caadd59441
Move the following audited-and-implemented changes into openspec/changes/archive/2026-06-12-completed-changes-archive/: - backend-frontend-refactoring - config-profile-git-mounts - config-profile-includes-ui - config-profile-multi-repo-mounts - container-monitoring-notifications - git-mount-url-validation - home-path-expansion - mobile-terminal-ux - mount-specificity-ordering - notification-center - persistent-terminal-sessions - session-list-overhaul - ssh-key-mounting - terminal-fullscreen-unified-header - tool-session-progress-and-updates Also regenerated .pi-map*.md files for openspec/changes so the remaining active changes (multi-session-terminal-ux, reorganize-long-files, working-copies, workspace-first-ui) reflect the new layout.
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 |