sprints work

This commit is contained in:
master
2026-01-11 11:19:40 +02:00
parent f6ef1ef337
commit 582a41d7a9
72 changed files with 2680 additions and 390 deletions

View File

@@ -74,7 +74,7 @@
| 18 | DET-018 | DONE | DET-004 to DET-017 | Guild | Final audit: verify sprint-scoped modules (Libraries only) have deterministic TimeProvider injection. Remaining scope documented below. |
| 19 | DET-019 | DONE | DET-018 | Guild | Follow-up: Scanner.WebService determinism refactoring (~40 DateTimeOffset.UtcNow usages) - 12 endpoint/service files + 2 dependency library files fixed |
| 20 | DET-020 | DONE | DET-018 | Guild | Follow-up: Scanner.Analyzers.Native determinism refactoring - hardening extractors (ELF/MachO/PE), OfflineBuildIdIndex, and RuntimeCapture adapters (eBPF/DYLD/ETW) complete. |
| 21 | DET-021 | DOING | DET-018 | Guild | Follow-up: Other modules (AdvisoryAI, Authority, AirGap, Attestor, Cli, Concelier, Excititor, etc.) - full codebase determinism sweep. Sub-tasks: (a) AirGap DONE, (b) EvidenceLocker DONE, (c) IssuerDirectory DONE, (d) Libraries batch 2026-01-11 DONE: StellaOps.Facet, StellaOps.Verdict, StellaOps.Metrics, StellaOps.Spdx3. (e) Remaining modules pending |
| 21 | DET-021 | DOING | DET-018 | Guild | Follow-up: Other modules (AdvisoryAI, Authority, AirGap, Attestor, Cli, Concelier, Excititor, etc.) - full codebase determinism sweep. Sub-tasks: (a) AirGap DONE, (b) EvidenceLocker DONE, (c) IssuerDirectory DONE, (d) Libraries batch 2026-01-11 DONE: StellaOps.Facet, StellaOps.Verdict, StellaOps.Metrics, StellaOps.Spdx3. (e) Concelier module batch 2026-01-11 DONE: ProvenanceScopeService, BackportProofService, AdvisoryConverter, FixIndexService, SitePolicyEnforcementService, SyncLedgerRepository, SbomRegistryService, SbomAdvisoryMatcher (x2). (f) Remaining: static parsers (ChangelogParser, PatchHeaderParser) deferred - require method-level TimeProvider params |
## Implementation Pattern
@@ -157,7 +157,15 @@ services.AddSingleton<IGuidProvider, SystemGuidProvider>();
| 2026-01-06 | DET-021 continued: Concelier module refactored - InterestScoreRepository.cs (TimeProvider constructor, GetLowScoreCanonicalIdsAsync minAge calculation). Remaining Concelier files are mostly static parsers (ChangelogParser) requiring method-level TimeProvider parameters. | Agent |
| 2026-01-06 | DET-021 continued: ExportCenter module refactored - RiskBundleJobHandler.cs (already had TimeProvider, fixed remaining DateTime.UtcNow in CreateProviderInfo converted from static to instance method). CLI BinaryCommandHandlers.cs (2 usages fixed using services.GetService<TimeProvider>()). | Agent |
| 2026-01-11 | DET-021 continued: Library determinism batch - StellaOps.Facet (FacetDriftVexWorkflow.cs, InMemoryFacetSealStore.cs), StellaOps.Verdict (VerdictBuilderService.cs, VerdictAssemblyService.cs, PostgresVerdictStore.cs, VerdictEndpoints.cs, VerdictRow.cs), StellaOps.Metrics (KpiCollector.cs), StellaOps.Spdx3 (Spdx3Parser.cs). All TimeProvider injection with fallback to TimeProvider.System. VerdictRow.CreatedAt changed from default to required. All builds verified. | Agent |
| 2026-01-11 | DET-021 continued: Concelier module batch - ProvenanceScopeService.cs (TimeProvider constructor, 4 usages in CreateOrUpdateAsync and UpdateFromEvidenceAsync), BackportProofService.cs (TimeProvider constructor, 1 usage for binary fingerprint evidence timestamp), AdvisoryConverter.cs (TimeProvider + IGuidProvider constructors, 8 usages each for timestamps and GUIDs). Added StellaOps.Determinism.Abstractions project reference to Concelier.Persistence. All builds verified. | Agent |
| 2026-01-11 | DET-021 continued: Concelier.BackportProof + Persistence batch - FixIndexService.cs (TimeProvider + IGuidProvider constructors, 3 usages for snapshot creation), SitePolicyEnforcementService.cs (TimeProvider constructor, 1 usage for budget window), SyncLedgerRepository.cs (TimeProvider + IGuidProvider constructors, 4 usages in InsertAsync and AdvanceCursorAsync). Added Determinism.Abstractions reference to BackportProof project. All builds verified. | Agent |
| 2026-01-11 | DET-021 continued: Concelier.SbomIntegration batch - SbomRegistryService.cs (TimeProvider constructor, 6 usages for RegisteredAt and LastMatchedAt), SbomAdvisoryMatcher.cs (TimeProvider constructor, 2 usages for MatchedAt), Matching/SbomAdvisoryMatcher.cs (same changes for duplicate file). All builds verified. | Agent |
| 2026-01-11 | DET-021 continued: TaskRunner module refactored - PackRunWorkerService.cs (TimeProvider constructor, 13 usages: gate state updates, log entries, state transitions, step execution timestamps), Program.cs (TimeProvider registration + HandleCreateRun/HandleCancelRun handlers updated - 6 usages for log entries and rejection timestamps). All builds verified. | Agent |
| 2026-01-11 | DET-021 continued: Integrations module refactored - IntegrationService.cs (TimeProvider constructor, 9 usages in CRUD and test/health operations), HarborConnectorPlugin.cs (TimeProvider constructor, 9 usages for connection test/health check durations and timestamps), GitHubAppConnectorPlugin.cs (TimeProvider constructor, 9 usages), InMemoryConnectorPlugin.cs (TimeProvider constructor, 5 usages), PostgresIntegrationRepository.cs (TimeProvider constructor, 1 usage in DeleteAsync), Integration.cs entity (CreatedAt/UpdatedAt changed from default initializers to required properties). All builds verified. | Agent |
| 2026-01-11 | DET-021 continued: Excititor connectors batch - RancherHubMetadataLoader.cs (TimeProvider constructor, 7 usages for cache timestamps, IsExpired changed to accept DateTimeOffset parameter), CiscoProviderMetadataLoader.cs (TimeProvider constructor, 9 usages for cache timestamps, IsExpired changed similarly). All builds verified. | Agent |
| 2026-01-11 | DET-021 continued: Findings.Ledger.WebService batch - WebhookService.cs (InMemoryWebhookStore: TimeProvider + IGuidProvider, WebhookDeliveryService: TimeProvider - 4 usages total), VexConsensusService.cs (TimeProvider constructor, 8 usages for consensus computation and issuer registration), FindingScoringService.cs (TimeProvider constructor, 2 usages), ScoreHistoryStore.cs (TimeProvider constructor, 1 usage for retention cutoff). All builds verified. | Agent |
| 2026-01-11 | DET-021 continued: Orchestrator.Core domain models batch - Slo.cs (7 usages: CreateAvailability/CreateLatency/CreateThroughput + Update/Disable/Enable + AlertBudgetThreshold.Create now accept timestamps), Watermark.cs (3 usages: Create/Advance/WithWindow now accept timestamps), JobCapsule.cs (createdAt now required), PackRun.cs/PackRunLog.cs (throw if timestamp null), EventEnvelope.cs Core/Domain (5 usages: Create/ForJob/ForExport/ForPolicy/GenerateEventId now accept timestamps), AuditEntry.cs (occurredAt added), ReplayManifest.cs/ReplayInputsLock.cs (throw if timestamp null), ExportJobPolicy.cs (old method throws NotImplementedException, new overload with timestamp), NotificationRule.cs (createdAt added to Create), EventTimeWindow.cs (now/LastHours/LastDays now required). Services: InMemoryIdempotencyStore.cs/ExportJobService.cs/JobCapsuleGenerator.cs (TimeProvider constructor injection). SignedManifest.cs (5 usages: CreateFromLedgerEntry/CreateFromExport/CreateStatementsFromExport now accept createdAt, IsExpired renamed to IsExpiredAt). RunLedger.cs (5 usages: FromCompletedRun ledgerCreatedAt param, CreateRequest requestedAt param, Start/Complete/Fail now accept timestamps). MirrorOperationRecorder.cs (TimeProvider constructor, 8 usages for evidence StartedAt/CompletedAt). All builds verified - 0 DateTimeOffset.UtcNow remaining in Orchestrator.Core. | Agent |
| 2026-01-11 | DET-021 continued: Scanner.Storage + Attestor.Core batch - PostgresFacetSealStore.cs (TimeProvider constructor, 1 usage for retention cutoff in PurgeOldSealsAsync), DeltaAttestationService.cs (TimeProvider constructor, 2 usages for CreatedAt on success/error results), TimeSkewValidator.cs (TimeProvider constructor, 1 usage for default localTime in Validate). Scanner catalog documents (ImageDocument, LayerDocument, etc.) identified as entity default initializer debt similar to DET-011. All builds verified. | Agent |
## Decisions & Risks
- **Decision:** Defer determinism refactoring from MAINT audit to dedicated sprint for focused, systematic approach.
- **Risk:** Large scope (~1526+ changes). Mitigate by module-by-module refactoring with incremental commits.