0.0 / 30
What changed in the harness
Selection accuracy 100→100, token cost up 5%, unconfirmed writes 0%→0%.
Category breakdown
Where the score comes from.
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
01Safety
02Legibility
29.0 / 30
03Economics
20.0 / 20
04Discoverability
15.5 / 20
Highest-impact fix
Estimated gain +30 pointsAdd explicit identity and permission preflight tools
Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.
Description evidence
Defects and rewrites.
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 |
|---|---|---|
list_checks |
no_return_description |
Return a categorized list of every check the Oksigenia Checker performs. Each entry includes the check id and the reason the check matters, so you can discover which check ids exist before calling explain_check. The reasons are returned in the language set by the 'lang' parameter ('es' or 'en', defaulting to $OKSIGENIA_LANG or 'en'). |
explain_check |
no_return_description |
Given a check id (see list_checks), return an explanation for that single check covering what it verifies, why it matters, and how to remediate a failure. The explanation is returned in the language set by the 'lang' parameter ('es' or 'en', defaulting to $OKSIGENIA_LANG or 'en'). |
Selection evidence
Confusable tool pairs.
3 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
check_domain |
explain_check |
low | Request verbs like 'check/run the SSL on example.com' map to check_domain, while 'explain/why does the DMARC check matter' maps to explain_check; the intents are usually distinguishable, but a terse task such as 'tell me about the SSL check' could pull either a live scan or an explanation. |
check_domain |
list_checks |
low | 'What checks run on example.com' could be read as either running the live checker on the domain (check_domain) or enumerating available checks (list_checks); however list_checks requires no domain and describes itself as a catalog, which usually disambiguates. |
list_checks |
explain_check |
medium | Both descriptions share 'why it matters': a user asking 'explain the checks / why do these checks matter' could plausibly get the overview (list_checks) versus a per-check deep dive (explain_check), and the target check id is needed to reliably pick explain_check. |
Compare the field