CNA-BUG-232: docs/physical-modules.md has no row for modules/platform, omits the platform and diagnostics edges of runtime, input, audio and devices-ext, and says top-level examples/ holds only examples/golden
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 physical-module map, which check_renderer_identities.py keeps under count control, never mentions the platform module that input, runtime, audio and devices-ext link, and misdescribes the top-level examples directory.
- Identifier
CNA-BUG-232- 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, the Framework modules table (direct CNA dependencies and Sharp Runtime components per module) and its description of the repository layout
Expected behaviour
The document presents itself as the physical module layout: one row per module with its direct CNA dependencies. The source-partition gate in modules/CMakeLists.txt declares 22 framework modules, platform, content-pipeline and c-api among them.
Actual behaviour at TARGET
- The word "platform" does not occur in
docs/physical-modules.md: there is no row formodules/platform(cna_platform), nor forcontent-pipelineorc-api. - Rows omit real edges: runtime lists graphics, input, content, audio, media, core, math and Sharp Runtime Core.Base, IO, while
modules/runtime/CMakeLists.txtalso linkscna_diagnostics,cna_platformand Globalization; input omitscna_platform(modules/input/CMakeLists.txt); audio omitscna_diagnostics(PUBLIC) andcna_platform(PRIVATE); devices-ext omitscna_platform. - "Top-level
examples/holds exactly one thing:examples/golden/", butexamples/xvfb_screenshot_demo.cppis there too and is compiled bythe EasyGLandSDL_Rendererexample files as ad hoc test targets.
Source locations
docs/physical-modules.md— Framework modules table; Module examples sectionmodules/CMakeLists.txt— _cna_framework_modules - the declared module setmodules/runtime/CMakeLists.txt— cna_runtime links (diagnostics, platform, Globalization)modules/input/CMakeLists.txt— cna_input links cna_platformmodules/audio/CMakeLists.txt— cna_audio PUBLIC cna_diagnostics, PRIVATE cna_platformmodules/devices-ext/CMakeLists.txt— cna_devices_ext links cna_platformexamples/xvfb_screenshot_demo.cpp— the second top-level example
Evidence
Checked by reading at 009d40f5; not executed. Re-derived from the module CMake files rather than from the report that raised it: that report said no CMake file references the screenshot demo (two do) and that the runtime row omits input (it lists input). The phone row's Sharp Runtime list is a separate, already reported omission.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
The source-partition gate enforces the module set but not the document; check_renderer_identities.py reads this file only for the renderer count.
Regression test
Generate the table from the target_link_libraries and cna_link_sharp_runtime calls (the module-graph data is already mechanically derivable), or add a check that each declared module has a row and each row's PUBLIC edges match its CMake file.
Blast radius
Readers using the note as the module map, especially when reasoning about which modules may reach native platform services. Builds are unaffected.
Workaround
Read the module CMake files, or the site's module-graph page, which is derived from them.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- Architecture
- Module graph
- Maintainer workflow
- Conventions: module ownership
- Known issues
- Bug index