Files
Developer caadd59441 chore: archive 15 completed OpenSpec changes
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.
2026-06-12 14:26:55 +00:00

62 lines
2.3 KiB
Markdown

# 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 `limit` param)
- 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 troubleshooting
- `docs/architecture/backend.md`: Added monitoring components, event flow, event types table
- `docs/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 |