v0.3.0 — Phase-WIKI-FIX + Phase-TOOL + Step 1.LAT closure

Three back-to-back milestones (174 commits since v0.2.0) restructuring
Aura's substrate retrieval, agent loop latency, and tool surface.

- Hard MaxIterations cap + step X/N pacing hint (US-LAT-01)
- Single-shot prompt bias in agent overlays (US-LAT-02)
- `text_response` as terminal tool — answer-as-argument (US-LAT-03)
- Full EN restructure of agent overlays + MaxIterations cap to 20 (US-LAT-04)
- Unified `search` tool — collapse 4 lookup tools into 1 (US-LAT-05)
- Stream-time parallel tool dispatch (US-LAT-06)
- Provider prompt caching for static prefix (US-LAT-07)
- Inline wiki TOC in system prompt — nanobot MEMORY pattern (US-LAT-08)

Direct retrieval bench 2026-05-22 surfaced 10 substrate bugs. After fix:
FTS hit rate 0/20 → 20/20, score discrimination restored, p95 ≤75ms.

- FTS5 mirror auto-sync on wiki write/delete (US-WIKI-FIX-01)
- Embed cache key includes output_dim (US-WIKI-FIX-02)
- Rebuild skip-and-continue on per-page embed error (US-WIKI-FIX-03)
- Admin `/api/wiki/reindex` + boot dim-mismatch auto-detect (US-WIKI-FIX-04)
- Filter system-category pages from default search (US-WIKI-FIX-05)
- Dedupe wiki search results by slug (US-WIKI-FIX-06)
- settings.updated_at default to CURRENT_TIMESTAMP (US-WIKI-FIX-07)
- Embed n_ctx per-slot math + boot smoke (US-WIKI-FIX-08)

Killed the tool RAG entirely per user mandate "togli il rag dei tool è
una cagata; alla fine basta il search tool come hai te". Removed ~4000
LOC of dead/duplicated/over-engineered tool infrastructure.

- KILL tool RAG entirely — all tools always-on in manifest (US-TOOL-01)
- Delete 18 unregistered orphan Tool types — ~1500 LOC dead (US-TOOL-02)
- Wire text_response + drop search_memory zombie (US-TOOL-03)
- Description audit — EN-only + 200char cap + structural markers (US-TOOL-04)
- Collapse schedule_task/list/cancel → `task(mode=)` (US-TOOL-05)
- Collapse create_xlsx/docx/pdf → `create_document(format=)` (US-TOOL-06)
- Align defaults with unified tool surfaces (US-TOOL-07)
- MCP description override sidecar — `tools-overrides.json` (US-TOOL-08)
- MCP supervisor — list_changed + circuit breaker + reconnect (US-TOOL-09)
- Dim-mismatch auto-detect + rebuild for compact collection (US-TOOL-10)

- ~-4500 LOC net (cleanup) vs ~+1700 LOC new substrate
- 22 → ~15 tools in catalog after kitchen-sink collapses
- 0 unused symbols, 6 TODO total in production code
- `aura_tool_search_v2` Qdrant collection deleted (no longer needed)
- All Anthropic / OpenAI-compat LLM endpoints gain `prompt_cache_key` support

- `EMBEDDING_OUTPUT_DIM` setting now persisted in SQLite; restart on change
  triggers automatic Qdrant collection rebuild
- `search_memory` tool removed (use unified `search` from US-LAT-05)
- `tool_search` tool removed (manifest is always full)
- `aura_tool_search_v2` Qdrant collection no longer created at boot
- MCP supervisor adds per-server circuit breaker — flapping MCP servers
  will be auto-isolated after 3 consecutive failures