{
  "tool_id": "art-549-g20-corridor-cost-gap",
  "note": "Vectors computed directly from the shipped kernel. Covers a corridor meeting the 2027 retail target, a corridor exceeding the 2030 remittance target, and the missing-required-fields finite gate (COSTGAP_INPUTS_INSUFFICIENT, gap_bps/meets_target null, never NaN).",
  "vectors": [
    {
      "name": "meets-2027-target",
      "description": "US->MX corridor observed 2.50%, checked against the 2027 retail target (<=3% any corridor); meets.",
      "policy_parameters": {
        "as_of": "2026-08-01",
        "corridor_pair": {
          "send_country": "US",
          "receive_country": "MX"
        },
        "observed_cost_bps": 250,
        "send_amount_basis": "USD_200",
        "target_year": 2027
      },
      "output_payload": {
        "as_of": "2026-08-01",
        "corridor_pair": {
          "send_country": "US",
          "receive_country": "MX"
        },
        "observed_cost_bps": 250,
        "observed_cost_display": "2.50%",
        "send_amount_basis": "USD_200",
        "target_year": 2027,
        "target_scope": "retail cross-border payments",
        "target_any_corridor_bps": 300,
        "target_any_corridor_display": "3.00%",
        "target_global_avg_bps": 100,
        "target_global_avg_display": "1.00%",
        "target_basis": "G20/FSB 2027 retail target: ≤1% global avg / ≤3% any corridor",
        "gap_bps": -50,
        "gap_pct_display": "-0.50%",
        "meets_target": true,
        "rpw_methodology": {
          "name": "World Bank Remittance Prices Worldwide (RPW)",
          "version": "Q325",
          "url": "https://remittanceprices.worldbank.org/methodology"
        },
        "rejected_inputs": [],
        "rationale": [
          "Corridor US→MX, observed cost 2.50% on the USD 200 RPW basket, checked against the 2027 target (\"G20/FSB 2027 retail target: ≤1% global avg / ≤3% any corridor\").",
          "gap_pct = observed 2.50% - target 3.00% (any-corridor ceiling) = -0.50%. Corridor meets the target.",
          "Global-average target for this year (1.00%) is reported for context only -- it describes the overall market average, not this single corridor, and is not itself checkable from one corridor's observed cost.",
          "These are G20/FSB roadmap targets, not an enforceable deadline against any single firm. This is a transparency/benchmarking recompute, not a compliance-gate verdict.",
          "Corridor cost table sourced by the caller from World Bank Remittance Prices Worldwide (RPW) (methodology Q325, https://remittanceprices.worldbank.org/methodology) or elsewhere; this kernel does not embed or vendor RPW's own corridor cost data."
        ],
        "note": "Deterministic recompute of a caller-declared corridor's cost gap against the hardcoded G20/FSB roadmap target for the declared year. Zero live FX/rate calls; the caller supplies the observed cost, sourced from World Bank RPW or elsewhere, and this kernel never embeds or vendors RPW's own corridor cost table. Targets are transparency/benchmarking figures, not an enforceable deadline against any single firm."
      },
      "compliance_flags": [
        "COSTGAP_MEETS_TARGET"
      ],
      "golden_hash": "5882443b44e07f47cf0b05ad527fb0b6b39a9a19bed8601c2e4ee5aa79ba3b88"
    },
    {
      "name": "exceeds-2030-target",
      "description": "US->NG corridor observed 6.75%, checked against the 2030 remittance target (<=5% any corridor); exceeds.",
      "policy_parameters": {
        "as_of": "2026-08-01",
        "corridor_pair": {
          "send_country": "US",
          "receive_country": "NG"
        },
        "observed_cost_bps": 675,
        "send_amount_basis": "USD_500",
        "target_year": 2030
      },
      "output_payload": {
        "as_of": "2026-08-01",
        "corridor_pair": {
          "send_country": "US",
          "receive_country": "NG"
        },
        "observed_cost_bps": 675,
        "observed_cost_display": "6.75%",
        "send_amount_basis": "USD_500",
        "target_year": 2030,
        "target_scope": "remittances",
        "target_any_corridor_bps": 500,
        "target_any_corridor_display": "5.00%",
        "target_global_avg_bps": 300,
        "target_global_avg_display": "3.00%",
        "target_basis": "G20/FSB 2030 remittance target: ≤3% global avg / ≤5% any corridor",
        "gap_bps": 175,
        "gap_pct_display": "1.75%",
        "meets_target": false,
        "rpw_methodology": {
          "name": "World Bank Remittance Prices Worldwide (RPW)",
          "version": "Q325",
          "url": "https://remittanceprices.worldbank.org/methodology"
        },
        "rejected_inputs": [],
        "rationale": [
          "Corridor US→NG, observed cost 6.75% on the USD 500 RPW basket, checked against the 2030 target (\"G20/FSB 2030 remittance target: ≤3% global avg / ≤5% any corridor\").",
          "gap_pct = observed 6.75% - target 5.00% (any-corridor ceiling) = 1.75%. Corridor exceeds the target.",
          "Global-average target for this year (3.00%) is reported for context only -- it describes the overall market average, not this single corridor, and is not itself checkable from one corridor's observed cost.",
          "These are G20/FSB roadmap targets, not an enforceable deadline against any single firm. This is a transparency/benchmarking recompute, not a compliance-gate verdict.",
          "Corridor cost table sourced by the caller from World Bank Remittance Prices Worldwide (RPW) (methodology Q325, https://remittanceprices.worldbank.org/methodology) or elsewhere; this kernel does not embed or vendor RPW's own corridor cost data."
        ],
        "note": "Deterministic recompute of a caller-declared corridor's cost gap against the hardcoded G20/FSB roadmap target for the declared year. Zero live FX/rate calls; the caller supplies the observed cost, sourced from World Bank RPW or elsewhere, and this kernel never embeds or vendors RPW's own corridor cost table. Targets are transparency/benchmarking figures, not an enforceable deadline against any single firm."
      },
      "compliance_flags": [
        "COSTGAP_EXCEEDS_TARGET"
      ],
      "golden_hash": "4d50534f8af7c32848724ace02ba391bd6404ef5349d8b5fa4b08d30f863e687"
    },
    {
      "name": "inputs-insufficient",
      "description": "Missing corridor_pair and target_year: finite gate returns COSTGAP_INPUTS_INSUFFICIENT, never NaN, gap_bps null.",
      "policy_parameters": {
        "as_of": "2026-08-01",
        "observed_cost_bps": 400,
        "send_amount_basis": "USD_200"
      },
      "output_payload": {
        "as_of": "2026-08-01",
        "corridor_pair": {
          "send_country": null,
          "receive_country": null
        },
        "observed_cost_bps": 400,
        "observed_cost_display": "4.00%",
        "send_amount_basis": "USD_200",
        "target_year": null,
        "target_scope": null,
        "target_any_corridor_bps": null,
        "target_any_corridor_display": null,
        "target_global_avg_bps": null,
        "target_global_avg_display": null,
        "target_basis": null,
        "gap_bps": null,
        "gap_pct_display": null,
        "meets_target": null,
        "rpw_methodology": {
          "name": "World Bank Remittance Prices Worldwide (RPW)",
          "version": "Q325",
          "url": "https://remittanceprices.worldbank.org/methodology"
        },
        "rejected_inputs": [
          {
            "where": "corridor_pair",
            "reason": "absent or not an object",
            "supplied": null
          },
          {
            "where": "corridor_pair.send_country",
            "reason": "absent or not a 2-letter ISO country code",
            "supplied": null
          },
          {
            "where": "corridor_pair.receive_country",
            "reason": "absent or not a 2-letter ISO country code",
            "supplied": null
          },
          {
            "where": "target_year",
            "reason": "must be exactly 2027 or 2030",
            "supplied": null
          }
        ],
        "rationale": [
          "One or more required declared inputs is missing or malformed; see rejected_inputs. No gap can be computed against an undeclared target or corridor.",
          "These are G20/FSB roadmap targets, not an enforceable deadline against any single firm. This is a transparency/benchmarking recompute, not a compliance-gate verdict.",
          "Corridor cost table sourced by the caller from World Bank Remittance Prices Worldwide (RPW) (methodology Q325, https://remittanceprices.worldbank.org/methodology) or elsewhere; this kernel does not embed or vendor RPW's own corridor cost data."
        ],
        "note": "Deterministic recompute of a caller-declared corridor's cost gap against the hardcoded G20/FSB roadmap target for the declared year. Zero live FX/rate calls; the caller supplies the observed cost, sourced from World Bank RPW or elsewhere, and this kernel never embeds or vendors RPW's own corridor cost table. Targets are transparency/benchmarking figures, not an enforceable deadline against any single firm."
      },
      "compliance_flags": [
        "COSTGAP_INPUTS_INSUFFICIENT"
      ],
      "golden_hash": "8ff3fb40f970238d4977962e5a3602c9b6448f243987bcce7813da61e6101822"
    }
  ]
}
