The island fixture, run on windows-2022 for the first time, failed to compile with no member named 'image' in namespace 'island_interface::kernels'. The same fixture passes on Linux and macOS.
namespace_of trimmed the base directory off a file's directory as a string. On Windows the two spellings differ even when the paths are the same: a caller states a root with forward slashes, directory_iterator appends with the preferred separator, so the leftover was \image rather than image. Iterating that yields the root directory as its first component, the sanitiser turns it into _, and the entry point landed in island_interface::kernels::_::image.
lexically_relative compares components, so the separator a caller happened to write is not part of the question.
The shader lane had this too. namespace_of is shared by both lanes since 0.5.0, and rules-spirv's Windows fixture keeps every payload in one directory, so a namespace segment was never derived there.
The island fixture now builds and asserts its namespaces on macOS and Windows as well as Linux, and a step asserts that the derivation exists once so that run keeps protecting both lanes.
The floor does not move: mcpp 2026.9.8.1.