diff --git a/.kiro/specs/eliminate-frontend-makefile/tasks.md b/.kiro/specs/eliminate-frontend-makefile/tasks.md index 2b4759f0..6238161b 100644 --- a/.kiro/specs/eliminate-frontend-makefile/tasks.md +++ b/.kiro/specs/eliminate-frontend-makefile/tasks.md @@ -9,7 +9,7 @@ - _Requirements: 3.1, 3.2_ - _Boundary: apiserver/meson.build_ -- [ ] 1.2 Prove the new backend test exercises the real CGO path rather than the `//go:build !cgo` stub +- [x] 1.2 Prove the new backend test exercises the real CGO path rather than the `//go:build !cgo` stub - Deliberately break `apiserver_cgo_deps` (e.g. temporarily drop one dependency) and confirm the new test fails with a genuine linker/undefined-symbol error, not a silent pass - Restore the dependency list and confirm the test is green again - Observable: a captured failing run shows a real link-time error tied to the removed dependency; the immediately following restored run passes with no other change @@ -80,3 +80,7 @@ - Observable: `src/frontend/Makefile` no longer exists in the tree; the full validation suite, the post-deletion discovery-path re-check, and the post-deletion sweep all pass with no unaccounted hits - _Requirements: 1.1, 1.2, 1.3, 5.1_ - _Depends: 4.1_ + +## Implementation Notes + +- Task 1.2: design.md's Testing Strategy suggests `librtti_dep` as the example dependency to remove when proving the new backend test() exercises the real CGO path. Empirically (implementer + independent reviewer both reproduced this live), removing `librtti_dep` does NOT reproduce a link failure for the `apiserver/backend/...` test package — none of `librtti`'s exported symbols are actually pulled into this specific link unit's undefined-symbol set. `c_capnproto_dep` (real `capn_*` undefined-reference errors from `request.c`/`controller.capnp.c`) is the dependency that genuinely reproduces the failure and was used instead. `apiserver_cgo_deps` itself was left byte-identical to task 1.1's state (verification-only task, no permanent code change).