56 lines
1.7 KiB
Markdown
56 lines
1.7 KiB
Markdown
# Feature Specification: Drift MVP
|
|
|
|
**Feature Branch**: `feat/044-drift-mvp`
|
|
**Created**: 2026-01-07
|
|
**Status**: Draft
|
|
|
|
## Purpose
|
|
|
|
Detect and report drift between expected and observed states using inventory and run metadata.
|
|
|
|
This MVP focuses on reporting and triage, not automatic remediation.
|
|
|
|
## User Scenarios & Testing
|
|
|
|
### Scenario 1: View drift summary
|
|
- Given inventory sync has run at least twice
|
|
- When the admin opens Drift
|
|
- Then they see a summary of changes since the last baseline
|
|
|
|
### Scenario 2: Drill into a drift finding
|
|
- Given a drift finding exists
|
|
- When the admin opens the finding
|
|
- Then they see what changed, when, and which run observed it
|
|
|
|
### Scenario 3: Acknowledge/triage
|
|
- Given a drift finding exists
|
|
- When the admin marks it acknowledged
|
|
- Then it is hidden from “new” lists but remains auditable
|
|
|
|
## Functional Requirements
|
|
|
|
- FR1: Define a baseline concept (e.g., last completed run for a selection scope).
|
|
- FR2: Produce drift findings for adds/removals/metadata changes based on inventory/run state.
|
|
- FR3: Provide drift UI with summary and details.
|
|
- FR4: Allow acknowledgement/triage states.
|
|
|
|
## Non-Functional Requirements
|
|
|
|
- NFR1: Drift generation must be deterministic for the same baseline and scope.
|
|
- NFR2: Drift must remain tenant-scoped and safe to display.
|
|
|
|
## Success Criteria
|
|
|
|
- SC1: Admins can identify drift across supported types in under 3 minutes.
|
|
- SC2: Drift results are consistent across repeated generation for the same baseline.
|
|
|
|
## Out of Scope
|
|
|
|
- Automatic revert/promotion.
|
|
|
|
## Related Specs
|
|
|
|
- Program: `specs/039-inventory-program/spec.md`
|
|
- Core: `specs/040-inventory-core/spec.md`
|
|
- Compare: `specs/043-cross-tenant-compare-and-promotion/spec.md`
|