01Safety
0.0 / 30
What changed in the harness
Selection accuracy 100→100, token cost up 18%, unconfirmed writes 0%→0%.
Category breakdown
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
0.0 / 30
23.6 / 30
19.9 / 20
14.3 / 20
Highest-impact fix
Estimated gain +30 pointsExpose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.
Description evidence
14 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.
| Tool | Defect types | Suggested rewrite |
|---|---|---|
launch_editor |
name_restates_behavior no_return_description |
Opens the Godot editor on the project at the given path so you can inspect or modify it visually before testing; launch later by finding .godot, project.godot, or editor settings. Opens and returns once the editor process has started. |
run_project |
name_restates_behavior |
Starts the project at given path in the Godot player (the scene argument overrides the project's main scene if provided), captures the process output, and returns a handle so get_debug_output can retrieve it. |
get_debug_output |
name_restates_behavior |
Returns the captured console output and error messages of the project last launched with run_project, so you can inspect logs and print statements. |
stop_project |
name_restates_behavior no_return_description |
Terminates the project instance previously started with run_project. Returns once the process has been stopped. |
get_godot_version |
name_restates_behavior no_return_description |
Returns the version string of the installed Godot editor, so you can see which engine major/minor the project and tools target (e.g., whether UID features apply). |
list_projects |
name_restates_behavior no_return_description |
Returns the paths of Godot projects found in the given directory, descending into subdirectories when recursive is true, and returns an empty list if no project.godot files are found. |
get_project_info |
no_return_description |
Returns the metadata declared by the project.godot file for the project at the given path, such as project name, features, main scene, and config settings. |
create_scene |
name_restates_behavior no_return_description |
Creates a new .tscn scene file under the project at the given path with a single root node of rootNodeType (Node2D by default). Returns once the file has been written. |
add_node |
name_restates_behavior no_return_description |
Inserts a node of nodeType with the given nodeName into the scene file at scenePath, attached under parentNodePath (root by default) and applies any provided node properties. Returns once the scene file has been updated and saved. |
load_sprite |
name_restates_behavior no_return_description |
Assigns the texture at texturePath to the Sprite2D node at nodePath in the scene at scenePath (relative to the project), and saves the scene. Returns once the texture has been assigned and persisted. |
export_mesh_library |
name_restates_behavior no_return_description |
Writes the scene at scenePath to a GridMap-usable MeshLibrary resource at outputPath, optionally limiting included meshes to the item names in meshItemNames. Returns the path of the written .res once done. |
save_scene |
name_restates_behavior no_return_description |
Persists pending edits made to the scene at scenePath, or writes it to newPath when given so you can branch a variant copy without overwriting the original. Returns the path the scene was saved to. |
get_uid |
name_restates_behavior no_return_description |
Returns the Godot resource UID of the file at filePath (relative to the project), for use in 4.4+ UID-based references. Errors if the file has no UID. |
update_project_uids |
no_return_description |
Resaves resources in the project at the given path so their .uid files are regenerated and UID references are updated to match (for Godot 4.4+). Returns the number of resources updated once complete. |
Selection evidence
2 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
create_scene |
save_scene |
medium | A task like 'create a variant of a scene' or 'save a new scene' is ambiguous: save_scene explicitly supports creating variants via newPath, so an agent could pick create_scene when saving a variant was intended, and vice versa when the user says 'make a scene' meaning persist current edits. |
list_projects |
get_project_info |
low | A task like 'show me my project details' or 'get information about the projects' could point to either tool: list_projects enumerates projects in a directory while get_project_info returns metadata for one project, and an agent without a projectPath might wrongly default to get_project_info instead of listing first. |
Compare the field