39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
# False-negative drift (FN-Drift) tracking and metrics
|
|
|
|
## Module
|
|
Scanner
|
|
|
|
## Status
|
|
VERIFIED
|
|
|
|
## Description
|
|
FN-Drift calculation, metrics export, and classification change history tracking with dedicated Postgres migration.
|
|
|
|
## Implementation Details
|
|
- **FN-Drift Calculation**:
|
|
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Services/FnDriftCalculator.cs` - Calculates false-negative drift metrics
|
|
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Services/FnDriftMetricsExporter.cs` - Exports FN-Drift metrics for telemetry
|
|
- **Classification Change Tracking**:
|
|
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Services/ClassificationChangeTracker.cs` - Tracks classification changes over time
|
|
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Models/ClassificationChangeModels.cs` - Change models
|
|
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Repositories/IClassificationHistoryRepository.cs` - Repository interface
|
|
- `src/Scanner/__Libraries/StellaOps.Scanner.Storage/Repositories/ClassificationHistoryRepository.cs` - PostgreSQL repository
|
|
|
|
## E2E Test Plan
|
|
- [ ] Run multiple scans over time and verify `FnDriftCalculator` computes drift metrics based on classification changes
|
|
- [ ] Verify classification change history is persisted and queryable
|
|
- [ ] Verify FN-Drift metrics are exported to the telemetry system
|
|
- [ ] Verify classification changes (e.g., vulnerable -> not_affected -> vulnerable) are tracked with timestamps
|
|
- [ ] Verify drift metrics accurately reflect the rate of false-negative changes over time
|
|
|
|
---
|
|
|
|
## Verification
|
|
|
|
| Check | Result |
|
|
|-------|--------|
|
|
| Tier 0 - Source files exist | PASS |
|
|
| Tier 1 - Build + code review | PASS |
|
|
| Tier 2 - Integration tests | PASS |
|
|
| Verified | 2026-02-13T18:10:00Z |
|