diff --git a/.kiro/specs/eliminate-frontend-makefile/tasks.md b/.kiro/specs/eliminate-frontend-makefile/tasks.md index 68e15b88..e65c6e3c 100644 --- a/.kiro/specs/eliminate-frontend-makefile/tasks.md +++ b/.kiro/specs/eliminate-frontend-makefile/tasks.md @@ -66,14 +66,14 @@ - _Requirements: 5.3, 6.1, 6.2_ - _Depends: 3.1, 3.2, 3.3, 3.4_ -- [ ] 4. Validation: final regression gate and Makefile removal +- [x] 4. Validation: final regression gate and Makefile removal - [x] 4.1 Run the full coverage-preservation validation suite as the final go/no-go gate before deletion - Confirm: `/xce-build apiserver` and `/xce-build all` pass with the migrated unit-test invocation (task 2); `meson test -C --suite apiserver` passes including the new backend test target (task 1); the regression suite parity check (task 3.5) and the live-reference sweep (task 3.6) both already passed - Observable: a single consolidated run confirms all four checks pass together against the same build, immediately before the Makefile is deleted - _Requirements: 3.3, 4.3_ - _Depends: 1.2, 2, 3.5, 3.6_ -- [ ] 4.2 Delete src/frontend/Makefile and confirm no functional path still depends on it +- [x] 4.2 Delete src/frontend/Makefile and confirm no functional path still depends on it - Delete the file; re-run the full coverage-preservation validation from 4.1 unchanged, confirming no regression from the deletion itself - Re-run task 3.1's discovery scenario (`run-resource-verify.sh` locating the apiserver binary from the Meson build dir) with the Makefile now genuinely absent from disk — this closes design.md's Testing Strategy "Discovery-path regression" check, which specifically requires this to be re-verified post-deletion, not just pre-deletion - Re-run the live-reference sweep (task 3.6's grep) one more time, full-repository, now that the file genuinely no longer exists @@ -83,6 +83,7 @@ ## Implementation Notes +- Task 4.2 (final): `src/frontend/Makefile` is deleted. Post-deletion review found two files with prose mentions of "src/frontend/Makefile" outside this spec's approved File Structure Plan and outside the sweep's regex pattern: `src/docs/resreq-ast-cse-design.md:3376` and `src/tools/test-version-startup-consistency.sh:49,63,69`. Both are comment-only with zero functional dependency (no executable `make` invocation), and were never in this spec's requirements/design scope -- flagged as a future doc-hygiene item, not reopened here. - Task 4.1: task 3.6's commit message said "188 hits" for the live-reference sweep; the actual, reproducible count (verified both at commit `c554ed25` and now, byte-identical) is **190** -- a message-only miscount, not drift or a missed hit; all 190 were independently reclassified with zero unaccounted. Also confirmed via a full `meson test` run that the two failures blocking a literal `/xce-build all` are exactly bug-1723 and bug-1758 (pre-existing, unrelated, NOT FIXED) and nothing else. `.claude/skills/kiro-impl/SKILL.md:171` ("...to make test pass...") is a recurring grep false positive (generic TDD prose, not an XCE Makefile reference) that will keep showing up in any future sweep of this same pattern -- expected, not a new violation. - Task 3.3 (round 1 rejection, fixed in round 2): when removing a stale Makefile reference from a doc, check whether the underlying script it describes still has a genuine fallback behavior before deleting the mention entirely. `run-resource-verify.sh` (task 3.1) removed its `/tmp/apiserver` fallback outright, so `xce-test-resources/SKILL.md` correctly dropped all mention of it. `deploy-ha.sh` (task 3.2) deliberately KEPT its `/tmp/apiserver` fallback logic (only removed the `make build-server` association from its text) — so `xce-deploy-ha/SKILL.md` needed to keep describing that fallback accurately (just without the Make instruction), not delete it. Two visually-similar edits, two different correct outcomes, because the two underlying scripts' behaviors diverged. - Task 2: `/xce-build all` currently aborts (`set -euo pipefail`) at the pre-existing `meson test --print-errorlogs` step, BEFORE reaching the migrated Go-test line — two unrelated, already-logged C-side failures (bug-1723, LeakSanitizer on `xcelib_test`; bug-1758, `sched_core_events_test` deterministic failure), both predating this spec. Task 2's `all`-case line itself is verified (byte-identical to the fully-verified `apiserver`-case line), but this means task 4.1's "final go/no-go gate" and task 4.2's post-deletion re-validation will hit the SAME pre-existing abort when running `/xce-build all` — those tasks will need to either scope their validation to `/xce-build apiserver` + a separate `meson test` invocation that tolerates these 2 known-unrelated failures, or note them as pre-existing/out-of-scope rather than treating them as a regression from this spec.