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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XYdtrEWWZfKRRGED7raEYg
This commit is contained in:
Rongsong Shen 2026-09-03 13:32:49 +00:00
parent 9009f03405
commit 54b11bc2c5
No known key found for this signature in database
GPG key ID: 5BCDAAE0123E9FE2

View file

@ -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).