Keating 0.3.1 is a web reliability release: saved sessions are easier to resume and manage, generated teaching artifacts are reachable from chat, the browser model gets real tool schemas, and custom providers no longer make direct cross-origin discovery calls from the page.
Session Continuity
- Persistent storage prompt: Keating asks once for durable browser storage so longer learning histories are less likely to be evicted.
- Auto-resume: returning to chat now restores the latest saved session instead of always opening an empty conversation.
- Session manager: the history dialog can load, rename, and delete saved sessions.
- Session-end recording: switching sessions or starting a new one records the end of the current learner session.
Artifacts in Chat
The chat header now includes an Artifacts button. It opens a side overlay for browsing lesson plans, maps, animations, benchmark reports, and evolution outputs without leaving the current conversation.
Provider Proxy Fixes
Custom-provider model discovery now calls Keating's same-origin backend proxy before reaching servers like Ollama, llama.cpp, vLLM, LM Studio, Synthetic, or Anthropic-compatible endpoints. That prevents browser CORS failures such as a direct request to http://localhost:11434/api/tags from https://keating.help.
The same proxy path now handles both discovery GET requests and chat POST requests, so non-standard custom providers and Anthropic-compatible endpoints share one backend route.
Tool Schemas
The web model still gets the full 19-tool Keating surface, but now each tool exposes real JSON Schema parameters instead of empty properties objects. The result is a teacher that can call planning, mapping, verification, benchmarking, prompt evaluation, due-work, timeline, feedback, and voice tools with valid arguments.
Version strings, package metadata, changelog, and the web build are aligned for v0.3.1.