v0.5.0 — score_portfolio + MCP annotations
0.5.0 (aibvf-mcp), 26 June 2026
Added: an eighth tool, score_portfolio, that takes an AI BVF v1.0 portfolio document plus a single organisational readiness value and returns the board-level shape in one call — Accelerate/Fix/Stop counts, aggregate modelled EUR value range (integer EUR via the shared eurRange helper), mean decision confidence, the top initiative by mid-point value, the highest-risk initiative (worst classification, tie-broken by lowest decision confidence), and the per-initiative scoring results. Schema validation runs first; on a malformed portfolio the response sets valid=false and reports the validation errors without attempting to score. Initiatives that cannot be scored (missing organization.revenue_eur, unknown function/ai_tier) appear in skipped_initiatives rather than failing the call. Closes the Glama Server Coherence "Completeness" gap: previously validate_portfolio existed but no tool scored a portfolio in one call, so agents had to loop score_initiative per initiative. The portfolio schema does not carry per-initiative readiness, so this tool takes one organisational readiness value and applies it across all initiatives — realistic for a single organisation and explicit in the parameter description.
Added: MCP 2025-06-18 annotations on every tool (title, readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false). All eight BVF tools are pure reads against in-process data — the prose descriptions already said as much, but the annotations make the contract machine-readable, which is what Glama's Behavioural Transparency dimension scores against. No behavioural change to any handler.
Changed: get_benchmark description now states when to use it instead of score_initiative — the Glama Tool Definition Quality "Usage Guidelines" gap that was holding the min-weighted TDQS at 4.50. score_initiative's description now ends with a pointer at score_portfolio so an agent looking at a portfolio is routed to the right tool. list_taxonomy's "call this first when unsure" list now names score_portfolio and diagnose_process alongside the existing routes. validate_portfolio now mentions both single-initiative and whole-portfolio scoring as the next step after validation. All description-only edits; no behavioural change to any handler.
Bumped: aibvf-mcp from 0.4.4 to 0.5.0 across the Server({ version }) handshake, the startup banner (now reads 8 tools: ..., score_portfolio, ..., diagnose_process), packages/mcp/package.json, and server.json (server-level and packages[0] entries; the latter was on 0.4.3 against the package's 0.4.4, now synced). @aibvf/core is unchanged at 0.3.3 — score_portfolio reuses the existing score() and validate() exports.