Add E2E tests, fix bugs

Made-with: Cursor
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-04-13 05:17:48 +03:00
parent 1f98b5e958
commit 8f7deb3fca
71 changed files with 4740 additions and 29 deletions
@@ -0,0 +1,42 @@
# Observability
## Logging
**Library**: Loguru 0.7.3
**Sinks**:
| Sink | Level | Filter | Destination |
|--------|---------|-------------------------------------|--------------------------------------|
| File | INFO+ | All | `Logs/log_loader_{YYYYMMDD}.txt` |
| Stdout | DEBUG | INFO, DEBUG, SUCCESS only | Container stdout |
| Stderr | WARNING+| All | Container stderr |
**Format**: `[HH:mm:ss LEVEL] message`
**Rotation**: Daily (1 day), 30-day retention (file sink only)
**Async**: File sink uses `enqueue=True` for non-blocking writes
## Health Checks
| Endpoint | Method | Response | Purpose |
|-------------|--------|--------------------|------------------|
| `/health` | GET | `{"status": "healthy"}` | Liveness probe |
| `/status` | GET | `{status, authenticated, modelCacheDir}` | Readiness/info |
## Metrics
No metrics collection (Prometheus, StatsD, etc.) is implemented.
## Tracing
No distributed tracing is implemented.
## Gaps
- No structured logging (JSON format) — plain text only
- No request-level logging middleware (request ID, duration, status code)
- No metrics endpoint
- No distributed tracing
- Log directory `Logs/` is hardcoded — not configurable via environment