Introduces a two-LLM-call pipeline: the first call classifies the user's
message intent as "edit", "info", or "help". Edit messages proceed through
the existing routing → edit → propose flow. Info messages get a generated
response about site content from the manifest. Help messages get a
templated capabilities overview. This handles open-ended questions like
"What can I do?" or "What does my site have on it?" which previously
had no path through the system.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Two changes:
1. Add `format: "json"` to Ollama API calls so the model enforces
JSON output mode, reducing malformed responses
2. Strengthen the routing prompt with explicit type constraints
("NEVER null or empty"), rules to copy manifest paths exactly,
and a concrete example response
This fixes the validation error: "repo_relative_path: Expected
string, received null" from qwen3.5:397b-cloud.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>