save checkpoint: save features
This commit is contained in:
51
docs/features/checked/web/frontend-plugin-system.md
Normal file
51
docs/features/checked/web/frontend-plugin-system.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Frontend Plugin System (Discovery, Sandbox, Extension Slots)
|
||||
|
||||
## Module
|
||||
Web
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
Frontend plugin architecture with plugin discovery service, dynamic module loader, sandboxed execution, a registry for managing plugin lifecycle, tenant-scoped plugin configuration, navigation integration for plugin-contributed menu items, and an extension slot component allowing plugins to inject UI at designated extension points.
|
||||
|
||||
## Implementation Details
|
||||
- **Feature directory**: `src/Web/StellaOps.Web/src/app/core/plugins/`
|
||||
- **Components**:
|
||||
- `extension-slot` (`src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.component.ts`)
|
||||
- **Services**:
|
||||
- `plugin-discovery` (`src/Web/StellaOps.Web/src/app/core/plugins/discovery/plugin-discovery.service.ts`)
|
||||
- `extension-slot` (`src/Web/StellaOps.Web/src/app/core/plugins/extension-slots/extension-slot.service.ts`)
|
||||
- `plugin-loader` (`src/Web/StellaOps.Web/src/app/core/plugins/loader/plugin-loader.service.ts`)
|
||||
- `plugin-manifest-loader` (`src/Web/StellaOps.Web/src/app/core/plugins/loader/plugin-manifest-loader.service.ts`)
|
||||
- `navigation-plugin` (`src/Web/StellaOps.Web/src/app/core/plugins/navigation/navigation-plugin.service.ts`)
|
||||
- `plugin-registry` (`src/Web/StellaOps.Web/src/app/core/plugins/registry/plugin-registry.service.ts`)
|
||||
- `plugin-sandbox` (`src/Web/StellaOps.Web/src/app/core/plugins/sandbox/plugin-sandbox.service.ts`)
|
||||
- `tenant-plugin-config` (`src/Web/StellaOps.Web/src/app/core/plugins/tenant/tenant-plugin-config.service.ts`)
|
||||
- **Models**:
|
||||
- `src/Web/StellaOps.Web/src/app/core/plugins/models/extension-slot.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/plugins/models/plugin-lifecycle.model.ts`
|
||||
- `src/Web/StellaOps.Web/src/app/core/plugins/models/plugin-manifest.model.ts`
|
||||
- **Source**: Feature matrix scan
|
||||
|
||||
## E2E Test Plan
|
||||
- **Setup**:
|
||||
- [ ] Log in with a user that has appropriate permissions
|
||||
- [ ] Navigate to the relevant page/section where this feature appears
|
||||
- [ ] Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
|
||||
- **Core verification**:
|
||||
- [ ] Verify the component renders correctly with sample data
|
||||
- [ ] Verify interactive elements respond to user input
|
||||
- [ ] Verify data is fetched and displayed from the correct API endpoints
|
||||
- **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)
|
||||
|
||||
## Verification
|
||||
- Run: `docs/qa/feature-checks/runs/web/frontend-plugin-system/run-001/`
|
||||
- Tier 0 (source): pass (`tier0-source-check.json`)
|
||||
- Tier 1 (build/tests): pass (`tier1-build-check.json`)
|
||||
- Tier 2 (behavior): pass (`tier2-e2e-check.json`)
|
||||
- Verified on (UTC): 2026-02-11
|
||||
|
||||
Reference in New Issue
Block a user