{
      "tool_id": "art-290-check-linea-l2-finality-window",
      "tool_version": "1.0.0",
      "display_name": "Linea L2 Finality Window Classifier",
      "mcp_name": "check_linea_l2_finality_window",
      "mandate_type": "compliance_mandate",
      "wave": 53,
      "gpu": false,
      "url": "https://ainumbers.co/chaingraph/art-290-check-linea-l2-finality-window.html",
      "description": "Classifies a tokenized-deposit transfer’s finality risk given L2-batch to L1-settlement timing: soft (unsubmitted), batched (submitted, not yet final), or l1_final tier, reorg-window risk, and a safe-to-release verdict against a corridor policy cutoff. Fills the L2 gap classify_settlement_asset_finality does not cover. Classifies supplied state only, never observes the chain or an RPC. Draft-pinned generic optimistic/batched L2 model; Linea-specific published finality windows were not found at STEP-0 re-verify (2026-07-13). Not check_cash_leg_finality or classify_settlement_asset_finality.",
      "input_schema_ref": "chaingraph/art-290-check-linea-l2-finality-window.html#manifest",
      "deadline": null,
      "deadline_note": "Swift shared-ledger MVP live 2026-07-09; deposit-token interop checker trigger fired.",
      "consumes": [],
      "feeds": [],
      "status": "live",
      "conformance_fixtures": true,
      "compute_capability": "server",
      "compute_images": [{"system":"sha256-source","image_id":"sha256:96bc4cfa0b4c4dc33183c6c6c36cb074ef7ecf0c8a4e10dbd7552fefa7eeeb97","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-07-13"}],
      "export_capability": [
        "pdf",
        "xlsx"
      ],
      "compute_proof": {
        "type": "ZkVmReceipt",
        "system": "risc0",
        "receiptFormat": "groth16-bn254",
        "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
        "seal": "AESar2uNNaj0oxrSutJgygHh/AOYjANch0TDJZlnyo4JEP3uHXT6BrSxGuwmsgnxx5ElOAvMHpSpPB6n/GY//i1EA/Vk/+sF1X3J2dZ34VqpstQlQ4DyEYwr9DtH+ewiB5k6WpjRGLkyZaJ8Di93nCZzsUz7XK+1GRamkMU81bYMrLYJcdaRgYlcmaw0B4bwSnWHQjMswHvhVToxKsFQDAsY4XttMBhRtUhU9q5iIi6Hq/zZ1PuxBteVguCamEbBCeeB86uqiOERPxYSTNJfL2tJ+iWW10SwqEXsfHpN7Y0Y7saj+nykx9asJ7GGk05E9tVAUGWUkT+sX7S36122jA==",
        "journal": {
          "chaingraph_version": "0.4.0",
          "kernel_digest": "sha256:96bc4cfa0b4c4dc33183c6c6c36cb074ef7ecf0c8a4e10dbd7552fefa7eeeb97",
          "output": {
            "corridor_cutoff": "batched",
            "draft_pinned": true,
            "finality_tier": "l1_final",
            "rationale": [
              "l2_block=1234567, batch_submission_status=submitted, l1_finalization_status=finalized, asset_type=tokenized_deposit.",
              "Classified finality_tier=\"l1_final\" (reorg_window_risk=\"none\") from supplied state only; this kernel classifies supplied state and does NOT observe the chain.",
              "finality_tier meets or exceeds the required corridor_cutoff (\"batched\"); release is safe under the supplied policy."
            ],
            "reorg_window_risk": "none",
            "safe_to_release": true
          }
        }
      }
    }
