33 lines
2.8 KiB
Markdown
33 lines
2.8 KiB
Markdown
# Evidence Locker with Deterministic Bundles
|
|
|
|
## Module
|
|
EvidenceLocker
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
Full Evidence Locker module with snapshot services, timeline publishing, and infrastructure for deterministic evidence bundle management.
|
|
|
|
## Implementation Details
|
|
- **Modules**: `src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Infrastructure/`, `src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Core/`
|
|
- **Key Classes**:
|
|
- `EvidenceSnapshotService` (`src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Infrastructure/Services/EvidenceSnapshotService.cs`) - creates point-in-time snapshots of evidence state
|
|
- `EvidenceBundleBuilder` (`src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Infrastructure/Builders/EvidenceBundleBuilder.cs`) - builds deterministic evidence bundles
|
|
- `EvidenceBundleRepository` (`src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Infrastructure/Repositories/EvidenceBundleRepository.cs`) - persists and retrieves evidence bundles
|
|
- `TimelineIndexerEvidenceTimelinePublisher` (`src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Infrastructure/Timeline/TimelineIndexerEvidenceTimelinePublisher.cs`) - publishes evidence events to timeline for audit trail
|
|
- `NullEvidenceTimelinePublisher` (`src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Infrastructure/Timeline/NullEvidenceTimelinePublisher.cs`) - no-op timeline publisher for testing
|
|
- `EvidenceSnapshotModels` (`src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Core/Domain/EvidenceSnapshotModels.cs`) - snapshot data models
|
|
- `EvidenceLockerOptions` (`src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Core/Configuration/EvidenceLockerOptions.cs`) - configuration options for evidence locker
|
|
- `EvidenceLockerMigrationRunner` (`src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Infrastructure/Db/EvidenceLockerMigrationRunner.cs`) - database migration runner
|
|
- **Interfaces**: `IEvidenceBundleBuilder`, `IEvidenceBundleRepository`, `IEvidenceTimelinePublisher`
|
|
- **Source**: Feature matrix scan
|
|
|
|
## E2E Test Plan
|
|
- [ ] Create an evidence bundle via `EvidenceBundleBuilder` and verify `EvidenceBundleRepository` persists it with deterministic content-addressed ID
|
|
- [ ] Create a snapshot via `EvidenceSnapshotService` and verify it captures the current evidence state accurately
|
|
- [ ] Verify `TimelineIndexerEvidenceTimelinePublisher` publishes evidence events to the timeline index
|
|
- [ ] Verify deterministic output: building the same evidence inputs twice produces identical bundle content and ID
|
|
- [ ] Verify `EvidenceLockerOptions` correctly configures storage backend, retention, and signing options
|
|
- [ ] Verify `EvidenceLockerMigrationRunner` applies database migrations on startup
|