assemble_portfolio
Build a valid AI BVF portfolio document from loose organization and initiative inputs, estimating missing pillar scores and validating the output.
Instructions
Assemble a valid AI BVF v1.0 portfolio document from loose inputs, deterministically. Agents arrive with initiative names, plain-language functions and half the pillar scores, then hand-build the portfolio JSON and get the shape wrong; this tool builds it right. Give it the organisation (name plus industry in canonical or everyday language) and one entry per initiative (name, function, ai_tier, plus whatever pillar scores you actually have as bare numbers) and it returns the finished document: aliases resolved through the same mapping as map_to_taxonomy, ids generated from names and deduplicated, missing pillars estimated from readiness, tier, function and disclosed AI BVF planning assumptions with the estimation reported per initiative in estimated_pillars, and the whole document validated before it is returned. CALL THIS when the user lists several AI initiatives in conversation and you need a portfolio document for validate_portfolio, score_portfolio or sequence_portfolio, instead of composing the JSON by hand. Do NOT invent pillar scores to fill it: pass only the numbers the user gave you and let the estimation carry the rest honestly, the estimated pillars carry low confidence and scoring haircuts accordingly. Unresolvable inputs come back as issues with suggestions; ask the user to choose rather than guessing. Every default the assembler applies is named in plain language in assumptions: surface them to the user, the assembler structures inputs and never makes hidden business judgements. This tool creates a document in the response only: nothing is stored, nothing is edited, no state exists between calls. Deterministic calculation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| readiness | No | Organisational readiness, canonical or plain language (bureaucratic resolves to siloed). Drives estimation of missing pillars. Defaults to traditional. | |
| initiatives | Yes | One entry per initiative, from whatever the user gave you. Only name, function and ai_tier are required. | |
| organization | Yes | Organisation identity and context shared by every initiative in the assembled portfolio. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| audit | Yes | Reproducibility record: engine version, the rules that fired, and the resolved inputs. Deterministic, no timestamps. If the verdict is challenged months later, the same inputs on the same engine version reproduce it exactly. | |
| issues | Yes | Unresolved inputs, each with path, message and suggestions where the taxonomy has them. | |
| guidance | Yes | ||
| portfolio | No | The assembled BVF v1.0 document, ready for validate_portfolio, score_portfolio and sequence_portfolio. Null when assembly is blocked on issues. | |
| validation | No | validate() run on the assembled document. | |
| assumptions | Yes | Every default the assembler applied, in plain language. Surface these to the user: what was not given is named here. | |
| bvf_version | Yes | ||
| resolutions | Yes | Every alias resolution performed, in plain language. | |
| readiness_used | Yes | ||
| estimated_pillars | Yes | Initiative id to the pillars the assembler estimated. Gather evidence for these, or expect scoring to haircut confidence. |