wip: doctor/cli/docs/api to vector db consolidation; api hardening for descriptions, tenant, and scopes; migrations and conversions of all DALs to EF v10
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# component_architecture_timelineindexer.md - **Stella Ops TimelineIndexer** (2025Q4)
|
||||
# component_architecture_timelineindexer.md - **Stella Ops TimelineIndexer** (2026Q1)
|
||||
|
||||
> Timeline event indexing and query service.
|
||||
|
||||
@@ -22,18 +22,31 @@
|
||||
|
||||
```
|
||||
src/TimelineIndexer/StellaOps.TimelineIndexer/
|
||||
├─ StellaOps.TimelineIndexer.Core/ # Event models, indexing logic
|
||||
├─ StellaOps.TimelineIndexer.Infrastructure/ # Storage adapters
|
||||
├─ StellaOps.TimelineIndexer.WebService/ # Query API
|
||||
├─ StellaOps.TimelineIndexer.Worker/ # Event consumer
|
||||
└─ StellaOps.TimelineIndexer.Tests/
|
||||
|- StellaOps.TimelineIndexer.Core/ # Event models, indexing logic
|
||||
|- StellaOps.TimelineIndexer.Infrastructure/ # Storage adapters and DAL
|
||||
|- StellaOps.TimelineIndexer.WebService/ # Query API
|
||||
|- StellaOps.TimelineIndexer.Worker/ # Event consumer
|
||||
`- StellaOps.TimelineIndexer.Tests/
|
||||
```
|
||||
|
||||
### 1.1 Persistence implementation (2026-02-22)
|
||||
|
||||
* TimelineIndexer persistence uses **EF Core 10** with database-first scaffolded models.
|
||||
* Generated artifacts are stored in:
|
||||
* `src/TimelineIndexer/StellaOps.TimelineIndexer/StellaOps.TimelineIndexer.Infrastructure/EfCore/Context`
|
||||
* `src/TimelineIndexer/StellaOps.TimelineIndexer/StellaOps.TimelineIndexer.Infrastructure/EfCore/Models`
|
||||
* `src/TimelineIndexer/StellaOps.TimelineIndexer/StellaOps.TimelineIndexer.Infrastructure/EfCore/CompiledModels`
|
||||
* Store adapters (`TimelineEventStore`, `TimelineQueryStore`) run through `TimelineIndexerDataSource` tenant-scoped sessions, preserving `app.current_tenant` and RLS behavior.
|
||||
* Manual model corrections (enum mapping and FK relationship configuration) are implemented in partial files, so scaffolded files remain regeneratable.
|
||||
* Runtime context initialization uses the static compiled model module:
|
||||
* `options.UseModel(TimelineIndexerDbContextModel.Instance)`
|
||||
|
||||
---
|
||||
|
||||
## 2) External dependencies
|
||||
|
||||
* **PostgreSQL** - Event storage with time-series indexes
|
||||
* **EF Core 10 + Npgsql provider** - DAL and model mapping for timeline schema
|
||||
* **NATS/Valkey** - Event stream consumption
|
||||
* **Authority** - Authentication
|
||||
|
||||
@@ -79,5 +92,3 @@ GET /healthz | /readyz | /metrics
|
||||
|
||||
* Signals: `../signals/architecture.md`
|
||||
* Scanner: `../scanner/architecture.md`
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user