Repository navigation
What's new
Pydantic validation for tool calls
All 14 tool call types now have pydantic models validating their arguments before they become Minecraft commands. Malformed LLM output gets caught with field-level error messages that guide the model to self-correct, instead of silently failing or producing broken commands.
Whitelist-based player validation
Player names are validated against the server whitelist (paper/whitelist.json) with case-insensitive matching. Catches the LLM hallucinating or misspelling usernames — observed working on first prayer after deploy.
Kind God memory turn
The Kind God now reflects after acting (two-turn pattern matching the God of Digging). A 1-2 sentence memory flows into the consolidation log for long-term integration.
Numeric clamping
Values like item count, effect duration, and amplifier are clamped to valid ranges instead of hard-rejected, preserving the god's intent without wasting API round-trips.
Stats
- 14 pydantic models added
- 7 new tests, 335 total passing
- 5 files changed, +665 / -254 lines
Closes #26