--- phase: 01 slug: framework-kernel-foundation status: passing nyquist_compliant: true wave_0_complete: true created: 2026-09-16 --- # Phase 1 — Validation Strategy ## Test Infrastructure | Property | Value | |---|---| | Framework | `go test` (Go 1.27.0) | | Config file | No test harness yet; first implementation slice adds Go tests | | Quick run | `go vet ./... && go test ./...` from repo root, then from `examples/hello` once created | | Full suite | Framework, hello app and three hello plugin modules: `go vet ./...`, `go test ./...`, `go test -race ./...`; generated binary integration | | Estimated runtime | Measure after dependencies are cached; no assumed threshold | ## Sampling Rate - After each implementation task commit, run root `go vet ./... && go test ./...`; run the same from `examples/hello` after it exists. - After each plan wave, run both module checks plus the relevant built-binary smoke. - Before verify-work, run race tests in all five modules and an end-to-end `summer build`/hello invocation. - Record actual feedback latency and single-plugin rebuild latency; no fixed performance promise has been set. ## Per-Requirement Verification Map | Requirement | Test type | Automated command or assertion | Initial status | |---|---|---|---| | KERN-01 | unit + integration | Config precedence and typed decode tests; hello binary prints env-overlay value | Passed | | KERN-02 | unit + integration | Reordered Register/Boot trace, missing dependency, cycle and duplicate tests | Passed | | KERN-03 | compile + unit | Hello plugins satisfy optional interfaces; type-assertion discovery | Passed | | KERN-04 | integration | Stable codegen, `plugin:add`, `go.work`, built hello app boot | Passed | | KERN-05 | unit | Absent optional plugin returns false; present service lookup returns typed value | Passed | | KERN-06 | unit + race | Three dispatch modes, priority, stable ties, errors and panic recovery | Passed | | KERN-07 | unit + race | Two app contexts remain isolated; request values passed only via `context.Context` | Passed | | KERN-08 | unit | Interface service publish and typed lookup `(value, ok)` | Passed | | KERN-09 | integration | Temp app source edit triggers one debounced rebuild and restart, latency line captured | Passed | | CLI-01 | unit + integration | Plugin command discovery, injected output, non-TTY spinner/progress/table/prompt behavior | Passed | ## Per-Task Verification Map | Task ID | Plan | Wave | Requirements | Automated check | Status | |---|---|---|---|---|---| | 01-01-01 | 01 | 1 | KERN-01/02/03/04, CLI-01 | Root and hello `go vet ./...` + `go test ./...` | Passed | | 01-01-02 | 01 | 1 | KERN-04, CLI-01 | Same checks plus `summer build` and built hello command | Passed | | 01-02-01 | 02 | 2 | KERN-01/03 | `go test ./compass ./pact`; hello tests | Passed | | 01-02-02 | 02 | 2 | KERN-02/03/05/08 | `go test ./party ./backpack ./pact`; hello tests | Passed | | 01-02-03 | 02 | 2 | KERN-06/07 | `go test ./festival ./towel ./backpack`; hello tests | Passed | | 01-03-01 | 03 | 3 | KERN-04 | `go test ./internal/build ./cmd/summer`; hello tests | Passed | | 01-03-02 | 03 | 3 | CLI-01 | `go test ./bonfire ./cmd/summer`; hello tests | Passed | | 01-03-03 | 03 | 3 | KERN-09 | `go test ./internal/dev ./internal/build ./cmd/summer`; hello tests | Passed | | 01-04-01 | 04 | 4 | KERN-01/02/03/05/06/07/08 | `go test -race ./compass ./party ./backpack ./festival ./towel ./pact` | Passed | | 01-04-02 | 04 | 4 | KERN-04/09, CLI-01 | `bash scripts/check-phase1.sh` | Passed | ## Wave 0 Requirements - [x] First implementation slice creates `examples/hello`, its `go.mod`, and a root `go.work` that names every example module. - [x] First implementation slice adds smoke tests for generated app boot and the initial plugin command. - [x] Final plan expands unit coverage; it does not substitute for executable checks during earlier work. ## Manual-Only Verifications | Behavior | Requirement | Why manual | Instructions | |---|---|---|---| | Interactive terminal rendering | CLI-01 | Terminal appearance varies by terminal emulator | Run hello command in a TTY; inspect spinner/progress/table and prompts. Automated non-TTY assertions remain required. | | Rebuild feel | KERN-09 | Human experience complements measured latency | Edit one hello plugin file under `summer dev`; observe restart and printed elapsed time. | ## Validation Sign-Off - [x] Every plan task has an automated verification or an explicit Wave 0 dependency. - [x] No three consecutive implementation tasks lack automated feedback. - [x] Root, hello app and three plugin modules run `go vet`, tests and race tests. - [x] No watch-mode flags in CI commands. - [x] Set `nyquist_compliant: true` after all mapped checks exist and pass. **Approval:** `bash scripts/check-phase1.sh` passed 2026-09-16 (root, hello app, base, greeter, optional; built `./bin/hello greeter:hello`). Manual TTY rendering remains optional.