PR #1915 review5434888907 identifies an inconsistent Python filename normalization guard. MacroUtils normalizes Hello_Controller to hello_controller, but GuideProjectGenerator and GuideAsciidocGenerator return early whenever a name contains an underscore. That affects flat test exclusions as well as packaged main/test paths.
Regressions were added first for actual generated-project exclusions and lowercase controls. The first macOS filesystem run masked the defect because the filesystem is case-insensitive. Strengthening that same regression with exact string assertions for both private project helpers and the Asciidoc main/test paths reproduces the bug independently of filesystem casing: the focused seven-test run has one failing mixed-case regression; the cache-input fix and remaining controls pass. Actual generation and retained-file sentinels remain checked.
The shared fix belongs in prerequisite #1914: remove the underscore early-return in both existing normalization guards, leaving lowercase identifiers unchanged. No new API, abstraction, native build or language-enablement change is needed. Normally merge into #1915.
PR #1915 review5434888907 identifies an inconsistent Python filename normalization guard. MacroUtils normalizes Hello_Controller to hello_controller, but GuideProjectGenerator and GuideAsciidocGenerator return early whenever a name contains an underscore. That affects flat test exclusions as well as packaged main/test paths.
Regressions were added first for actual generated-project exclusions and lowercase controls. The first macOS filesystem run masked the defect because the filesystem is case-insensitive. Strengthening that same regression with exact string assertions for both private project helpers and the Asciidoc main/test paths reproduces the bug independently of filesystem casing: the focused seven-test run has one failing mixed-case regression; the cache-input fix and remaining controls pass. Actual generation and retained-file sentinels remain checked.
The shared fix belongs in prerequisite #1914: remove the underscore early-return in both existing normalization guards, leaving lowercase identifiers unchanged. No new API, abstraction, native build or language-enablement change is needed. Normally merge into #1915.