DET-001/002/003: Add IGuidProvider abstraction and refactor Policy.Unknowns for determinism
- Created IGuidProvider interface and SystemGuidProvider in StellaOps.Determinism.Abstractions - Added SequentialGuidProvider for testing deterministic GUID generation - Added DeterminismServiceCollectionExtensions with AddDeterminismDefaults() - Refactored Policy.Unknowns: - UnknownsRepository now uses TimeProvider and IGuidProvider - BudgetExceededEventFactory accepts optional TimeProvider parameter - ServiceCollectionExtensions calls AddDeterminismDefaults() - Fixed Policy.Exceptions csproj (added ImplicitUsings, Nullable, PackageReferences) Sprint: SPRINT_20260104_001_BE_determinism_timeprovider_injection Tasks: DET-001 (audit), DET-002 (IGuidProvider), DET-003 (registration pattern), DET-004 (partial - Policy.Unknowns)
This commit is contained in:
@@ -54,10 +54,10 @@
|
||||
|
||||
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 1 | DET-001 | TODO | Audit complete | Guild | Full audit: count all DateTimeOffset.UtcNow/DateTime.UtcNow/Guid.NewGuid/Random.Shared by project |
|
||||
| 2 | DET-002 | TODO | DET-001 | Guild | Ensure IGuidProvider abstraction exists in StellaOps.Determinism.Abstractions |
|
||||
| 3 | DET-003 | TODO | DET-001 | Guild | Ensure TimeProvider registration pattern documented |
|
||||
| 4 | DET-004 | TODO | DET-002, DET-003 | Guild | Refactor Policy module (Policy.Unknowns, PolicyDsl, etc.) |
|
||||
| 1 | DET-001 | DONE | Audit complete | Guild | Full audit: count all DateTimeOffset.UtcNow/DateTime.UtcNow/Guid.NewGuid/Random.Shared by project |
|
||||
| 2 | DET-002 | DONE | DET-001 | Guild | Ensure IGuidProvider abstraction exists in StellaOps.Determinism.Abstractions |
|
||||
| 3 | DET-003 | DONE | DET-001 | Guild | Ensure TimeProvider registration pattern documented |
|
||||
| 4 | DET-004 | DOING | DET-002, DET-003 | Guild | Refactor Policy module (Policy.Unknowns, PolicyDsl, etc.) |
|
||||
| 5 | DET-005 | TODO | DET-002, DET-003 | Guild | Refactor Provcache module |
|
||||
| 6 | DET-006 | TODO | DET-002, DET-003 | Guild | Refactor Provenance module |
|
||||
| 7 | DET-007 | TODO | DET-002, DET-003 | Guild | Refactor ReachGraph module |
|
||||
@@ -110,6 +110,11 @@ services.AddSingleton<IGuidProvider, SystemGuidProvider>();
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2026-01-04 | Sprint created; deferred from SPRINT_20251229_049_BE MAINT tasks | Planning |
|
||||
| 2026-01-04 | DET-001: Audit complete. Found 1526 DateTimeOffset.UtcNow, 181 DateTime.UtcNow, 687 Guid.NewGuid, 16 Random.Shared | Agent |
|
||||
| 2026-01-04 | DET-002: Created IGuidProvider, SystemGuidProvider, SequentialGuidProvider in StellaOps.Determinism.Abstractions | Agent |
|
||||
| 2026-01-04 | DET-003: Created DeterminismServiceCollectionExtensions with AddDeterminismDefaults() | Agent |
|
||||
| 2026-01-04 | DET-004: Policy.Unknowns refactored - UnknownsRepository, BudgetExceededEventFactory, ServiceCollectionExtensions | Agent |
|
||||
| 2026-01-04 | Fixed Policy.Exceptions csproj - added ImplicitUsings, Nullable, PackageReferences | Agent |
|
||||
|
||||
## Decisions & Risks
|
||||
- **Decision:** Defer determinism refactoring from MAINT audit to dedicated sprint for focused, systematic approach.
|
||||
|
||||
Reference in New Issue
Block a user