feat(linear-static-3d-euler-beam): step 12 - inp-domain-mapping-review-fix

This commit is contained in:
KOKO\Mimi
2026-08-09 16:34:48 +09:00
parent 9502ef56b4
commit b1e78bc4cc
3 changed files with 97 additions and 13 deletions
@@ -326,3 +326,36 @@
- Focused re-review returned Critical 0 and Important 0. Its sole remaining
minor requested an explicit negative transverse-shear context assertion;
that table case was added and passes without a production change.
### Step 12 Root Review Fix Round 1 — same-token target ambiguity
- finding: `resolveNodeTarget` returned one matching node set before computing
the direct numeric source-label candidates. A token such as `1` therefore
silently selected `NSET=1` even when node source label `1` was also a valid
interpretation.
- regression_scope: `RejectsUnsupportedAndInvalidPortfolio` now constructs an
`NSET` named `1` containing node `2` while node label `1` also exists, and
exercises the same token independently through both `*BOUNDARY` and
`*CLOAD`. It requires input-category `unresolved-reference` with exact
keyword, entity identity `1`, and original data-row file/line location.
- RED-build: `cmake --build .harness/build --config Debug --target fesa_tests`
exited 0 after registering the two regression paths.
- RED-test: `ctest --test-dir .harness/build -C Debug -R "InpDomainMapping.RejectsUnsupportedAndInvalidPortfolio" --output-on-failure`
exited 8. The test failed at `same-token-boundary`
because `result.hasValue()` was true instead of the required structured
failure.
- fix: target resolution computes both name-matched node sets and numeric
direct-node candidates before returning either. Multiple candidates within
an interpretation or one valid candidate from each interpretation use the
existing input/`unresolved-reference` ambiguity contract; unique set-only
and direct-only paths remain unchanged.
- GREEN: the targeted build exited 0 and `ctest --test-dir .harness/build -C Debug -R InpDomainMapping --output-on-failure`
exited 0 with 5/5 passed.
- VERIFY: approved explicit-dependency MSVC x64 configure and full Debug build
exited 0; discovery found 19 tests including all five mapper names; full
CTest passed 19/19. Backend/upward/core-upward/distributed-load/unapproved
`nu` scans were 0, exactly five mapper tests remained, `git diff --check`
exited 0, and reference diff/status were clean.
- deferred_scope: the separate known-but-misplaced keyword diagnostic Minor was
deliberately not changed in this fix round. No phase-index change and no
commit were made.