From 54b11bc2c5fe7722b69c53b8c30c80226cfa165a Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Thu, 3 Sep 2026 13:32:49 +0000 Subject: [PATCH] docs(eliminate-frontend-makefile): task 1.2 - verified real CGO path coverage One-time verification exercise, no permanent code change. Broke apiserver_cgo_deps (c_capnproto_dep, not librtti_dep as design.md suggests -- see Implementation Notes) and confirmed the new backend test() genuinely fails with real capn_* undefined-reference link errors, then confirmed it passes again fully restored. Independently reproduced by the task reviewer. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01XYdtrEWWZfKRRGED7raEYg --- .kiro/specs/eliminate-frontend-makefile/tasks.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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).