33 lines
1.6 KiB
Markdown
33 lines
1.6 KiB
Markdown
# VEX Conflict Studio (Visual VEX Conflict Resolution)
|
|
|
|
## Module
|
|
Web
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
Interactive studio for resolving VEX statement conflicts from multiple sources. Displays conflicting statements with trust weights, merge traces, and K4 lattice visualization. Users can filter/sort conflicts, view merge explanations (trust_weight, freshness, lattice_position), apply manual overrides via a dialog, and remove overrides.
|
|
|
|
## Implementation Details
|
|
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/vex-studio/`
|
|
- **Components**:
|
|
- `vex-merge-panel` (`src/Web/StellaOps.Web/src/app/features/vex-studio/components/vex-merge-panel/vex-merge-panel.component.ts`)
|
|
- `override-dialog` (`src/Web/StellaOps.Web/src/app/features/vex-studio/override-dialog/override-dialog.component.ts`)
|
|
- `vex-conflict-studio` (`src/Web/StellaOps.Web/src/app/features/vex-studio/vex-conflict-studio.component.ts`)
|
|
- **Source**: Feature matrix scan
|
|
|
|
## E2E Test Plan
|
|
- **Setup**:
|
|
- [ ] Log in with a user that has appropriate permissions
|
|
- [ ] Navigate to `/triage/artifacts/:artifactId`
|
|
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
|
- **Core verification**:
|
|
- [ ] Verify the editor/studio loads with editable content or empty template
|
|
- [ ] Verify changes can be saved and persisted
|
|
- [ ] Verify validation errors are displayed for invalid input
|
|
- **Edge cases**:
|
|
- [ ] Verify graceful handling when backend API is unavailable (error state)
|
|
- [ ] Verify responsive layout at different viewport sizes
|
|
- [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)
|