semi implemented and features implemented save checkpoint

This commit is contained in:
master
2026-02-08 18:00:49 +02:00
parent 04360dff63
commit 1bf6bbf395
20895 changed files with 716795 additions and 64 deletions

View File

@@ -0,0 +1,28 @@
# Model Version Change Detection
## Module
Scanner
## Status
IMPLEMENTED
## Description
Change detection for EPSS model version updates that suppresses noisy deltas when the underlying model changes, preventing false signal cascades.
## Implementation Details
- **EPSS Model Version Tracking**:
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Epss/EpssCsvStreamParser.cs` - `EpssCsvStreamParser` detects model version tags (e.g., `v2024.01.15`) from EPSS CSV data feeds and tracks version changes
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Epss/EpssExplainHashCalculator.cs` - `EpssExplainHashCalculator` includes `ModelVersion` in explain hash calculations to distinguish model-driven vs real-world score changes
- **Change Detection**:
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Epss/EpssChangeDetector.cs` - `EpssChangeDetector` detects score changes between EPSS updates
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Epss/EpssChangeRecord.cs` - `EpssChangeRecord` model for recording detected changes with model version context
- **Events**:
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Epss/Events/EpssUpdatedEvent.cs` - `EpssUpdatedEvent` includes `ModelVersionTag` to flag model-version-driven updates
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Epss/EpssReplayService.cs` - `EpssReplayService` replays EPSS data with model version awareness for noise suppression
## E2E Test Plan
- [ ] Ingest two EPSS CSV feeds with the same model version and verify genuine score changes are detected
- [ ] Ingest an EPSS CSV feed with a new model version tag and verify the model version change is detected
- [ ] Verify that when a model version changes, score deltas are flagged as model-driven rather than generating false signal cascades
- [ ] Verify the explain hash includes model version so that model-change deltas are distinguishable from real-world changes
- [ ] Verify the replay service correctly handles model version transitions without generating spurious change events