Dockerised Lean4 execution environment for AI agents
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and error handling. execute-lean and execute-lean-persistent have minimal descriptions (under 50 chars). Parameter descriptions are present but generic. No output schemas documented. No error recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Missing idempotency guidance for persistent sessions. Naming is clear (verb_noun pattern), but composition could be improved, execute-lean-persistent requires manual session_id management, forcing agents to track state.
Clean up a persistent session and its resources
Execute Lean4 code in a transient Docker container
Execute Lean4 code in a persistent Docker container
Tool descriptions are too brief (30-40 chars). 'Execute Lean4 code in a transient Docker container' lacks context on when to use transient vs persistent, what happens to output, or error recovery steps.
No output schemas documented. Agents cannot predict what fields are returned (stdout, stderr, exit_code, execution_time, etc.), forcing them to guess or fail on parsing.
Missing tool annotations. execute-lean and execute-lean-persistent should have destructiveHint=true (they modify Docker state). cleanup-session should have destructiveHint=true. No readOnlyHint or idempotentHint declared.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
No error recovery guidance. If Lean compilation fails, Docker is unavailable, or session_id is invalid, agents receive no actionable next steps. Error messages should guide retry logic and alternatives.
execute-lean-persistent requires agents to manage session_id state manually. No guidance on idempotency, session lifecycle, or cleanup. Agents may leak sessions or retry with stale IDs.