Files
alex 2682e0268c feat: container monitoring integration + polish (PR-3)
- 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
2026-05-29 10:25:00 +02:00

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 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