CNA-BUG-233: CLAUDE.md's Platform Boundary lists WIN32 as a reserved identifier that fails configuration, but cmake/PlatformSelection.cmake implements CNA_PLATFORM=WIN32 on Windows
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 contributor instructions name SDL3, SDL2, X11, WAYLAND, HEADLESS and TERMINAL as the platforms and SDL12/WIN32/EMSCRIPTEN as reserved; the build offers WIN32 on Windows and reserves TERMINAL there.
- Identifier
CNA-BUG-233- 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
- CNA_PLATFORM values as documented in CLAUDE.md (Platform Boundary) versus cmake/PlatformSelection.cmake
Expected behaviour
The instruction file every contributor and coding agent reads should list the CNA_PLATFORM values the build accepts.
Actual behaviour at TARGET
CLAUDE.md: CNA_PLATFORM selects "SDL3, SDL2, X11, WAYLAND, HEADLESS, or TERMINAL; SDL12/WIN32/EMSCRIPTEN are reserved identifiers and fail configuration". cmake/PlatformSelection.cmake offers WIN32 when the target is Windows (a native user32/gdi32 backend with no SDL), reserves SDL12 and EMSCRIPTEN everywhere, and reserves TERMINAL on Windows and WIN32 elsewhere.
Source locations
CLAUDE.md— Platform Boundarycmake/PlatformSelection.cmake— _cna_platforms_available and _cna_platforms_reserved
Evidence
Checked by reading at 009d40f5; not executed. The changelog's Unreleased section announces the WIN32 backend.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
The platform selection gates in cmake/Tests test the CMake side; nothing reads CLAUDE.md.
Regression test
None applies; update the paragraph.
Blast radius
Contributors and agents following the instruction file may avoid or mis-describe the native Win32 backend; builds are unaffected.
Workaround
Read cmake/PlatformSelection.cmake or the configure error, which lists the values available on the current target.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- User guide
- Native platforms: Win32
- Internals
- Win32 platform: building
- Maintainer workflow
- Build: configure refusals
- Known issues
- Bug index