v0.4.0 — Structured tool outputs
Adds a declared outputSchema and a structuredContent response to all six tools, hand-matched to each tool's real return shape, so MCP hosts get typed, machine-readable results and the contract is self-documenting.
- outputSchema + structuredContent on all 6 tools. Through 0.3.x the tools advertised no output schema, so hosts had to infer the result format from prose. Two range shapes are now documented: {low,high} for modelled EUR/value ranges (score_initiative, calculate_pace_layer_drag) and {lo,hi} for raw benchmark rates (get_benchmark).
- Clearer descriptions. Every tool now discloses it is a pure deterministic calculation/lookup with no network, auth, or side effects; calculate_pace_layer_drag no longer implies a scalar EUR output, and its readiness/ai_tier/industry params carry fuller descriptions.
- Version sync. The Server() handshake and server.json were still reporting 0.3.3; both now match the release.
No change to computed values or classification logic — numbers and verdicts are identical to 0.3.5. First release to lean on the 2025-06-18 MCP spec semantics (outputSchema + structuredContent); SDK dependency range ^1.0.0 unchanged.