fix(10.2): revise plans based on checker feedback
This commit is contained in:
@@ -54,9 +54,9 @@ must_haves:
|
||||
- path: internal/build/stubs/plugin.tmpl
|
||||
provides: generated plugin imports under the modules/ prefix
|
||||
key_links:
|
||||
- from: backpack/app.go
|
||||
- from: modules/backpack/app.go
|
||||
to: modules/festival
|
||||
via: tracer importer rewritten to git.golem15.com/golem15/summercms/modules/festival before the remaining 17 move
|
||||
via: backpack's final post-migration location imports festival through git.golem15.com/golem15/summercms/modules/festival
|
||||
pattern: modules/festival
|
||||
- from: scripts/check-admin-openapi.sh
|
||||
to: modules/cabana
|
||||
@@ -149,16 +149,17 @@ Rewrite only festival importers to git.golem15.com/golem15/summercms/modules/fes
|
||||
|
||||
Do not expand to the other 17 packages in this task.</action>
|
||||
<verify>
|
||||
<automated>test -d modules/festival && test ! -d festival && go test ./modules/festival -count=1 && go test ./backpack -run '^TestEventBusesAreAppScoped$' -count=1 && (cd ../fonoteka.go && go test ./plugins/golem15/user -run '^TestGetApiArrayEventMerge$' -count=1)</automated>
|
||||
<fails_when>non-zero exit; festival still exists at repo root; modules/festival missing; any go test line shows FAIL, "no tests to run", or lacks "--- PASS: TestFireRunsAllListenersAndJoinsErrors" / "--- PASS: TestEventBusesAreAppScoped" / "--- PASS: TestGetApiArrayEventMerge"</fails_when>
|
||||
<automated>test -d modules/festival && test ! -d festival && go test ./modules/festival -count=1 && go test ./backpack -run '^TestEventBusesAreAppScoped$' -count=1 && go test -run '^$' ./examples/hello/... ./examples/hello/plugins/base/... ./examples/hello/plugins/greeter/... ./examples/hello/plugins/optional/... && (cd ../fonoteka.go && go test ./plugins/golem15/user -run '^TestGetApiArrayEventMerge$' -count=1)</automated>
|
||||
<fails_when>non-zero exit; festival still exists at repo root; modules/festival missing; a named-test command shows FAIL or lacks its requested test; the compile-only examples command fails to build any workspace module</fails_when>
|
||||
</verify>
|
||||
<acceptance_criteria>
|
||||
- `test -d modules/festival && test ! -d festival` succeeds.
|
||||
- `go test ./modules/festival -count=1` prints PASS including TestFireRunsAllListenersAndJoinsErrors.
|
||||
- `go test -run '^$' ./examples/hello/... ./examples/hello/plugins/base/... ./examples/hello/plugins/greeter/... ./examples/hello/plugins/optional/...` exits 0, compiling the greeter importer in its nested module context without depending on unrelated example runtime tests.
|
||||
- `grep -F 'git.golem15.com/golem15/summercms/modules/festival' backpack/app.go examples/hello/plugins/greeter/plugin.go ../fonoteka.go/plugins/golem15/user/classes/events_test.go` prints a hit in each of those three files.
|
||||
- A search of tracked `*.go` for a festival import that is not under `/modules/` prints no production importer (the three files above use the modules/ form).
|
||||
</acceptance_criteria>
|
||||
<done>festival lives at modules/festival, its three importers compile against the new path, and the moved package plus one importer in each repo pass named tests.</done>
|
||||
<done>festival lives at modules/festival, its three importers compile against the new path in the framework, examples workspace, and fonoteka contexts, and the moved package plus named importer tests pass.</done>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
@@ -198,17 +199,18 @@ Do not remap names onto Winter system/backend/cms (D-06). Do not rebuild admin d
|
||||
<name>Task 3: go vet and go test both repositories including fonoteka plugin modules</name>
|
||||
<files>modules/**, ../fonoteka.go/plugins/**</files>
|
||||
<read_first>.planning/todos/pending/nest-framework-packages-under-modules.md; go.mod; ../fonoteka.go/go.mod; ../fonoteka.go/plugins/golem15/fonoteka/go.mod; ../fonoteka.go/plugins/golem15/user/go.mod</read_first>
|
||||
<action>Per D-05, from summercms.go run go vet ./... and go test ./.... From ../fonoteka.go run go vet ./... ./plugins/golem15/fonoteka/... ./plugins/golem15/user/... and go test ./... ./plugins/golem15/fonoteka/... ./plugins/golem15/user/... (same plugin-module set scripts/check-phase10.sh already uses). Do not treat a skipped PostgreSQL test as a pass for a required package that should run. Do not add dependencies. If either repo fails on an old import or a stale script path, fix the leftover from Task 2 and re-run; do not weaken tests.</action>
|
||||
<action>Per D-05, from summercms.go run go vet ./... and go test ./.... Explicitly vet the examples/hello root plus base, greeter, and optional nested modules, then compile all four module contexts with go test -run '^$'; the root module wildcard does not traverse nested Go modules, and the compile-only run verifies import resolution without coupling this migration to unrelated example runtime assertions. From ../fonoteka.go run go vet ./... ./plugins/golem15/fonoteka/... ./plugins/golem15/user/... and go test ./... ./plugins/golem15/fonoteka/... ./plugins/golem15/user/... (same plugin-module set scripts/check-phase10.sh already uses). Do not treat a skipped PostgreSQL test as a pass for a required package that should run. Do not add dependencies. If either repo fails on an old import or a stale script path, fix the leftover from Task 2 and re-run; do not weaken tests.</action>
|
||||
<verify>
|
||||
<automated>go vet ./... && go test ./... && (cd ../fonoteka.go && go vet ./... ./plugins/golem15/fonoteka/... ./plugins/golem15/user/... && go test ./... ./plugins/golem15/fonoteka/... ./plugins/golem15/user/...)</automated>
|
||||
<automated>go vet ./... && go test ./... && go vet ./examples/hello/... ./examples/hello/plugins/base/... ./examples/hello/plugins/greeter/... ./examples/hello/plugins/optional/... && go test -run '^$' ./examples/hello/... ./examples/hello/plugins/base/... ./examples/hello/plugins/greeter/... ./examples/hello/plugins/optional/... && (cd ../fonoteka.go && go vet ./... ./plugins/golem15/fonoteka/... ./plugins/golem15/user/... && go test ./... ./plugins/golem15/fonoteka/... ./plugins/golem15/user/...)</automated>
|
||||
<fails_when>non-zero exit; any package FAIL; output contains "build failed" or "no required module provides package" for a beach import</fails_when>
|
||||
</verify>
|
||||
<acceptance_criteria>
|
||||
- Both repository commands exit 0.
|
||||
- The examples/hello root and base, greeter, and optional nested modules all exit 0 under `go vet` and compile-only `go test -run '^$'`.
|
||||
- `test ! -d compass && test -d modules/compass` succeeds (spot-check a non-tracer package).
|
||||
- A `git grep` of tracked `*.go` `*.tmpl` `*.sh` in both repos (exclude `.planning/`) for `git.golem15.com/golem15/summercms/` followed immediately by a beach name with no `modules/` segment prints nothing.
|
||||
</acceptance_criteria>
|
||||
<done>Both repos vet and test green on the nested import paths, including fonoteka plugin modules.</done>
|
||||
<done>Both repos vet and test green on the nested import paths, every examples/hello module vets and compiles, and fonoteka plugin modules are included.</done>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
@@ -235,13 +237,13 @@ Do not remap names onto Winter system/backend/cms (D-06). Do not rebuild admin d
|
||||
</threat_model>
|
||||
|
||||
<verification>
|
||||
After Task 1, the festival slice is green. After Task 2, root ls has no beach dirs and the listed scripts contain the nested path literals. After Task 3, `go vet ./... && go test ./...` in summercms.go and the matching pair plus plugin modules in ../fonoteka.go exit 0.
|
||||
After Task 1, the festival slice is green in the framework, examples/hello greeter module, and fonoteka importer contexts. After Task 2, root ls has no beach dirs and the listed scripts contain the nested path literals. After Task 3, `go vet ./... && go test ./...` in summercms.go, explicit vet plus compile-only test across every examples/hello workspace module, and the matching pair plus plugin modules in ../fonoteka.go exit 0.
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
- `ls` at summercms.go root shows modules/, cmd/, admin/, examples/, internal/, scripts/ and none of the 18 beach directories.
|
||||
- No tracked .go/.tmpl/.sh importer still uses the root-form beach import.
|
||||
- Both repos test green. Scripts that later gates run now point at modules/.
|
||||
- Both repos test green, and every examples/hello module vets and compiles. Scripts that later gates run now point at modules/.
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
|
||||
Reference in New Issue
Block a user