docs(01): research kernel planning
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
---
|
||||
phase: 01
|
||||
slug: framework-kernel-foundation
|
||||
status: draft
|
||||
nyquist_compliant: false
|
||||
wave_0_complete: false
|
||||
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 | Both 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 both 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 | Pending |
|
||||
| KERN-02 | unit + integration | Reordered Register/Boot trace, missing dependency, cycle and duplicate tests | Pending |
|
||||
| KERN-03 | compile + unit | Hello plugins satisfy optional interfaces; type-assertion discovery | Pending |
|
||||
| KERN-04 | integration | Stable codegen, `plugin:add`, `go.work`, built hello app boot | Pending |
|
||||
| KERN-05 | unit | Absent optional plugin returns false; present service lookup returns typed value | Pending |
|
||||
| KERN-06 | unit + race | Three dispatch modes, priority, stable ties, errors and panic recovery | Pending |
|
||||
| KERN-07 | unit + race | Two app contexts remain isolated; request values passed only via `context.Context` | Pending |
|
||||
| KERN-08 | unit | Interface service publish and typed lookup `(value, ok)` | Pending |
|
||||
| KERN-09 | integration | Temp app source edit triggers one debounced rebuild and restart, latency line captured | Pending |
|
||||
| CLI-01 | unit + integration | Plugin command discovery, injected output, non-TTY spinner/progress/table/prompt behavior | Pending |
|
||||
|
||||
## Wave 0 Requirements
|
||||
|
||||
- [ ] First implementation slice creates `examples/hello`, its `go.mod`, and a root `go.work` that names every example module.
|
||||
- [ ] First implementation slice adds smoke tests for generated app boot and the initial plugin command.
|
||||
- [ ] 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
|
||||
|
||||
- [ ] Every plan task has an automated verification or an explicit Wave 0 dependency.
|
||||
- [ ] No three consecutive implementation tasks lack automated feedback.
|
||||
- [ ] Root and nested example modules both run `go vet`, tests and race tests.
|
||||
- [ ] No watch-mode flags in CI commands.
|
||||
- [ ] Set `nyquist_compliant: true` after plan-task mapping is complete.
|
||||
|
||||
**Approval:** pending plan verification
|
||||
Reference in New Issue
Block a user