Files
git.stella-ops.org/docs/features/unchecked/evidencelocker/evidence-locker-with-deterministic-bundles.md

2.8 KiB

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