CNA-BUG-235: docs/physical-modules.md's Sharp Runtime column omits components that four modules link: Uri for phone and media, Collections.Core for input, Resources for content
Evidence basis: source-verified at the pinned commit. Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.
CNA's module table gives phone Core.Base and Collections.Core, input Core.Base, and media and content Core.Base and IO, while the modules' CMake files link Uri (phone, media), Collections.Core (input) and Resources (content, plus Security.Cryptography privately).
- Identifier
CNA-BUG-235- Category
- Bug
- Subsystem
- Documentation & release tooling
- Status
- Open
- Verified against
- CNA
009d40f5(009d40f5dd085c4e674d3479675fac84b12b3e0a) - Severity
- Low (a triage suggestion, not a project priority)
- Evidence basis
- Source-verified: read at TARGET, not executed
- Tests touching this area
- None
- Affected contract
- docs/physical-modules.md module table, Sharp Runtime column (rows modules/phone, input, media and content)
Expected behaviour
The module table is the maintainers' inventory of each module's dependencies and should match the cna_link_sharp_runtime call in the module's CMake file.
Actual behaviour at TARGET
The modules/phone row lists Core.Base, Collections.Core. modules/phone/CMakeLists.txt calls cna_link_sharp_runtime(cna_phone PUBLIC Core.Base Collections.Core Uri), and HttpNotificationChannel.hpp includes System/Uri.hpp and returns const System::Uri*, so Uri is a public requirement of the module.
Three more rows of the same column are stale. modules/input lists Core.Base while its CMake file links Core.Base Collections.Core; modules/media lists Core.Base, IO while its CMake file links Core.Base IO Uri; modules/content lists Core.Base, IO while its CMake files link Core.Base IO Resources publicly and Security.Cryptography privately.
Source locations
docs/physical-modules.md— module table, Sharp Runtime column: rows modules/phone, input, media, contentmodules/phone/CMakeLists.txt— cna_link_sharp_runtime callmodules/input/CMakeLists.txt— cna_link_sharp_runtime call: Core.Base Collections.Coremodules/media/CMakeLists.txt— cna_link_sharp_runtime call: Core.Base IO Urimodules/content/CMakeLists.txt— cna_link_sharp_runtime calls: PUBLIC Core.Base IO Resources, PRIVATE Security.Cryptography
Evidence
Checked by reading both files at 009d40f5; neither changed since the earlier recorded pin. The CMake file is authoritative for the build. The input, media and content rows were compared with their modules' CMake files in the same way for the adversarial audit.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
No check compares the module table with the CMake files.
Regression test
Add Uri to the row; optionally a documentation check that compares the table's component column with each module's cna_link_sharp_runtime call.
Blast radius
Readers of CNA's module table; the build is unaffected.
Workaround
Treat modules/phone/CMakeLists.txt as authoritative.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- Reference
- Module index
- Known issues
- Bug index