3.3 KiB
3.3 KiB
DAL Consolidation Archive
Completed: 2025-12-27
Summary
This archive contains all sprint files for the DAL (Data Access Layer) Consolidation initiative, which migrated StellaOps from fragmented storage patterns (*.Storage.Postgres, *.Storage.InMemory, *.Persistence.EfCore) to a unified *.Persistence pattern.
Final State
| Category | Count | Notes |
|---|---|---|
Modules with *.Persistence |
18 | Standard pattern |
| Modules with Infrastructure pattern | 4 | Orchestrator, EvidenceLocker, ExportCenter, TimelineIndexer |
Modules with *.Storage naming |
1 | Scanner (established pattern) |
| Modules with shared library pattern | 1 | Signer (uses KeyManagement) |
Sprints Completed
Master Plan
SPRINT_1227_0001_0000_dal_consolidation_master.md
Batch 1: Small/Simple Modules
SPRINT_1227_0002_0001_dal_notify.mdSPRINT_1227_0002_0002_dal_scheduler.mdSPRINT_1227_0002_0003_dal_taskrunner.md
Batch 2: Medium Complexity
SPRINT_1227_0003_0001_dal_authority.md
Batch 3: High Complexity
SPRINT_1227_0004_0001_dal_scanner.md
Batch 4: Large Schema
SPRINT_1227_0005_0001_dal_concelier.md
Batch 5: Policy & Signals
SPRINT_1227_0006_0001_dal_policy.mdSPRINT_1227_0006_0002_dal_signals.md
Batch 6: VEX Ecosystem
SPRINT_1227_0007_0001_dal_excititor.mdSPRINT_1227_0007_0002_dal_vexhub.mdSPRINT_1227_0007_0003_dal_issuer_directory.md
Batch 7: Registry & Storage
SPRINT_1227_0008_0001_dal_packs_registry.mdSPRINT_1227_0008_0002_dal_sbom_service.mdSPRINT_1227_0008_0003_dal_airgap.md
Batch 8: Shared Libraries
SPRINT_1227_0009_0001_dal_graph.mdSPRINT_1227_0009_0002_dal_evidence.md
Batch 9: Infrastructure Extraction
SPRINT_1227_0010_0001_dal_orchestrator.mdSPRINT_1227_0010_0002_dal_evidence_locker.mdSPRINT_1227_0010_0003_dal_export_center.mdSPRINT_1227_0010_0004_dal_timeline_indexer.md
Batch 10: Already Modernized
SPRINT_1227_0011_0001_dal_binary_index.mdSPRINT_1227_0011_0002_dal_signer.mdSPRINT_1227_0011_0003_dal_attestor.md
Target Structure (Per Module)
Module/
├── __Libraries/
│ └── StellaOps.Module.Persistence/
│ ├── Migrations/ # SQL migrations (source of truth)
│ ├── EfCore/ # EF Core implementation
│ │ ├── Context/
│ │ ├── Entities/
│ │ └── Repositories/
│ ├── Postgres/ # Raw SQL implementation
│ │ └── Repositories/
│ ├── InMemory/ # Testing implementation (where applicable)
│ │ └── Repositories/
│ └── Extensions/
│ └── ModulePersistenceExtensions.cs
Decisions Made
- SQL migrations remain source of truth - Database-first approach maintained
- EF Core scaffolds from live database - Supports hybrid Raw SQL + EF Core
- InMemory for testing only - Production uses PostgreSQL
- Some modules keep Infrastructure pattern - Orchestrator, EvidenceLocker, ExportCenter, TimelineIndexer have unique workflow requirements
- Scanner keeps Storage naming - Established pattern with 27 migrations
- Signer uses shared library - KeyManagement library provides DB access