feat: complete Phase 1 — rule-based detection pipeline, API, Docker E2E
Phase 1 delivers end-to-end threat detection from nginx log ingestion
through rule-based scoring to REST API and WebSocket alerts.
- API layer: /threats, /stats, /models/status, /ws/alerts, /health, /ready
- Alert dispatcher with Redis pub/sub + PostgreSQL persistence
- Typer CLI: vigil serve, config, health
- Integration tests (tailer -> pipeline -> DB round-trip)
- Docker E2E verified: dev.compose.yml stack with all services healthy
- Linting clean: ruff, mypy strict (0 issues), pylint 10/10
- 75 tests passing across 8 test modules