docs(03): create phase plan for Module System & Domaincheck
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>
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
---
|
||||
phase: 03-module-system-domaincheck
|
||||
plan: 04
|
||||
type: execute
|
||||
wave: 3
|
||||
depends_on: ["03-02", "03-03"]
|
||||
files_modified: []
|
||||
autonomous: false
|
||||
requirements:
|
||||
- MOD-01
|
||||
- MOD-02
|
||||
- MOD-03
|
||||
- MOD-04
|
||||
- DCHK-01
|
||||
- DCHK-02
|
||||
- DCHK-03
|
||||
must_haves:
|
||||
truths:
|
||||
- "All phase success criteria verified by human"
|
||||
- "Module system works end-to-end with domaincheck as proof"
|
||||
artifacts: []
|
||||
key_links: []
|
||||
---
|
||||
|
||||
<objective>
|
||||
Human verification that the complete module system and domaincheck module work as intended — admin activation, lazy loading, domain checking with colored results.
|
||||
|
||||
Purpose: Final validation before marking Phase 3 complete.
|
||||
Output: Human approval or issues list for gap closure.
|
||||
</objective>
|
||||
|
||||
<execution_context>
|
||||
@/home/vicolab/.claude/gsd-core/workflows/execute-plan.md
|
||||
@/home/vicolab/.claude/gsd-core/templates/summary.md
|
||||
</execution_context>
|
||||
|
||||
<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.md
|
||||
</context>
|
||||
|
||||
## Phase 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.
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="checkpoint:human-verify" gate="blocking">
|
||||
<name>Task 1: Verify Module System End-to-End</name>
|
||||
<what-built>
|
||||
Complete module system with SDK, database registry, per-tenant activation, lazy-loaded frontend, and working Domaincheck module.
|
||||
</what-built>
|
||||
<how-to-verify>
|
||||
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)
|
||||
</how-to-verify>
|
||||
<read_first>
|
||||
.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
|
||||
</read_first>
|
||||
<acceptance_criteria>
|
||||
- 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
|
||||
</acceptance_criteria>
|
||||
<resume-signal>Type "approved" or describe issues to fix</resume-signal>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<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>
|
||||
|
||||
<verification>
|
||||
Human confirms all 11 verification steps pass.
|
||||
</verification>
|
||||
|
||||
<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) | | |
|
||||
|
||||
<output>
|
||||
Create `.planning/phases/03-module-system-domaincheck/03-04-SUMMARY.md` when done
|
||||
</output>
|
||||
Reference in New Issue
Block a user