feat: governed ToolUniverse core for the knowledge specialist (s1)
avoigt1121+1: Claude Opus 5.5
377417d
The repo from the pdac-spatial-agent template, plus the core every endpoint
will sit on (ADR-0001, accepted 2026-10-20):
- config/tools_allowlist.yaml: the memo's 28 tools by exact 1.5.6 name; the
12 the five endpoints use are the only ones loaded.
- config/sources.yaml: 8 sources with hosts, licences checked 2026-10-20
(Reactome is CC0, not CC BY 4.0; DGIdb unconfirmed, so no DGIdb endpoint),
TTLs, rate limits, timeouts, coverage notes.
- src/tu_client.py, the only importer of tooluniverse: loads with
keep_default_tools=False and load_workspace=False, refuses startup on any
model-provider key, a version other than 1.5.6, an extra or forbidden tool,
or ToolUniverse's own cache being on. load_workspace=False matters: with any
workspace present, 1.5.6 seeds a profile that loads all 2,691 tools and reads
workspace and ~/.tooluniverse .env files (found by these tests).
- provenance (10 fields per row), pinned output schemas (drift = no rows),
SQLite cache that keeps retr…