Phase 1: Core Kernel & Infrastructure
Overview
Implement dependency injection container, set up database (Ent ORM), create health and metrics endpoints, implement error bus, and add basic HTTP server with middleware.
Tasks
1.1 Dependency Injection Container
1.2 Database Setup (Ent)
- 1.2.1 - Install Ent
- 1.2.2 - Initialize Ent Schema
- 1.2.3 - Define Core Entities
- 1.2.4 - Generate Ent Code
- 1.2.5 - Create Database Client
- 1.2.6 - Add Database Config
1.3 Health & Metrics
- 1.3.1 - Install Prometheus
- 1.3.2 - Install Health Check
- 1.3.3 - Create Health Interface
- 1.3.4 - Implement Health Registry
- 1.3.5 - Create Metrics
- 1.3.6 - Add Metrics Endpoint
- 1.3.7 - Register Endpoints
1.4 Error Bus
- 1.4.1 - Create Error Bus Interface
- 1.4.2 - Implement Channel Bus
- 1.4.3 - Add Panic Recovery Middleware
- 1.4.4 - Register Error Bus
1.5 HTTP Server Foundation
1.6 Observability (OpenTelemetry)
- 1.6.1 - Install OpenTelemetry
- 1.6.2 - Create Tracer
- 1.6.3 - Add HTTP Instrumentation
- 1.6.4 - Add Trace Context Propagation
Deliverables Checklist
- DI container with all core services registered
- Database schema defined with Ent
- Health check endpoints working
- Metrics endpoint exposed
- Error bus implemented and integrated
- HTTP server with middleware stack
- OpenTelemetry tracing integrated
Acceptance Criteria
GET /healthzreturns 200GET /readychecks database connectivityGET /metricsreturns Prometheus metrics- HTTP requests are logged with structured logging
- Panic recovery middleware catches and reports errors
- OpenTelemetry traces are generated for HTTP requests