# Evidence Size Budgets with Retention Tiers ## Module __Libraries ## Status VERIFIED ## Description Implements evidence storage budgets with tiered retention (Hot/Warm/Cold/Archive), auto-pruning policies, and usage tracking. Distinct from "Evidence TTL and staleness policy" (expiration) and "DSSE Envelope Size Management" (single envelope sizing). This is a full lifecycle budget management system with compression tiers. ## Implementation Details - **EvidenceBudgetService**: `src/__Libraries/StellaOps.Evidence/EvidenceBudgetService.cs` -- multi-partial implementation: `.Usage.cs` (track per-tenant/per-type usage against budgets), `.Status.cs` (budget status reporting), `.Prune.cs` (auto-pruning based on retention policies) - **IEvidenceBudgetService**: `src/__Libraries/StellaOps.Evidence/IEvidenceBudgetService.cs` -- interface for budget management - **EvidenceBudget**: `src/__Libraries/StellaOps.Evidence/EvidenceBudget.cs` -- budget configuration model - **BudgetCheckResult/BudgetStatus**: `src/__Libraries/StellaOps.Evidence/BudgetCheckResult.cs`, `BudgetStatus.cs` -- budget check outcomes - **RetentionPolicy**: `src/__Libraries/StellaOps.Evidence/RetentionPolicy.cs` -- per-tier retention configuration - **RetentionTier**: `src/__Libraries/StellaOps.Evidence/RetentionTier.cs` -- tier enum (Hot/Warm/Cold/Archive) - **RetentionTierManager**: `src/__Libraries/StellaOps.Evidence/RetentionTierManager.cs` -- multi-partial: `.CurrentTier.cs` (determine current tier), `.Migrate.cs` (migrate between tiers), `.Compress.cs` (tier-specific compression), `.Audit.cs` (audit trail for migrations) - **IRetentionTierManager/IArchiveStorage**: `src/__Libraries/StellaOps.Evidence/IRetentionTierManager.cs`, `IArchiveStorage.cs` -- interfaces - **TierMigrationResult/MigratedItem**: `src/__Libraries/StellaOps.Evidence/TierMigrationResult.cs`, `MigratedItem.cs` -- migration tracking - **UsageStats/PruneResult**: `src/__Libraries/StellaOps.Evidence/UsageStats.cs`, `PruneResult.cs` -- reporting models - **EvidenceItem/EvidenceType**: `src/__Libraries/StellaOps.Evidence/EvidenceItem.cs`, `EvidenceType.cs` -- evidence models - **CompressionLevel/BudgetExceededAction**: `src/__Libraries/StellaOps.Evidence/CompressionLevel.cs`, `BudgetExceededAction.cs` -- configuration enums - **Validation**: `src/__Libraries/StellaOps.Evidence/` -- `EvidenceIndexValidator.cs`, `IEvidenceIndexValidator.cs`, `SchemaLoader.cs`, `ValidationError.cs`, `ValidationResult.cs` - **Source**: SPRINT_7000_0004_0002_evidence_size_budgets.md ## E2E Test Plan - [ ] Verify budget tracking reports accurate usage per tenant and evidence type - [ ] Test budget exceeded action triggers auto-pruning of oldest items - [ ] Verify retention tier migration (Hot -> Warm -> Cold -> Archive) with compression - [ ] Test RetentionTierManager applies tier-specific compression ratios - [ ] Verify PruneResult reports number of items pruned and space reclaimed - [ ] Test budget status API returns current usage vs. configured limits - [ ] Verify tier migration audit trail records all migrations - [ ] Test evidence index validation catches schema violations ## Verification - **Verified**: 2026-02-13T20:30:00Z - **Run**: run-001 - **Tier**: Tier 2d (Library/Internal) - **Verdict**: PASS