Skip to content

Validate model names in explicit XML node syntax - #1231

Merged
facontidavide merged 1 commit into
BehaviorTree:masterfrom
Vryuz:codex/validate-explicit-node-ids
Oct 10, 2026
Merged

facontidavide merged 1 commit into
BehaviorTree:masterfrom
Vryuz:codex/validate-explicit-node-ids

Conversation

@Vryuz

@Vryuz Vryuz commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Explicit node syntax currently bypasses model-name validation: a registered ID such as <Action ID="Node.With.Dot"/> is accepted even though compact syntax rejects the same model name. Validate the resolved lookup name for both forms, including Action, Condition, Decorator and Control wrappers.

Fixes #1220.

This changes XML parsing behavior for explicit IDs that violate the documented model-name rules. Valid ASCII/Unicode IDs and relaxed instance names remain supported; programmatic registration and the public API/ABI are unchanged.

Validation:

  • The regression fails on the original parser and passes with the fix; all 28 name-validation tests pass.
  • Tests cover registered invalid IDs with specific diagnostics, all four wrappers, underscore/hyphen/digit-leading/Unicode IDs, and relaxed instance names.
  • Repository pre-commit hooks pass for both changed files.
  • Full Release CTest suite: 538 passed, 2 locale-dependent tests skipped, 0 failed (540 registered).
  • Repository-wide ./run_clang_tidy.sh passes with clangd-21.

@facontidavide
facontidavide merged commit 62c4bb4 into BehaviorTree:master Oct 10, 2026
16 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

<Action ID="..."> skips the node name validation that <MyAction/> gets

2 participants