docs(10.2-02): complete framework onboarding plan

This commit is contained in:
Jakub Zych
2026-09-28 13:23:50 +02:00
parent 4c7d4cc4b9
commit 957625e00e
3 changed files with 147 additions and 10 deletions

View File

@@ -450,7 +450,7 @@ Plans:
**Requirements**: TBD
**Depends on:** Phase 10
**Repos:** summercms.go, fonoteka.go
**Plans:** 1/2 plans executed
**Plans:** 2/2 plans executed
Plans:
@@ -458,7 +458,7 @@ Plans:
- [x] 10.2-01-PLAN.md — Nest the 18 beach packages under modules/ and rewrite every importer
**Wave 2** *(blocked on Wave 1 completion)*
- [ ] 10.2-02-PLAN.md — Per-module READMEs, root run docs, and the hygiene/unit-test gate
- [x] 10.2-02-PLAN.md — Per-module READMEs, root run docs, and the hygiene/unit-test gate
### Phase 10.1: Runtime admin extension point (INSERTED)

View File

@@ -3,17 +3,17 @@ gsd_state_version: "1.0"
milestone: v1.0
current_phase: "10.2"
current_phase_name: Nest framework packages under modules and write run docs
status: executing
stopped_at: Completed 10.2-01-PLAN.md
last_updated: "2026-09-28T11:04:57.716Z"
status: verifying
stopped_at: Completed 10.2-02-PLAN.md
last_updated: "2026-09-28T11:20:40.805Z"
last_activity: 2026-09-28
last_activity_desc: Phase 10.2 execution started
state_head: 1c2f44ae83fed3745d9934a1267dfcacb967b9a9
state_head: 4c7d4cc4b9c92717e920550731b2721441198c24
progress:
total_phases: 17
completed_phases: 9
total_plans: 74
completed_plans: 73
completed_plans: 74
milestone_name: milestone
---
@@ -30,7 +30,7 @@ See: .planning/PROJECT.md (updated 2026-09-16)
Phase: 10.2 (Nest framework packages under modules and write run docs) — EXECUTING
Plan: 2 of 2
Status: Ready to execute
Status: Phase complete — ready for verification
Last activity: 2026-09-28 — Phase 10.2 execution started
Progress: [██████░░░░] 60%
@@ -127,6 +127,7 @@ Progress: [██████░░░░] 60%
| Phase 10 P04 | 21min | 2 tasks | 42 files |
| Phase 10 P05 | 53 min | 3 tasks | 76 files |
| Phase 10.2 P01 | 10h56m | 3 tasks | 404 files |
| Phase 10.2 P02 | 14m | 3 tasks | 20 files |
## Accumulated Context
@@ -340,6 +341,8 @@ Recent decisions affecting current work:
- [Phase 10]: Field controls import components/form/control.ts; registry.ts re-exports it (breaks a registry/control import cycle)
- [Phase 10]: Tailwind skips admin/tests so test code never changes boardwalk/dist
- [Phase 10]: Framework tests use neutral acme names; the hygiene stage refuses application names in summercms.go admin, boardwalk, cabana and phrasebook
- [Phase 10.2]: Kept framework onboarding in the root README and application setup in fonoteka.go, preserving the two-repository boundary.
- [Phase 10.2]: Made the gate scan tracked Go, template, and shell files in both repositories while excluding itself and planning artifacts.
### Pending Todos
@@ -369,6 +372,6 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity
Last session: 2026-09-28T11:04:57.413Z
Stopped at: Completed 10.2-01-PLAN.md
Last session: 2026-09-28T11:20:40.454Z
Stopped at: Completed 10.2-02-PLAN.md
Resume file: None

View File

