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

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 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

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.

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

Maintainer workflow
Build: configure refusals
Known issues
Bug index