Skip to content

Name the numeric key value in input refusals - #1418

Merged
saworbit merged 2 commits into
mainfrom
batch/input-refusal-fixes
Oct 14, 2026
Merged

saworbit merged 2 commits into
mainfrom
batch/input-refusal-fixes

Conversation

@saworbit

Copy link
Copy Markdown
Owner

String keycodes were refused without the integer to send, and the documented Key reflection lookup returned nothing. Both input tools now name the event and the exact pinned enum value in the refusal. Unknown spellings point to the global enum lookup. Refused batches never reach the write or dispatch path.

The pinned reference retains global enums. Existing class records are unchanged. Retry data keeps every event in order and omits batch echoes over 1024 bytes. The schema description, Tool Reference, changelog, test inventory and offline contract snapshot are updated.

Validation: 11 focused native tests and 24 Python tests passed. The new regression fails when the fix is disabled and passes after restoration. Real editor and game probes passed on Godot 4.5.1, 4.6.2 and 4.7.2. They compare project bytes before and after refusal, read persisted numeric retries through Godot and check independent input callbacks. Documentation, inventory and offline snapshot checks passed. Live CI cases cover both keycode fields and verify that rejected batches apply nothing.

Fixes #1415

@github-actions github-actions Bot added documentation Improvements or additions to documentation tests Test suites and the contracts they assert mcp-protocol The MCP wire surface: tools, schemas, annotations tooling Generators, harnesses, and developer tooling labels Oct 13, 2026
@saworbit
saworbit enabled auto-merge (squash) October 14, 2026 00:00
@saworbit
saworbit merged commit f46b51c into main Oct 14, 2026
28 checks passed
@saworbit
saworbit deleted the batch/input-refusal-fixes branch October 14, 2026 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation mcp-protocol The MCP wire surface: tools, schemas, annotations tests Test suites and the contracts they assert tooling Generators, harnesses, and developer tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

project_set_input_action refuses a key name without saying which integer it wanted

1 participant