@@ -0,0 +1,134 @@
---
phase: 10.2-nest-framework-packages-under-modules-and-write-run-docs
plan: "02"
subsystem: framework-onboarding
tags: [go, documentation, modules, hygiene-gate, testing]
requires:
- phase: 10.2-01
provides: eighteen framework packages nested under modules/ with migrated consumers
provides:
- concise README onboarding for every nested framework module
- accurate framework and Fonoteka two-repository run documentation
- a fail-closed layout and import hygiene gate with two-repository Go validation
affects: [11, framework-onboarding, release-validation]
actuals:
tokens: 2921
tasks: 3
commits: 3
commits: 3
plan_head_before: 3035ea1749be1defd7be6ea24f4214847fe5acfd
plan_head_after: 4c7d4cc4b9c92717e920550731b2721441198c24
tech-stack:
added: []
patterns:
- Module documentation names a real public entry point and current consumers in one paragraph.
- The Phase 10.2 gate uses tracked source-file scans and scratch plants to prove each detector fails closed.
key-files:
created:
- modules/*/README.md
- scripts/check-phase10.2.sh
modified:
- README.md
key-decisions:
- "Kept framework onboarding in the root README and application setup in fonoteka.go, preserving the two-repository boundary."
- "Made the gate scan tracked Go, template, and shell files in both repositories while excluding itself and planning artifacts."
requirements-completed: []
coverage:
- id: D-07
description: Eighteen concise code-derived module README files name package entry points and consumers.
verification:
- kind: other
ref: "README existence, line-count, and D-0 scans"
status: pass
human_judgment: true
rationale: "Automation proves file shape and named identifiers; concise onboarding quality remains editorial judgment."
- id: D-08
description: Root README accurately explains the framework/application split, admin login recreation, modules, and guarded Phase 15 cutover.
verification:
- kind: other
ref: "README required-string and stale-status checks"
status: pass
human_judgment: true
rationale: "Automation proves required facts are present; operational clarity remains editorial judgment."
- id: gate
description: The 10.2 gate refuses layout, import, README, and stale-status regressions and runs both repositories' Go validation.
verification:
- kind: integration
ref: "scripts/check-phase10.2.sh --self-test && --all"
status: pass
human_judgment: false
duration: 14m
completed: 2026-09-28
status: complete
---
# Phase 10.2 Plan 02: Framework onboarding and hygiene gate Summary
**Eighteen nested framework modules now have code-derived onboarding notes, while the root README documents the Fonoteka admin path and a fail-closed gate protects the new layout.**
## Accomplishments
- Added one short README for every framework module, each naming a real exported entry point and current consumer context.
- Replaced the stale root README with an accurate two-repository onboarding flow, local admin-login recreation, and Phase 15 cutover boundary.
- Added `check-phase10.2.sh`, whose scratch self-test proves four hygiene detectors reject regressions before it runs the full framework and Fonoteka vet/test matrix.
## Task Commits
1. **Task 1: Write module READMEs.** `680a61c` (docs)
2. **Task 2: Replace root onboarding README.** `aca670b` (docs)
3. **Task 3: Add hygiene and validation gate.** `4c7d4cc` (test)
## Files Created/Modified
- `modules/*/README.md` — concise onboarding for all eighteen framework packages.
- `README.md` — framework-only, two-repository, admin-login, cutover, and module guidance.
- `scripts/check-phase10.2.sh` — fail-closed hygiene detector and complete two-repository Go gate.
## Decisions Made
- Kept the root README focused on framework onboarding, and referred configuration, migrations, and serving to the Fonoteka application repository.
- Used dynamically assembled import needles with tracked-file scans, so the gate catches root-form imports without matching its own implementation or historical planning files.
## Deviations from Plan
### Auto-fixed Issues
**1. [Rule 1 - Bug] Corrected fail-open detector control flow in the initial gate implementation.**
- **Found during:** Task 3
- **Issue:** Later successful loop or helper calls could mask a prior detector failure during scratch self-testing.
- **Fix:** Each detector and the composed hygiene stage now returns immediately when a violation is found.
- **Files modified:** `scripts/check-phase10.2.sh`
- **Verification:** `scripts/check-phase10.2.sh --self-test` rejects each planted violation and exits 0 on the clean scratch tree.
- **Committed in:** `4c7d4cc`
**Total deviations:** 1 auto-fixed (Rule 1).
## Issues Encountered
- The restricted sandbox could not write the shared Go build cache or Git index lock. The unchanged validation and commit commands were rerun with the required broader permissions and passed.
## Verification
- Module README existence, line-count, public-entry-point, and no-planning-prose checks: pass.
- Root README required fact and stale-status checks: pass.
- `scripts/check-phase10.2.sh --self-test`: pass.
- One-off temporary root `backpack/` directory: correctly refused by `--layout` and removed.
- `scripts/check-phase10.2.sh --all`: pass, including `go vet ./...` and `go test ./...` in both repositories with the declared Fonoteka plugin patterns.
## Next Phase Readiness
Phase 11 can rely on nested module paths, newcomer run documentation, and a focused regression gate. No blockers remain.
## Self-Check: PASSED
- Required module READMEs, root README, gate, and summary file exist.
- Task commits `680a61c`, `aca670b`, and `4c7d4cc` exist.
- The complete `--self-test` and `--all` validation passed after summary creation.