{
  "tool_id": "art-679-orsa-readiness-pack",
  "tool_version": "1.0.0",
  "display_name": "ORSA Readiness Pack",
  "mcp_name": "compute_orsa_readiness_pack",
  "mandate_type": "compliance_control",
  "wave": 114,
  "gpu": false,
  "url": "https://ainumbers.co/tools/679-orsa-readiness-pack.html",
  "description": "Deterministic ORSA readiness arithmetic over caller-declared synthetic inputs, checked against the duties inserted into Solvency II by Directive (EU) 2025/2. From a declared required scenario set, a declared scenario run set, and a declared liquidity-plan documentation flag, it computes: scenarios_missing as the required set minus the run set, preserving declared order; liquidity_plan as DOCUMENTED or MISSING; and an overall verdict of READY only when nothing is missing and the plan is documented, else NOT_READY. Optional declared capital-contingency and board sign-off references are echoed into the trace verbatim, never defaulted. Documentary anchor, outside the hashed preimage: transposition deadline 30 January 2027. No undertaking, no risk inventory store, no scenario engine, no supervisor, no network, no clock: every scenario, flag, and reference is a caller-declared input, never fetched or inferred. This is a readiness checker, NOT legal advice, NOT a materiality assessment, NOT a determination that any undertaking's ORSA satisfies the directive, and NOT a supervisory submission: nothing is filed anywhere. An absent or malformed scenario list or flag resolves to a fail-closed payload naming each rejected input, never a silently repaired assessment. Set and flag arithmetic over declared strings and booleans; it computes no numbers and cites no external standard beyond the directive articles recorded in its kernel source.",
  "input_schema_ref": "tools/679-orsa-readiness-pack.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:1dc812c6c0a705895c7f5cc8c6a10acd3ba2d7d30d833fa04ebffa55ac5d2e93",
      "valid_from": "2026-09-04"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-09-04"
    }
  ],
  "export_capability": [
    "json"
  ],
  "standards_basis": "not_applicable",
  "cited_clause_digest": [],
  "compute_proof_ready": "ready",
  "cycle_preflight": "FAST — 3,034,618 user_cycles max across all 5 fixture vectors (argmax v3), measured exec-only 2026-09-04 against landed origin/main bytes; 0.10x the 30,000,000 line.",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "K02ilFNxaZmAEY1XTTdLLdmf1ReHM12Rk0O7IbCvhQIEw6DNTJdtNVbA5UOvIZ7oAs3BG6rBdNpAgM11Phe6vAdoHqbq1X3oWw+SfuvjVHdIGYW86qsvW68NIjmsYMIRMER++cRGjMtQaXM5kGGgUgF/pfHggSsOgC1JDPUQsP4AbmPuxAsZnxh9F2ve4BikMkcXUyla1Aq6J5aT663riwJzOZpOhZFssP/X4WrRu4dIXl88k0pnGlGCc8RFX28zBKo1yS5KTGFL9w4iWZe3p+L28KRUY0JA+zJhy3gJNr8UsVB0MfT+1/6kIPJ8KINuJb5H4ZMzdXDtapXlCUJ6BA==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:1dc812c6c0a705895c7f5cc8c6a10acd3ba2d7d30d833fa04ebffa55ac5d2e93",
      "output": {
        "liquidity_plan": "MISSING",
        "overall": "NOT_READY",
        "scenarios_missing": [
          "disorderly_transition"
        ],
        "trace": "required set minus run set = disorderly_transition; liquidity plan flag false"
      }
    }
  }
}
