45 lines
2.5 KiB
Markdown
45 lines
2.5 KiB
Markdown
# AI Preferences and Verbosity Settings UI
|
|
|
|
## Module
|
|
Web
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
User-facing settings page for configuring AI explanation verbosity levels, preferred explanation types, and AI feature visibility toggles. Persists preferences per user session.
|
|
|
|
## Implementation Details
|
|
- **Feature directory**: `src/Web/StellaOps.Web/src/app/features/advisory-ai/`
|
|
- **Components**:
|
|
- `autofix-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/autofix-button.component.ts`)
|
|
- `action-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/action-button.component.ts`)
|
|
- `chat-message` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat-message.component.ts`)
|
|
- `chat` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.component.ts`)
|
|
- `object-link-chip` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/object-link-chip.component.ts`)
|
|
- `evidence-drilldown` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/evidence-drilldown.component.ts`)
|
|
- `explain-button` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/explain-button.component.ts`)
|
|
- `explanation-panel` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/explanation-panel.component.ts`)
|
|
- `plain-language-toggle` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/plain-language-toggle.component.ts`)
|
|
- `pr-tracker` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/pr-tracker.component.ts`)
|
|
- `remediation-plan-preview` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/remediation-plan-preview.component.ts`)
|
|
- **Services**:
|
|
- `chat` (`src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.service.ts`)
|
|
- **Models**:
|
|
- `src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.models.ts`
|
|
- **Source**: SPRINT_20251226_020_FE_ai_ux_patterns.md
|
|
|
|
## 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 settings form loads with current values pre-populated
|
|
- [ ] Verify changes can be saved and persist across page reloads
|
|
- [ ] Verify validation prevents saving invalid configurations
|
|
- **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)
|