addedInput schema / description
Added value: +"Inputs for a change plan after a Fix or Stop verdict. industry, revenue_eur, function, ai_tier and readiness must match the scoring call so the plan is built against the same case. scores and work_architecture may be copied from score_initiative; omitted pillars are estimated and make the plan provisional. resistance_type and risk_type are optional diagnostics that select the play, and omission triggers a named inference plus the next question to ask."
changedInput schema / properties / ai_tier / description
Previous value: -"gen1=automation/RPA, gen2=GenAI, gen3=agentic."New value: +"Ambition of the AI being deployed: gen1 = automation/RPA, gen2 = GenAI, gen3 = agentic. Interacts with readiness — a more ambitious tier running on lower readiness widens the pace-layer gap, which discounts the modelled EUR value even when the four pillar scores are strong."
changedInput schema / properties / function / description
Previous value: -"Business function where the AI will operate."New value: +"Business function where the AI will operate, as one of the accepted enum values — selects which benchmark value drivers and rate ranges apply. Call list_taxonomy for the exact strings if unsure."
changedInput schema / properties / industry / description
Previous value: -"Your industry. See list_taxonomy if unsure."New value: +"Your industry, as one of the accepted enum values — used to select the benchmark rate multiplier applied to the modelled EUR value. Call list_taxonomy for the exact strings if unsure."
changedInput schema / properties / readiness / description
Previous value: -"Organisational readiness. Honest self-assessment."New value: +"Organisational readiness, honest self-assessment: agile = cross-functional, fast decisions; traditional = functional hierarchy; siloed = rigid, hand-off heavy. Sets the value-capture rate and, paired with ai_tier, the pace-layer drag — lower readiness against a higher tier reduces the captured value. Self-report is gameable: when the user has real process numbers, call infer_readiness first and pass its measured classification here instead."
addedInput schema / properties / resistance_type
Added value: +{
+ "description": "Optional. What sits behind a low change-enablement score: \"will\" = people do not want the change (power shifts, fear, no case for change), \"skill\" = people cannot yet do it (capability and capacity gap). Selects between a coalition-building play (Kotter 1-2 + ADKAR Awareness/Desire) and an owner-and-capability play (ADKAR Knowledge/Ability). If you do not know, omit it: the engine infers from readiness (agile infers skill, traditional/siloed infers will) and marks the play provisional. Ask the user \"is the resistance about not wanting this, or not being able to do it yet?\" and re-call to sharpen.",
+ "enum": [
+ "will",
+ "skill"
+ ],
+ "type": "string"
+}
changedInput schema / properties / revenue_eur / description
Previous value: -"Approximate annual revenue in EUR."New value: +"Approximate annual revenue in EUR (must be ≥ 0). Scales the whole output: the disclosed AI BVF planning rates are applied as fractions of this figure, so the modelled EUR value range grows with it. A rough order-of-magnitude estimate is fine."
addedInput schema / properties / risk_type
Added value: +{
+ "description": "Optional. The nature of a high governance-risk score: \"regulatory\" = statute applies (EU AI Act, GDPR Article 22, DORA), \"reputational\" = the risk is how failure looks and lands publicly, \"operational\" = the system failing quietly inside a process. Selects between a regulatory remediation sequence, visible trust guardrails, and a proportionate governance review. If you do not know, omit it: the engine infers (gen3 tier, or a regulated function/industry, infers regulatory) and marks the play provisional.",
+ "enum": [
+ "regulatory",
+ "reputational",
+ "operational"
+ ],
+ "type": "string"
+}
addedInput schema / properties / scores / description
Added value: +"OPTIONAL, and each pillar inside it is optional. The four AI BVF pillars, each an honest 0–100 self-assessment, combining deterministically into the verdict: governance_risk ≥ 70 OR financial_return ≤ 20 returns Stop; strategic_alignment, financial_return and change_enablement all ≥ 60 with governance_risk ≤ 40 returns Accelerate; everything else returns Fix. Pass ONLY the pillars the user has real evidence for — do NOT invent numbers for the rest. Missing pillars are estimated deterministically by the engine from disclosed AI BVF planning assumptions, the response reports which via pillar_basis and scores_used, decision score is haircut by how much was estimated, and a fully-estimated pass can never return Accelerate (it returns Fix pending confirmation). So call immediately with whatever the user gave you, then ask for evidence on the estimated pillars and re-call to firm the verdict up."
changedInput schema / properties / scores / properties / change_enablement / description
Previous value: -"Sponsor, owner, funded change budget (0-100)."New value: +"Optional; when omitted, estimated from readiness (agile 55, traditional 45, siloed 32 — always below the 60 floor, because an unevidenced change capability is unproven). Sponsor in place, owner named, change budget funded (0–100, higher is better). Must be ≥ 60 for an Accelerate verdict."
changedInput schema / properties / scores / properties / financial_return / description
Previous value: -"Strength of modelled return (0-100)."New value: +"Optional; when omitted, estimated from the disclosed AI BVF planning range for the function (40–52, never enough to clear 60 unmodelled, never low enough to force a Stop). Strength of the modelled return (0–100, higher is better). A value ≤ 20 forces a Stop on its own; ≥ 60 is one of the four conditions required for Accelerate."
changedInput schema / properties / scores / properties / governance_risk / description
Previous value: -"Regulatory / reputational exposure. Higher = more risk (0-100)."New value: +"Optional; when omitted, estimated from tier and regulated context (gen1 30 / gen2 42 / gen3 55, +10 in a regulated function, +8 in a regulated industry — agentic AI in regulated finance estimates at 73 and forces a Stop until governance evidence exists). This pillar is INVERTED: higher means MORE risk. ≥ 70 forces a Stop on its own; must be ≤ 40 for Accelerate."
changedInput schema / properties / scores / properties / strategic_alignment / description
Previous value: -"How clearly this moves a board-level KPI (0-100)."New value: +"Optional; estimated at 50 (unproven) when omitted, since alignment to a board KPI cannot be read from context. How clearly this moves a board-level KPI (0–100, higher is better). Must be ≥ 60 — together with financial_return ≥ 60, change_enablement ≥ 60 and governance_risk ≤ 40 — for an Accelerate verdict."
removedInput schema / properties / scores / required
Removed value: -[
- "strategic_alignment",
- "financial_return",
- "change_enablement",
- "governance_risk"
-]
addedInput schema / properties / work_architecture
Added value: +{
+ "description": "Evidence that workflows, roles, decision rights and measures are ready. Pass only what is known. Explicit gaps and omitted checks block Accelerate until all four checks are evidenced.",
+ "properties": {
+ "decision_rights_defined": {
+ "description": "True only when decision, override and escalation rights have named human owners, false when authority remains unclear.",
+ "type": "boolean"
+ },
+ "measures_updated": {
+ "description": "True only when performance measures and incentives reflect the redesigned work, false when the old measures remain.",
+ "type": "boolean"
+ },
+ "roles_redesigned": {
+ "description": "True only when affected roles, accountabilities and capability expectations have been rewritten, false when roles remain unchanged.",
+ "type": "boolean"
+ },
+ "workflow_redesigned": {
+ "description": "True only when the end-to-end workflow has been redesigned around the AI and retained human judgement, false when the existing workflow remains.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+}
changedInput schema / required
Previous value: -[
- "industry",
- "revenue_eur",
- "function",
- "ai_tier",
- "readiness",
- "scores"
-]New value: +[
+ "industry",
+ "revenue_eur",
+ "function",
+ "ai_tier",
+ "readiness"
+]
addedOutput schema / properties / audit
Added value: +{
+ "description": "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.",
+ "properties": {
+ "bvf_version": {
+ "type": "string"
+ },
+ "engine": {
+ "type": "string"
+ },
+ "engine_version": {
+ "type": "string"
+ },
+ "inputs_used": {
+ "description": "The resolved inputs the result was computed on, including estimated pillar values.",
+ "type": "object"
+ },
+ "note": {
+ "type": "string"
+ },
+ "rules_fired": {
+ "description": "The rules that actually fired, in order: estimation, gates, classification, value arithmetic.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+}
addedOutput schema / properties / change_plan
Added value: +{
+ "description": "The change-leader layer: a specific, sequenced route from Fix or Stop toward Go, aimed at the organisation. Present for Fix/Stop, absent when the initiative is already Accelerate. Present this to the user as the plan, not as raw data.",
+ "properties": {
+ "binding_constraint": {
+ "description": "The one thing standing between this initiative and a Go. Lead with this; a single named blocker gets acted on where a list of four gets skimmed.",
+ "type": "string"
+ },
+ "cost_of_waiting": {
+ "description": "The cost of delay framed as a decision rule: fix if the plays cost less than the waiting, stop if they cost more.",
+ "type": "string"
+ },
+ "cost_of_waiting_eur": {
+ "description": "Estimated organisational drag over the plan window, {low, high} in EUR, from the pace-layer model. The price of sitting in Fix.",
+ "type": "object"
+ },
+ "honest_stop": {
+ "description": "Present when the truthful call is Stop rather than Fix. Surface this verbatim; it is the most valuable sentence in the response when it appears.",
+ "type": "string"
+ },
+ "plays": {
+ "description": "Named change plays, worst pillar first, each selected from the failing pillar AND the organisational context. Every play works two altitudes: the organisation (Kotter) and the person (Prosci ADKAR).",
+ "items": {
+ "properties": {
+ "diagnosis": {
+ "description": "What is actually blocking, in plain language.",
+ "type": "string"
+ },
+ "diagnostic_questions": {
+ "description": "Questions to put to the organisation to sharpen or challenge the play. Ask these before executing.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "description": "Play identifier, e.g. coalition-first, regulatory-remediation, value-rescope.",
+ "type": "string"
+ },
+ "org_move": {
+ "description": "The organisation-level move (method + action), typically a Kotter step.",
+ "type": "object"
+ },
+ "owner": {
+ "description": "The role that owns the play, to be filled with a named individual.",
+ "type": "string"
+ },
+ "person_move": {
+ "description": "The individual-level move (method + action), typically an ADKAR stage.",
+ "type": "object"
+ },
+ "pillar": {
+ "description": "The pillar this play repairs, or pace_gap for the cross-cutting operating-model play.",
+ "type": "string"
+ },
+ "provisional": {
+ "description": "True when the play was inferred from readiness/tier/function rather than told via resistance_type or risk_type. When true, ask the diagnostic questions and re-call with the answer to sharpen the plan.",
+ "type": "boolean"
+ },
+ "source": {
+ "description": "The named method behind the play: Kotter, Prosci ADKAR, EU AI Act, benchmark sources.",
+ "type": "string"
+ },
+ "steps": {
+ "description": "Sequenced actions, in order. Order matters: e.g. desire before change budget.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "stop_condition": {
+ "description": "Present when the honest escalation from this play is Stop, and the condition that triggers it.",
+ "type": "string"
+ },
+ "timeline_weeks": {
+ "description": "Expected duration range in weeks, [low, high].",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "position": {
+ "description": "Where this Fix sits between Go and Stop. near_go = a funding decision waiting on evidence; near_stop = one adverse finding from Stop, run only the first play then re-score.",
+ "enum": [
+ "near_go",
+ "contested",
+ "near_stop"
+ ],
+ "type": "string"
+ },
+ "position_detail": {
+ "description": "One-paragraph read of the position, written for the organisation.",
+ "type": "string"
+ },
+ "rescore_gate": {
+ "description": "What must be true, and by when, for the re-score to arbitrate. Fix is a decision with a deadline, not a limbo state.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+}
addedOutput schema / properties / feedback
Added value: +{
+ "description": "Optional three-question feedback route, present only for Fix/Stop verdicts. The page records the response anonymously only when the user chooses an answer; no assessment data is attached.",
+ "properties": {
+ "question": {
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "question",
+ "url"
+ ],
+ "type": "object"
+}
addedOutput schema / properties / interpretation
Added value: +{
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Meaning and limits of compatibility fields. Present these labels when explaining the result.",
+ "type": "object"
+}
changedOutput schema / properties / projected_decision_confidence / description
Previous value: -"Confidence in the verdict if the recommendations land, 0-100."New value: +"Projected heuristic decision score, 0 to 100. The target remains conditional on work architecture and evidence review."