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

CNA snapshot 009d40f5  ·  Known Issues › Current bugs  ·  source links pinned to 009d40f5

✓

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 for modules/platform (cna_platform), nor for content-pipeline or c-api.
  • Rows omit real edges: runtime lists graphics, input, content, audio, media, core, math and Sharp Runtime Core.Base, IO, while modules/runtime/CMakeLists.txt also links cna_diagnostics, cna_platform and Globalization; input omits cna_platform (modules/input/CMakeLists.txt); audio omits cna_diagnostics (PUBLIC) and cna_platform (PRIVATE); devices-ext omits cna_platform.
  • "Top-level examples/ holds exactly one thing: examples/golden/", but examples/xvfb_screenshot_demo.cpp is there too and is compiled by the EasyGL and SDL_Renderer example files as ad hoc test targets.

Source locations

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.

The same subject is explained at several altitudes. These are the neighbouring pages at each one.

Architecture
Module graph
Known issues
Bug index