API wrapper maintains backward compatibility (no changes needed to importing files)
Generated with Claude Code
## Summary
- Replace Winston with Pino using API-compatible wrapper (79 importing files require NO changes)
- Add LOG_LEVEL env var support with validation and fallback to 'info'
- Add correlation ID middleware (extracts X-Request-Id from Traefik or generates UUID)
- Configure PostgreSQL logging env vars (POSTGRES_LOG_STATEMENT, POSTGRES_LOG_MIN_DURATION)
- Configure Redis loglevel via command args
Fixes #82
## Test Plan
- [x] `npm run type-check` passes
- [x] `npm run lint` passes (pre-existing warnings only)
- [x] Pino JSON output confirmed in test logs
- [x] API wrapper maintains backward compatibility (no changes needed to importing files)
Generated with Claude Code
- Replace Winston with Pino using API-compatible wrapper
- Add LOG_LEVEL env var support with validation and fallback
- Add correlation ID middleware (X-Request-Id from Traefik or UUID)
- Configure PostgreSQL logging env vars (POSTGRES_LOG_STATEMENT, POSTGRES_LOG_MIN_DURATION)
- Configure Redis loglevel via command args
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add Docker healthcheck loop to production verify-prod job matching
staging's 24 attempts x 10 seconds = 4 minutes max wait for backend
migrations.
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Fixes #82
Test Plan
npm run type-checkpassesnpm run lintpasses (pre-existing warnings only)Generated with Claude Code