01Safety
0.0 / 30
What changed in the harness
Selection accuracy 100→100, token cost down 0%, 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
28.5 / 30
20.0 / 20
12.1 / 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
2 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 |
|---|---|---|
godot_get_diagnostics |
no_return_description |
Get LSP diagnostics (errors, warnings) from Godot's built-in language server and return them as a structured list with severity, message, and code location for the given file, or project-wide if path is omitted. Requires the Godot editor to be running with the project open. |
godot_analyze_script |
no_return_description |
Analyse GDScript files for all 10 battle-tested pitfalls: Godot 3→4 API misuse, giant scripts, := on Variant, tight coupling, signal re-entrancy, autoload misuse, missing signal disconnect, _init() timing, Python-isms, and static func on autoloads. Returns a structured report of the detected pitfalls with file paths, line numbers, and suggested fixes. |
Selection evidence
5 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
godot_analyze_scene |
godot_analyze_script |
medium | Both tools take a file path and 'analyze' it; a task like 'check this Godot file for problems' with ambiguous wording (not naming .tscn vs .gd, or wrong extension in the prompt) can send the agent to the wrong analyzer. |
godot_get_diagnostics |
godot_analyze_script |
medium | A request like 'find errors/issues in scripts/player.gd' is served by both: LSP diagnostics returns real errors/warnings while analyze_script reports anti-pattern pitfalls; the task doesn't disambiguate which failure mode is wanted. |
godot_get_diagnostics |
godot_analyze_scene |
medium | 'Get the errors in my scene' could plausibly mean LSP diagnostics for the project or analyze_scene's antipattern/format checks for the .tscn; the descriptions overlap on 'errors' and both accept a path. |
godot_run_tests |
godot_run_project |
low | Both are triggered by 'run', but the object usually disambiguates (tests vs the game). Only very terse inputs like 'just run it' leave the choice ambiguous, and descriptions still clarify return shapes. |
godot_run_project |
godot_get_project_info |
low | 'Run' implies launching while 'info' implies reading structure, so genuine confusion is rare; an inferred task like 'tell me about running the project' is the only weak overlap, making this unlikely to misroute. |
Compare the field