89f559ce62
4 plans across 3 waves: SDK + registry (W1), Domaincheck module + lazy loading (W2), visual verification (W3). Covers MOD-01..04, DCHK-01..03. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.7 KiB
4.7 KiB
phase, plan, type, wave, depends_on, files_modified, autonomous, requirements, must_haves
| phase | plan | type | wave | depends_on | files_modified | autonomous | requirements | must_haves | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 03-module-system-domaincheck | 04 | execute | 3 |
|
false |
|
|
Purpose: Final validation before marking Phase 3 complete. Output: Human approval or issues list for gap closure.
<execution_context> @/home/vicolab/.claude/gsd-core/workflows/execute-plan.md @/home/vicolab/.claude/gsd-core/templates/summary.md </execution_context>
@.planning/phases/03-module-system-domaincheck/03-01-SUMMARY.md @.planning/phases/03-module-system-domaincheck/03-02-SUMMARY.md @.planning/phases/03-module-system-domaincheck/03-03-SUMMARY.mdPhase Goal
As a platform admin, I want to discover, register, and activate modules dynamically, so that tenants get access to new functionality without application restarts.
Task 1: Verify Module System End-to-End Complete module system with SDK, database registry, per-tenant activation, lazy-loaded frontend, and working Domaincheck module. 1. Start the Docker Compose stack: docker compose up -d 2. Log in as Admin user 3. Verify module registry API: - GET http://localhost:3001/modules — should show domaincheck module in list - GET http://localhost:3001/modules/active — should show activated modules for tenant 4. If domaincheck not yet activated, activate it: - POST http://localhost:3001/modules/{domaincheck-id}/activate 5. Navigate to http://localhost:3000/modules/domain-tools - Should see category page with Domaincheck card (icon, name, description) - Card should look good as a standalone module in the grid (D-05a) 6. Click "Open" on the Domaincheck card (or navigate to /modules/domain-tools/domaincheck) - Should see expanded view with input field (D-05b) 7. Enter "google" in the domain input and click "Check" - Should see results for google.de, google.com, google.net, google.org - google.com and google.de should show RED "Registered" badge (D-01) 8. Enter a clearly available domain (e.g. "xyzabc123randomtest") and check - Some TLDs should show GREEN "Available" badge 9. Verify i18n: switch language to English - All labels should change to English equivalents 10. Verify theme: switch to dark mode - Module UI should respect dark theme 11. Deactivate the module: - POST http://localhost:3001/modules/{domaincheck-id}/deactivate - Refresh /modules/domain-tools — domaincheck card should disappear - Direct access to /modules/domain-tools/domaincheck should be blocked (403 from API) .planning/phases/03-module-system-domaincheck/03-01-SUMMARY.md, .planning/phases/03-module-system-domaincheck/03-02-SUMMARY.md, .planning/phases/03-module-system-domaincheck/03-03-SUMMARY.md - Module registry shows domaincheck in database - Admin can activate/deactivate without restart (MOD-03) - Category page renders with lazy-loaded cards (MOD-04) - Domaincheck accepts input and returns colored results (DCHK-01, DCHK-02, DCHK-03) - Deactivated module is inaccessible - i18n and theming work correctly Type "approved" or describe issues to fix<threat_model>
Trust Boundaries
| Boundary | Description |
|---|---|
| N/A | Verification-only plan, no new code |
STRIDE Threat Register
| Threat ID | Category | Component | Disposition | Mitigation Plan |
|---|---|---|---|---|
| T-03-12 | N/A | N/A | accept | No new attack surface — verification only |
| </threat_model> |
<success_criteria>
- Human types "approved" after verifying all success criteria from Phase 3 roadmap
- Or provides specific issues that will generate gap closure plans </success_criteria>
Artifacts this phase produces
| Symbol | Location | Type |
|---|---|---|
| (none — verification only) |