Skip to content

Fix what the pre-release audit found, in code and docs - #37

Merged
nickschuetz merged 1 commit into
mainfrom
fix/release-audit
Oct 9, 2026
Merged

nickschuetz merged 1 commit into
mainfrom
fix/release-audit

Conversation

@nickschuetz

Copy link
Copy Markdown
Owner

What

The required pre-release audit checked every doc and docstring against the code for 0.6.0. Where the code was wrong, not just described wrong, this fixes the code.

Code

  • set_component_property printed "Set ..." without checking the result, and get_component_property reported a failed read as {"value": "None"}. Both now check the outcome (set_property_failed, get_property_failed) and report an unknown component or one not on the entity.
  • add_component reported "Added" when the add raised or returned no outcome.
  • get_cvar had two false values:
    • it answered an unknown CVAR with the engine's text "(missing)" as its value (found in the live check for this PR), now cvar_not_found;
    • it answered a failed read with "Error: ...", now get_cvar_failed.
  • get_viewport_camera returned a bare error key; it now returns viewport_camera_unavailable.
  • get_bus_schema_live answered a bus missing from a real module as a live result with an error key; it now falls back to the stubs and reports bus_not_found.
  • Three fallbacks addressed Broadcast-only events with bus.Event and could never work; removed.
  • instantiate_prefab rebuilt parent_id with entity.EntityId(n), which is invalid on 26.10.0, so the parent was silently ignored. It now looks the parent up; an unknown one is entity_not_found.
  • With O3DE_EDITOR_TLS_VERIFY=1 and no O3DE_EDITOR_TLS_CA, no CA was trusted and every handshake failed. The system CA store is now loaded, as the docs say.

Docs and docstrings

  • Docstrings now say what the code does for set_transform (the 0.6.0 native scale and quaternion), get_entity, list_sequences, the animation module, capture_viewport, capture_renderdoc_frame and the project listers.
  • The tool reference fixes the viewport camera (Euler rotation, no FOV), capture_viewport (Atom capture; width and height ignored on 26.10.0), save_prefab (always prefab_save_unavailable), list_sequences, the readiness tools in the asset section, the component and asset examples, and the fast-fail wording.
  • AGENTS.md maps its seven tool groups onto get_capabilities' groups.
  • Recipes, the examples and the skill:
    • no longer rebuild entity ids from text; they use the tools, or a SearchBus lookup;
    • use the current tool counts and gem versions (gem 0.6.0, API 0.5.0);
    • show PhysX trigger and shape property paths that were checked live.
  • CONTRIBUTING.md lists the conventions new tools follow.

Tests

  • Surface: each new envelope path and the prefab parent.
  • Unit: the TLS context with and without a CA file.
  • Live, against AiCompanion gem 0.6.0 (API 0.5.0):
    • full suite 58 of 58, including new tests for the unknown CVAR and a collider property round trip with its refusals;
    • direct probes of every changed path.

A full audit of every doc and docstring against the code before 0.6.0 found
behavior that was wrong, not just described wrong, so those are fixed in code:

- set_component_property printed "Set ..." without checking the result, and
  get_component_property reported a failed read as {"value": "None"}; both
  now check the outcome (set_property_failed, get_property_failed) and report
  an unknown component or one not on the entity.
- add_component reported "Added" when the add raised or returned no outcome.
- get_cvar answered an unknown CVAR with the engine's text "(missing)" as its
  value and a failed read as "Error: ..."; those are now cvar_not_found and
  get_cvar_failed. get_viewport_camera returned a bare error key; it now
  returns viewport_camera_unavailable.
- get_bus_schema_live answered a bus missing from a real module as a live
  result with an error key; it now falls back to the stubs and reports
  bus_not_found.
- Three fallbacks addressed Broadcast-only events with bus.Event and could
  never work; removed.
- instantiate_prefab rebuilt parent_id with entity.EntityId(n), invalid on
  26.10.0, so the parent was silently ignored; it now looks the parent up.
- With TLS verification on and no O3DE_EDITOR_TLS_CA, no CA was trusted and
  every handshake failed; the system CA store is now loaded, as documented.

Docstrings and docs: set_transform, get_entity, list_sequences, the animation
module, capture_viewport, capture_renderdoc_frame and the project listers now
say what the code does. The tool reference fixes the viewport camera, capture,
save_prefab, list_sequences, asset and component examples and the fast-fail
wording. AGENTS.md maps its tool groups onto get_capabilities' groups.
Recipes, the examples and the skill no longer rebuild entity ids from text
(they use the tools, or a SearchBus lookup), use the current tool counts and
gem versions, and the PhysX trigger and shape property paths they now show
were checked live. CONTRIBUTING.md lists the conventions new tools follow.

Tests: surface tests for each new envelope path and the prefab parent, TLS
context tests, and live tests for the unknown CVAR and a collider property
round trip with its refusals. Live suite 58 passed against AiCompanion gem
0.6.0 (API 0.5.0).
@nickschuetz
nickschuetz merged commit dcd6147 into main Oct 9, 2026
11 checks passed
@nickschuetz
nickschuetz deleted the fix/release-audit branch October 9, 2026 14:46
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.

1 participant