{
  "origin_trial": "first-party token present",
  "tools": [
    {
      "url": "https://ainumbers.co/chaingraph/art-116-product-lineage-builder.html",
      "name": "build_product_lineage",
      "description": "Build cradle-to-gate supplier lineage with hash-only claims and carbon aggregation. EU ESPR DPP.",
      "input_schema_sha256": "a525508767c2497102f9d9953f018081b3d4d125a2785841f765c62c70555976",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-118-fsma204-cte-validator.html",
      "name": "validate_fsma204_cte",
      "description": "Validate required KDEs for FSMA 204 CTE types per the FDA Food Traceability List.",
      "input_schema_sha256": "b18b71271bb77be87671bb68043d651337641fb85d240fd49871f7a24a908353",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-119-traceability-lot-code-linker.html",
      "name": "link_traceability_lot_code",
      "description": "Link TLCs across FSMA 204 CTEs, detect breaks, flag transformation new-lot events.",
      "input_schema_sha256": "38b4ba839666156241f860a5964aee9799147157c39b2b573c2fac44446f2ffc",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-12-acp-checkout-conformance-validator.html",
      "name": "validate_acp_checkout",
      "description": "Validates ACP CheckoutRequest and CheckoutResponse payloads. Checks required fields, SPT structure, signature format, amount precision, currency codes, and agent-commerce-specific fields per the OpenAI/Stripe ACP specification.",
      "input_schema_sha256": "dae2e3a030bd48f2f0e9ce7fbe123a471630716380138dc23349893f6ded2a1e",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-123-c2pa-manifest-validator.html",
      "name": "validate_c2pa_manifest",
      "description": "Validate a decoded C2PA 2.x manifest structure: claim well-formedness, hard-binding hash assertion, and claim-signature reference. Structural validation only — does not verify the claim signature (see verify_content_credential_signature) or assert authenticity/provenance. Zero network, no state change, nothing issued or registered.",
      "input_schema_sha256": "9f45f103c71ac7e990e9934d26e3238ee456eaf557ef77088ff40d96f0a1599b",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-124-content-credential-signature-verifier.html",
      "name": "verify_content_credential_signature",
      "description": "Assess a C2PA COSE_Sign1 content-credential signature policy. The caller performs the signature check over the manifest bytes with the declared alg and attests the outcome via the required signature_verified input; this tool does not re-verify it. Trust anchor, cert-expiry, and revocation status are caller-supplied inputs, not independently checked. Zero network, no state change, nothing issued or registered. Emits ACCEPT or REFUSE.",
      "input_schema_sha256": "7e17166dae804c066eb1c29dc56294bfec1feb01ef647f7f1f19514463f85378",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-125-provenance-ingredient-tree-resolver.html",
      "name": "resolve_provenance_ingredient_tree",
      "description": "Walk the c2pa.ingredient parent-of tree and confirm hashed_uri bindings and nested manifest hashes chain back to the active manifest. Emits intact/broken verdict.",
      "input_schema_sha256": "4c991339c0f0e3542b271e74ccdbae4e3b0600291dc567c670ce698926474011",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-126-ai-act-art50-marking-checker.html",
      "name": "check_ai_act_art50_marking",
      "description": "Check c2pa.actions for Art. 50(2) AI source-type marking adequacy and Art. 50(4) deepfake disclosure. Penalty: EUR 15M / 3% turnover. Applies 2 Aug 2026.",
      "input_schema_sha256": "ae89a1de10e27bdf1ba6bb8840bfc3357a624e06ada1dc349082c4107012ef41",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-127-dual-layer-disclosure-verifier.html",
      "name": "verify_dual_layer_disclosure",
      "description": "Confirm both C2PA signed metadata and an imperceptible watermark are declared present per EU Commission Code of Practice (Art. 50 multi-layer). Emits DUAL_LAYER_PRESENT or DUAL_LAYER_INCOMPLETE.",
      "input_schema_sha256": "a9f587b09331ad8a128b4600a2808ca9efe40cd920967c932b45eebd1150634e",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-128-content-binding-assertion-validator.html",
      "name": "validate_content_binding_assertion",
      "description": "Validate hard-binding (tamper-evident asset hash match) vs soft-binding (watermark survives re-encode). Emits TAMPER_EVIDENT / SOFT_BINDING_ONLY / UNBOUND verdict. Terminal stage.",
      "input_schema_sha256": "43f1081ad9a9a5ca44c89413ae60dce6c8a41ab7dd92ec9ad651e3ad0eabad68",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-129-webbotauth-signature-verifier.html",
      "name": "verify_webbotauth_signature",
      "description": "Verify an RFC 9421 HTTP Message Signature for IETF Web Bot Auth (Ed25519). Reconstructs signature base from covered_components + signature_params, verifies via crypto.subtle. Zero network. Emits ACCEPT or REFUSE.",
      "input_schema_sha256": "2aa1826eff41736df779190eea2bd3652b39c34471a5b68bb1f241254ae84f2f",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-130-signature-directory-validator.html",
      "name": "validate_signature_directory",
      "description": "Validate a /.well-known/http-message-signatures-directory JWKS: path, all keys OKP+Ed25519, keyid resolution. Emits VALID or INVALID.",
      "input_schema_sha256": "5688e392051f13324b25dcd3750908f795b78883de27517426c793318fae32b8",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-131-signature-agent-card-validator.html",
      "name": "validate_signature_agent_card",
      "description": "Validate a Signature Agent Card: required fields + all card key IDs resolve against directory_keyids. Emits TRUSTED or UNTRUSTED.",
      "input_schema_sha256": "18cf077a7c2004d9462d265d87f1e8ae123a755ee1ac62b7fcbd3d7b7dda4000",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-132-agent-key-rotation-auditor.html",
      "name": "audit_agent_key_rotation",
      "description": "Audit Ed25519 key age and rotation posture. Computes key_age_s, checks rotation_due and next-key staging. Emits HEALTHY / ROTATION_STAGED / ACTION_REQUIRED.",
      "input_schema_sha256": "0cbc1deee1ee8a2cbe8f4160c656ad819032b5f618807bffce79c2c03e885b41",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-133-agent-payment-rail-trust-crosswalk.html",
      "name": "crosswalk_agent_payment_rail_trust",
      "description": "Crosswalk agent identity posture to Visa TAP, Mastercard Agent Pay, and Web Bot Auth. Per-rail {accepted, gaps[]}. Three rails checked.",
      "input_schema_sha256": "1feae73a17836009dd840cc2d73d85da45c9824b2b741c6e1f3163e9b6f712fc",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-134-agent-directory-publish-readiness.html",
      "name": "assess_agent_directory_publish_readiness",
      "description": "Emit go/no-go directory publish-readiness for Web Bot Auth / Visa TAP / MC Agent Pay. Five boolean checks. ready = all true; gaps = failing keys list.",
      "input_schema_sha256": "c48734b03054eb24241982f202484b6e8f1e3a1d2aa84944c23747326bead4b8",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-135-cyclonedx-sbom-validator.html",
      "name": "validate_cyclonedx_sbom",
      "description": "Validate a CycloneDX SBOM (bomFormat, specVersion, component name/version/purl, top-level dependencies) against the EU CRA Annex I machine-readable SBOM requirement. Feeds the SLSA provenance verifier (art-136). CRA SBOM mandate; full applicability 11 Dec 2027.",
      "input_schema_sha256": "46278c3e753860a7c372b01cb1f014cb6b30988b50ca9de95bcca09b6b30dbca",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-137-openvex-statement-validator.html",
      "name": "validate_openvex_statement",
      "description": "Validate an OpenVEX document: @context from openvex.dev, each statement has vulnerability, products[], valid status (not_affected/affected/fixed/under_investigation), and justification when status=not_affected. Zero network. Terminal node of sbom-provenance-attestation chain (art-135→136→137).",
      "input_schema_sha256": "a45f3ed0c81d8c32699d2c60d21b63966dc967f3aa0781beaa014cbe89eeb336",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-138-spdx-sbom-validator.html",
      "name": "validate_spdx_sbom",
      "description": "Validate an SPDX SBOM (spdxVersion 2.x/3.x, SPDXID, package name/versionInfo/downloadLocation or purl externalRef, relationships) against the EU CRA Annex I machine-readable SBOM requirement. Feeds CRA Annex I completeness checker (art-139). Full applicability 11 Dec 2027.",
      "input_schema_sha256": "46278c3e753860a7c372b01cb1f014cb6b30988b50ca9de95bcca09b6b30dbca",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-139-cra-annex1-completeness-checker.html",
      "name": "check_cra_annex1_completeness",
      "description": "Check EU CRA (Regulation 2024/2847) Annex I essential requirements: sbom_present, sbom_machine_readable, top_level_deps_covered, vuln_handling_policy_present, secure_by_default, and conformity_route (self_assessment/eu_type_examination/full_quality_assurance). Returns gaps list. Second node of cra-product-conformance chain (art-138→139→140). Full applicability 11 Dec 2027.",
      "input_schema_sha256": "b069774f2f1a4d7a1393bdc06993b4ce6999b916524e1ea6799720e4682098e1",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-140-cra-vuln-reporting-readiness.html",
      "name": "assess_cra_vuln_reporting_readiness",
      "description": "Assess EU CRA Article 14 vulnerability reporting readiness: actively_exploited_detection, early_warning_24h_process, notification_72h_process, csirt_enisa_endpoint_configured, coordinated_disclosure_policy. Returns gaps list. Terminal node of cra-product-conformance chain (art-138→139→140). Art.14 obligations apply 11 Sep 2026.",
      "input_schema_sha256": "48efff41c54c2f7ecc93d762edcb5cd7be4cea5c41fbd22e7af86e30be37e9a5",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-141-nis2-entity-scope-classifier.html",
      "name": "classify_nis2_entity",
      "description": "Classify an entity as Essential, Important, or Out-of-Scope under NIS2 Directive 2022/2555 Annex I and II, applying sector codes, employee/turnover size thresholds, and automatic-essential carve-outs. Root node of the nis2-compliance chain.",
      "input_schema_sha256": "2b4bed468f5a57829b33174a9c1a453eaa95f9e8faa403b3ef6544aede20c10a",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-144-nis2-incident-significance-scorer.html",
      "name": "score_nis2_incident_significance",
      "description": "Score a cybersecurity incident against NIS2 Article 23 significance thresholds. Returns significance_verdict (not_significant/significant/critical), triggering_factors, reporting_required, 24h/72h/30d deadlines, and notification recipients. Root node of nis2-incident-response chain.",
      "input_schema_sha256": "e3210dbf22fe38f5ebdd269f9a04fd070196246944ddab192d5d37d6ffff532b",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-145-nis2-ict-supply-chain-diligence-scorer.html",
      "name": "score_nis2_supply_chain_diligence",
      "description": "Score ICT vendor supply-chain diligence against NIS2 Article 21(2)(d) and ENISA framework. Evaluates 7 controls: ISO 27001, incident history, audit clause, breach notification SLA, EU data residency, sub-contractor count, service availability. Returns risk_score, risk_tier (low/medium/high/critical), active_risk_flags, and remediation_checklist. Middle node of nis2-incident-response chain.",
      "input_schema_sha256": "4c9fe417ae665c6f4f8b2408f2c6766f5f26d9d0acc238af51d55fc3d3a96a92",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-150-mcp-tool-scope-revocation-auditor.html",
      "name": "audit_mcp_tool_scope_revocation",
      "description": "Audit scoped and revocable MCP tool access: ungated grants, revocation endpoint presence, and token rotation status. Root node of the agent-authorization-lifecycle chain. Zero network.",
      "input_schema_sha256": "24484dad88e53bf818f4b970b7938bbd9061a1ecdcf63a7747bcbdc6f316cdfd",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-152-mcp-task-lifecycle-validator.html",
      "name": "validate_mcp_task_lifecycle",
      "description": "Validate long-running task state transitions per the new MCP spec state machine (working/input_required/completed/failed/cancelled). Caller supplies a JSON array of {from, to} transition objects. Terminal node of the agent-authorization-lifecycle chain. Zero network.",
      "input_schema_sha256": "6922b71b8ae2e5c29081801a89242bee4fcd55294541dfb37496b2f48d550514",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-154-emir-uti-completeness-checker.html",
      "name": "check_emir_uti_completeness",
      "description": "Validate EMIR Refit UTI format (ISO 23897, max 52 alphanumeric chars), generating-party LEI, and T+1 10:00 CET sharing timing. Caller supplies Unix timestamps for trade execution and UTI sharing. Returns format validity, deadline, and whether the T+1 SLA was met. Zero network, zero PII.",
      "input_schema_sha256": "56ae6011da0c07ad6f33765c9dc030b8a6187f746a3d0ff28c143c36005f547e",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-155-emir-upi-validator.html",
      "name": "validate_emir_upi",
      "description": "Validate EMIR Refit UPI format (ISO 4914, 12-char alphanumeric via ANNA DSB) and product classification consistency: asset class must be IR/CR/EQ/CO/FX and instrument type must be present. Returns format and classification verdict. Zero network, zero PII.",
      "input_schema_sha256": "54c5b2ddc17156c48e6d94c2aaa1d5a82bc2bbabd37dc75e0c4cf43d7cf95e2e",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-157-emir-lifecycle-event-validator.html",
      "name": "validate_emir_lifecycle_event",
      "description": "Validate an EMIR Refit action type against the prior UTI state: New/Position on unreported, Modify/Correct/Valuation/Terminate/Error on open, Revive/Correct/Error on terminated. Returns validity verdict, allowed actions for the state, and rejection reason if invalid. Zero network, zero PII.",
      "input_schema_sha256": "636c91eb22c30665ea364fcc1f1221e273346f94c301f246a3bf75a65c9848ad",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-158-emir-reporting-readiness-diagnostic.html",
      "name": "run_emir_reporting_fit",
      "description": "Grade a firm EMIR Refit reporting readiness across five dimensions: ISO 20022 cutover, UPI sourcing via ANNA DSB, UTI sharing SLA (10:00 CET T+1), reconciliation tolerance (148-field set), and lifecycle action controls. Returns A-F grade and gap list. Zero network, zero PII.",
      "input_schema_sha256": "d27f85f3823936f9b458a5f365c4e941a022e980fe847fd34abd4d0467bc9480",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-166-eudr-geolocation-plot-validator.html",
      "name": "validate_eudr_geolocation",
      "description": "Validates EUDR Art. 9(1)(d) plot-level geolocation. Checks GeoJSON type eligibility (Point for <4 ha, Polygon for ≥4 ha), coordinate ranges [-180,180] lon / [-90,90] lat, and size rule conformance. Returns valid flag, issues list, and compliance flags.",
      "input_schema_sha256": "c638b2c84db92debfc33c7b1399430efa697a2b1a73532df9d4dd5a8e0a2a032",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-167-eudr-commodity-scope-classifier.html",
      "name": "classify_eudr_commodity_scope",
      "description": "Classifies HS code against EUDR Annex I commodities (cattle, cocoa, coffee, oil palm, rubber, soya, wood). Returns in_scope flag, commodity name, entity_role, SME/micro status, DDS obligation, and enforcement deadline.",
      "input_schema_sha256": "10f786777e7b03999144b458b9dee8b3172ecb6331974bdce33f3f612e83dac6",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-168-eudr-country-benchmark-risk-scorer.html",
      "name": "score_eudr_country_risk",
      "description": "Score EUDR Art. 29 country benchmark risk tier (low/standard/high) to determine inspection rates and due-diligence intensity for supply-chain compliance.",
      "input_schema_sha256": "6ef86c164dc656e124e7213c7eb61a2687976f9cd00d1da7a85e77db2b428b89",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-175-gpai-code-of-practice-conformance.html",
      "name": "check_gpai_code_conformance",
      "description": "Checks GPAI provider obligations under EU AI Act Art. 53 and Art. 55 systemic-risk obligations. Returns base_obligations_met, systemic_obligations_met (if applicable), overall_conformant flag, gaps list, and compliance flags.",
      "input_schema_sha256": "6c3e69772d4ac61f3c32701555185749e66a020dc16b42a9c80345e8986d18be",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-195-creative-commons-license-chooser.html",
      "name": "choose_cc_license",
      "description": "Maps creator answers (waive all rights, allow commercial use, allow adaptations/share-alike) to the matching Creative Commons 4.0 license (CC0, CC BY, BY-SA, BY-ND, BY-NC, BY-NC-SA, BY-NC-ND). Returns license_id, spdx_id, license_url, required_elements, attribution_required. Deterministic decision tree. Selection only, not legal advice.",
      "input_schema_sha256": "38e85661fa7a108e514b90bae88cf13c9be0f53a16c1faf533df5cab9a0f327e",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-196-cant-be-evil-license-selector.html",
      "name": "select_cbe_license",
      "description": "Rights-matrix lookup for a16z's six Can't Be Evil NFT licenses. Returns cbe_id, current_enum_name, launch_alias, license_version_index, arweave_uri (current and legacy), full rights matrix, and normative caveats. Deterministic decision tree. Selection only, not legal advice.",
      "input_schema_sha256": "f9937987d4f711ed66572370a7359b7fabe962507bd0f4840e3391b0fc5ccd73",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-197-pil-flavor-mapper.html",
      "name": "map_pil_flavor",
      "description": "Maps creator answers to a Story Protocol PIL flavor and emits the full PILTerms struct. Returns flavor, flavor_label, pil_terms (full struct), license_terms_id. Three flavors: non_commercial_social_remixing (licenseTermsId=1), commercial_use, commercial_remix. Selection only, not legal advice.",
      "input_schema_sha256": "c165d0a28ef24c3ec591d5183a5367a4506d329a134fce0d3a62d88abc6059b2",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-201-iscc-content-code-generator.html",
      "name": "generate_iscc_code",
      "description": "Generates ISO 24138 ISCC content fingerprints for digital content. Computes Instance-Code (BLAKE3 data integrity), Data-Code (CDC + minhash similarity), optional Meta-Code (simhash over title n-grams from the supplied title), and a composite ISCC-CODE when at least one unit is available. Pure-JS implementation matching the iscc-core conformance vectors. TEXT and METADATA scope only.",
      "input_schema_sha256": "7ab6c0dc9f20353aed70d446b55b7ba5dc0b8f229c88fe93bd26b66256446eb6",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-207-attribution-string-generator.html",
      "name": "generate_attribution_string",
      "description": "Generates a human-readable TASL (Title/Author/Source/License) attribution line plus machine-readable ccREL JSON-LD and RDFa blocks for any Creative Commons licensed work. Not legal advice.",
      "input_schema_sha256": "6798fd25f00a51f759beea6a91b0ba6c779952a419c95bf9d07b30fc5f649d44",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-209-nft-metadata-validator.html",
      "name": "validate_nft_metadata_art209",
      "description": "Validates NFT metadata against ERC-721 and ERC-1155 required fields plus OpenSea metadata schema recommendations. Checks required fields, recommended fields, and license declaration. Not legal advice.",
      "input_schema_sha256": "011ca9af57c0d3a32e1a468c1cc298b270b6e49c68634800b0241a5a78e30b2f",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-210-ipfs-cid-computer.html",
      "name": "compute_ipfs_cid",
      "description": "Computes a deterministic IPFS CIDv1 (SHA-256 multihash, multibase base32) for any text input. Known vector: 'hello world' -> bafkreifzjut3te2nhyekklss27nh3k72ysco7y32koao5eei66wof36n5e.",
      "input_schema_sha256": "e031b170806fc3e175e771d51282ad5c22298bab73c67d5143aa41c87179a432",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-221-llpa-stack.html",
      "name": "compute_llpa_stack",
      "description": "Fannie Mae public LLPA (Loan-Level Price Adjustment) matrix calculator. FICO-by-LTV base grid plus feature surcharges: cash-out refinance, second home, investment property, warrantable condo, subordinate financing. Applies FTHB AMI waiver (SEL-2023-07, up to 1.75 pp reduction for first-time buyers at or below 100% AMI). Table version: FNM-LLPA-2025-11-01 (Fannie Mae public publication). Not check_agency_eligibility_matrix (DU/LPA approval grid) or check_conforming_loan_limit (FHFA size limits).",
      "input_schema_sha256": "b9d1c7452d819c4748663da68dba0e432ba05a44770bba7264f2da8b489352ad",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-225-va-funding-fee-residual.html",
      "name": "compute_va_funding_fee_residual",
      "description": "VA home loan funding fee (38 USC §3729) and residual income qualification. Funding fee table: first vs subsequent use, down-payment tiers (0%/5-9.99%/10%+), exemptions for service-connected disability/surviving spouse/Purple Heart. IRRRL: 0.50%. Residual income: VA Pamphlet 26-7 Ch.4 Tables 41A/41B by region (Northeast/Midwest/South/West) and family size; $80 per member above five. DTI benchmark: 41% (triggers residual income review when exceeded). Table versions: VA-FF-2025-01-01 (VA Circular 26-25-3); VA-PAMPHLET-26-7-CH4-2024.",
      "input_schema_sha256": "53a7b50b707d3c079007e06d730a7b43f3f4f09c2ecc29f93ac0ca136695656c",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-226-mismo-uldd-ulad.html",
      "name": "lint_mismo_uldd_ulad",
      "description": "ULDD Phase 5 / ULAD structural lint of required data points, enumerations, and conditionality rules. Checks field presence against ULDD Phase 5 required set, validates enum values from the public Fannie Mae ULDD Phase 5 Data Stencil and Freddie Mac ULAD Data Dictionary v1.3, enforces ARM-conditional fields, range constraints, and indicator consistency. ULDD Phase 5 mandate effective 2025-07-28. Inputs are bounded structural fields only; loan PII never leaves the browser. Lints public ULDD/ULAD data dictionaries only; does not embed or validate against the membership-licensed MISMO v3.x Reference Model schema. Table version: ULDD-PHASE5-ULAD-1.3-2025-07-28.",
      "input_schema_sha256": "0df84509a6781ef06b8393530aae3910a4d5b1ff8e1b47062f5ff0d652b21137",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-229-compute-disparity-metrics.html",
      "name": "compute_disparity_metrics",
      "description": "Computes three fair lending disparate impact metrics from aggregate lending counts: 4/5ths (80%) rule (adverse_impact_ratio) per EEOC 29 CFR §1607.4(D), z-statistic for statistical significance of the approval-rate difference, and standardised mean difference (Cohen's d). Inputs are aggregate counts only; no individual applicant records, names, demographic identifiers, or scores. ZERO PII BY CONSTRUCTION. EEOC Uniform Guidelines on Employee Selection Procedures (29 CFR §1607), HMDA/Reg C.",
      "input_schema_sha256": "ca6ab824daf572018bf1d90533ab538d3ad38ab6f10a9268f7c9e91c546ff31c",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-230-compute-hmda-rate-spread.html",
      "name": "compute_hmda_rate_spread",
      "description": "Computes the HMDA rate spread (APR minus APOR) per FFIEC methodology and classifies against HMDA reportability thresholds: 1.5 pp (first lien), 3.5 pp (subordinate lien), 6.5 pp (HELOC). Outputs rate_spread_pct, lien classification, is_reportable flag, and HPML indicator (1.5 pp first / 3.5 pp sub, triggers escrow and appraisal requirements under TILA). Table version: FFIEC-RATE-SPREAD-METHODOLOGY-2023.",
      "input_schema_sha256": "f344969a8f1eaeaa065293c7d78eb7b0b72909ac615e0ede5cc18dfb38b84f85",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-232-compute-scra-rate-cap.html",
      "name": "compute_scra_rate_cap",
      "description": "Computes the SCRA 6% interest rate cap per 50 USC §3937 for pre-service loan obligations. Calculates covered months, excess interest, and forgiveness amount. Excess interest is always forgiven (not deferred) per 50 USC §3937(a)(2). Checks servicemember notification requirement. Flags SCRA_RATE_CAP_VIOLATION (original rate > 6%) and SCRA_NOTIFICATION_MISSING. Table: SCRA-50USC3937-2022.",
      "input_schema_sha256": "79a6e6c9c3c5e7d58fe4249aa86243356af8b5f95ef2a3e712d9994893c157eb",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-242-pacs008-party-completeness-validator.html",
      "name": "validate_pacs008_party_completeness",
      "description": "Validates BIS CPMI d218 harmonised data requirements for a pacs.008 payment instruction: UETR UUIDv4 format, debtor and creditor names, BIC format, LEI format (presence and format; full mod-97 check-digit validation is in lint_lei_payment_binding art-246), and purpose code format. Outputs a CPMI d218 completeness score. Does not validate PostalAddress24 structure (use lint_cbpr_structured_address art-241) or PQC crypto readiness (use check_iso20022_pqc_readiness art-87).",
      "input_schema_sha256": "76a6f983faf5fd4ec5b96375d55d02b08330745fb3c3d822001f01de41b4e056",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-244-gpi-tracker-lifecycle-simulator.html",
      "name": "simulate_gpi_tracker_lifecycle",
      "description": "Validates SWIFT GPI pacs.002 payment status code transitions against the GPI state machine (PDNG, ACSP, ACSP/ACWC, ACCC, RJCT) and checks the Universal Confirmation SLA (ACCC must be sent within 24 hours of ACSP). Detects invalid transitions, transitions from terminal states, and SLA at-risk or breached conditions. For use in agent-driven GPI payment monitoring workflows.",
      "input_schema_sha256": "a2ba9338ccc7249f0057e9b4149d2e463386084d631e81293fee1088971e311d",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-249-compare-corridor-cost.html",
      "name": "compare_corridor_cost",
      "description": "Benchmarks a remittance corridor total cost (fee % + FX margin %) against the World Bank Remittance Prices Worldwide (RPW) Q1 2026 snapshot for the same origin-destination pair, the SmaRT global average (6.36%), and the SDG 10.c 3% target. Reports meets_sdg_target, vs_rpw_benchmark, cost_at_200_usd, and cost_at_500_usd. For stablecoin corridor all-in economics use model_stablecoin_corridor_economics (art-250). For Reg E disclosure arithmetic use compute_remittance_disclosure (art-248). ZERO PII: corridor codes, amounts, and rates only.",
      "input_schema_sha256": "0703bcf667a110e4fdd2b044782166faaa9fbc14377cf49a0df9256a6cb2dfb4",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-256-validate-openids-homeowners-record.html",
      "name": "validate_openids_homeowners_record",
      "description": "Validates homeowners insurance data records against the openIDS Homeowners Data Standard v1.0 (AAIS / Linux Foundation, November 2025) -- the first free open (Apache-2.0) insurance data standard. Checks required sections (policy, insured_location, coverage, premium), required fields per section, policy type (HO-1..HO-8, DP-1..DP-3), date ordering, payment plan, construction type, coverage limit positivity, and PII field detection. NOT an ACORD validator -- ACORD XML/AL3 is membership-licensed and is not referenced or reproduced here. ZERO PII: structural/field validation only.",
      "input_schema_sha256": "89f61d0f70ca200787526c5c022d0528a26490cf1a91e03d3a8ec8add95a5ae7",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-258-parse-camt053-reconciliation.html",
      "name": "parse_camt053_reconciliation",
      "description": "Classifies ISO 20022 camt.053 BkTxCd entries by Domain, Family, and SubFamily per the CGI-MP camt.053 Usage Guide v5.0 and the ISO 20022 ExternalBankTransactionCode1Code registry 2023-03. Validates the OPBD + sum(movements) = CLBD balance equation. Scores structured-remittance match rate. Emits reconciliation_status (CLEAN / PARTIAL_MATCH / LOW_MATCH_RATE / FAILED_BALANCE), match_rate_pct, and domain_buckets[]. Used in corporate TMS straight-through reconciliation. ZERO PII: no account-holder names or identifiers enter this kernel.",
      "input_schema_sha256": "5c5ae2c57de598a3f8339c6074003dc0bfa6a079751428a83f61a7e23f65b90c",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-263-score-cash-forecast-accuracy.html",
      "name": "score_cash_forecast_accuracy",
      "description": "Scores treasury cash forecast accuracy per AFP Cash Forecasting Survey 2024 benchmarks. Computes MAPE and directional bias across T+1/T+7/T+30/T+90+ horizon buckets. Detects persistent timing bias (>75% same-sign errors over >=4 observations). Returns overall_accuracy_tier (EXCELLENT <5% / GOOD 5-10% / ACCEPTABLE 10-20% / POOR >20%), by_horizon breakdown, and timing_bias_detected. ZERO PII: aggregate monetary amounts only, no account-holder identifiers.",
      "input_schema_sha256": "87ecc087955d054c82c73ffc55ab6e7f567d9abdeb2cf6b78ad924a8d57e4ca8",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-267-check-producer-license-reciprocity.html",
      "name": "check_producer_license_reciprocity",
      "description": "Checks NAIC producer license reciprocity for non-resident filing across target states per MDL-218 and NIPR Reciprocity Matrix 2024. Returns all_reciprocal (bool), non_standard_states[] (CA, FL, NJ, NY, HI, MN, WI -- require independent filing), and coverage_by_target[] with per-state reciprocal flag, LOA gaps, and independent-filing notes. State codes and NAIC LOA enum codes only. No National Producer Numbers. Zero PII by construction.",
      "input_schema_sha256": "50fa5b1d33180174f3e5c96cbf5607a24e6e1b7f855bbfecea118dbf2f962225",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-268-compute-cdd-ownership-25pct.html",
      "name": "compute_cdd_ownership_25pct",
      "description": "Recursive indirect natural-person beneficial ownership computation via ownership-tier multiplication. 25% threshold per FinCEN CDD Rule 31 CFR 1010.230 bank KYB customer due diligence. Returns is_beneficial_owner (bool), total_indirect_pct, and per-natural-person breakdown. Exactly 25% IS a beneficial owner (>=25 threshold). NOT the CTA/BOI domestic reporting rule (31 USC 5336) removed by FinCEN IFR 2025-03-21. For OFAC 50%-Rule sanctions aggregation see art-91-ownership-50pct-aggregator. Synthetic entity IDs only. Zero PII by construction.",
      "input_schema_sha256": "e027a748d0055cf72f36bbd10251de0dc4e30d51b7f08e2c9d0a020b352f92a8",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-274-compile-work-mandate.html",
      "name": "compile_work_mandate",
      "description": "Compiles a §22 Work Mandate document into a deterministic §21.4 gated-chain config. Transforms scope.tool_ids (or scope.chains) into an ordered steps[] skeleton, maps conditions into gate rules (op/value/next), and maps escalation_triggers into rules whose next routes to the reserved 'escalate' target (§22.3). All conditions and triggers must share one RFC 6901 pointer per §22.4 Rule 2; multi-pointer policies are rejected with error:'multi_pointer_gate'. Default for every gate is 'escalate'. Same mandate always produces byte-identical config (deterministic, hash-stable). Not a payment-mandate builder, not an audit-mandate tool, not an agent-OBO validator -- this compiles a policy mandate into an enforceable gated-chain config. Zero PII: structural mandate fields only.",
      "input_schema_sha256": "a7b150bfe19d134cfa486bfb228e9ad7e59797856dc2d325afae09ee6a8f9534",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-276-mutual-nda-composer.html",
      "name": "assemble_mutual_nda",
      "description": "Assembles a Common Paper Mutual NDA (Version 1.0, CC BY 4.0) from your Cover Page Key Terms: purpose, effective date, MNDA term, term of confidentiality, and governing law and jurisdiction. The Standard Terms body is vendored verbatim and never modified; only the Cover Page varies. Emits the assembled agreement plus a contract-api.json variable map twin for agent consumption. Party identity, signatures, and notice addresses stay as literal placeholder tokens for your own off-platform signing flow. Not legal advice.",
      "input_schema_sha256": "998bee9add0035df63f1f8abe7665817a3e63cd8a90cb3427d84d89baf70fdbe",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-277-agreement-acceptance-binder.html",
      "name": "bind_agreement_acceptance",
      "description": "Binds a party's acceptance to a specific assembled agreement artifact, referenced by its execution_hash, template_id, and vendored body_sha256, never by re-embedding the agreement text. Carries no party identity, only the accepting role and the referenced hashes. An OPTIONAL section-16 eddsa-jcs-2022 signature on the emitted artifact turns this into a countersignable acceptance receipt; an optional previous_proof_hash links a second party's acceptance to the first, forward-compatible with a future proof-chain endorsement. Not legal advice.",
      "input_schema_sha256": "25c33ec2787c17ee71765261759cf025c149b3538e532b0f28ff679e9cb4d25b",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-279-state-proof-verifier.html",
      "name": "verify_eth_state_proof",
      "description": "Verifies an EIP-1186 (eth_getProof) account and storage Merkle-Patricia-Trie proof against a caller-supplied trusted state root using a pure-JavaScript keccak-256 plus RLP decoder and bounded trie walk. Zero-egress, no RPC call. Does not verify that the state root itself belongs to a real canonical block; consensus-proof (light-client header) verification is out of scope. Persona: fund administrator or auditor confirming tokenized-MMF or deposit-token holdings without trusting an RPC provider.",
      "input_schema_sha256": "5e3a83d7929377fcb8049efca5c05b8f74a50bbd073f59014886ef15850b5797",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-289-lint-besu-settlement-contract.html",
      "name": "lint_besu_settlement_contract",
      "description": "Static conformance lint of a permissioned-EVM settlement contract (Solidity source or ABI) against six invariants: atomic PvP/DvP (paired-or-revert), no native-token/msg.value settlement dependence, a finality-hook/settlement event, a compliance-gate modifier preceding every value transfer, bounded participant-set loops, and upgradeability disclosure. Lightweight in-browser parse only, never solc, never a network call. v1 scope is source + ABI; bytecode/opcode heuristics are deferred. Not a security audit.",
      "input_schema_sha256": "b2adbdf890679e5e19fa59a98375ecbb88861b9153cf30ec960437d6ee2740cf",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-290-check-linea-l2-finality-window.html",
      "name": "check_linea_l2_finality_window",
      "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_sha256": "4ff1368a216f41c51dba5c4e67946dafc8da045256e0c289487a0f8dbdddc5b9",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-295-einvoice-jurisdiction-mandate-router.html",
      "name": "route_einvoice_jurisdiction_mandate",
      "description": "Route a transaction to its applicable e-invoicing mandate regime, format, phase status, and transmission channel via a version-pinned mandate table keyed on supplier/buyer country, transaction type, and transaction date. Covers France (PDP, live 2026-09-01), Germany (XRechnung), UAE (PINT-AE pilot), Malaysia (MyInvois), Belgium (Peppol BIS 3.0, mandatory since 2026-01-01), Poland (KSeF FA(3), mandatory-use phase-in from 2026-02-01). Zero network, zero PII.",
      "input_schema_sha256": "a3531bbcc3e102baee8049a907dbf2d3243ec76ce8986f9244a41f554f7b9f1a",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-318-rhc-regime-mapper.html",
      "name": "map_robinhood_chain_regime",
      "description": "Maps the regulatory regime implied by a pasted Robinhood Chain stock-token characterization: MiCA carve-out, MiFID II, prospectus exposure, no-US-persons gate, voting-rights disclosure.",
      "input_schema_sha256": "36e018c5c79eaaf38acf6e24e31263e0d4a5c03edcdd8476c2dab17614f26eba",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-32-a2a-agent-card-trust-chain-validator.html",
      "name": "validate_a2a_trust_chain",
      "description": "Validates an A2A v1.0 agent-card.json then assesses the delegated-authority trust chain into KYA-OS attestation and spend policy. Checks card schema, signature block, extension URIs, delegation depth ≤ 4, no scope escalation across hops, validity windows ≤ 90 days, no expired links, and spend-policy caps. Issues a unified PASS/WARN/FAIL trust determination and a single OpenChainGraph execution_hash receipt (chain_depth: 0, root). GPU: No.",
      "input_schema_sha256": "e0e4f6433a1aef9fad0f8708af580161a55654116e5a0f9e013f6cd37c9a3c0c",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-327-tvm-annuity.html",
      "name": "compute_annuity",
      "description": "Solves present value, future value, or payment for an ordinary annuity or annuity-due given the other two plus rate_pct and nper, matching Excel PV/FV/PMT semantics.",
      "input_schema_sha256": "d015167968f6f78f7ba9458729ada54fa7d2dd2f6cf1387a840bb9846d16d612",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-330-tvm-dv01.html",
      "name": "compute_dv01",
      "description": "DV01 for a standard even-period bullet bond via central-difference full reprice at yield plus and minus a declared basis-point shock (default 1bp).",
      "input_schema_sha256": "b5a47bcf1c25b105df986395ddcf55b2ee88ba24edddbd6869589ee40ecda278",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-331-tvm-convexity.html",
      "name": "compute_convexity",
      "description": "Standard closed-form convexity for a bullet bond, annualized by periods_per_year squared, with an optional convexity price-adjustment estimate for a declared yield_shock_bp.",
      "input_schema_sha256": "d1e34ce23ee02b136ff5be379f1d93d48c462c9883f9f0a8bc8b345e4fa7c8e6",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-371-simulate-var-monte-carlo.html",
      "name": "simulate_var_monte_carlo",
      "description": "Monte Carlo portfolio Value-at-Risk and Expected Shortfall over a one-factor correlated-asset model. Integer xoshiro256** PRNG, fixed-point arithmetic throughout — a declared seed replays byte-identically, a tampered seed does not. Declares SPEC.md §24.6.2 'seeded-stochastic' determinism class. Zero network, zero PII.",
      "input_schema_sha256": "c7b257a3c3f1cdd5c10ff8d1a72cd937fa7e0a4d4afd38851903452a065e9611",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-376-score-payee-name-match.html",
      "name": "score_payee_name_match",
      "description": "Deterministic, versioned single-pair payee name-matching score for VoP/CoP evidence. Normalizes (diacritics, legal-entity suffixes), scores by integer Levenshtein edit distance, bands MATCH/CLOSE_MATCH/NO_MATCH against declared thresholds. algorithm_version carried in the receipt. Zero network, zero PII.",
      "input_schema_sha256": "52f1fa6504ab10d6028ed736d10cd8070670d37493942477e61a6a2e439680f5",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-386-lint-cbom-structure.html",
      "name": "lint_cbom_structure",
      "description": "Validates a pasted CycloneDX 1.6 Cryptography Bill of Materials against a hand-derived field subset and classifies declared algorithm assets as quantum-vulnerable or CNSA-2.0 target-aligned. Structural lint only, every finding asserted. Zero network, zero PII.",
      "input_schema_sha256": "0514dbb5f52ef7d82423bbed1bf9a81d65a41d299d46833d3bb883ef40d135bb",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-39-tempo-zone-disclosure.html",
      "name": "validate_tempo_zone_disclosure",
      "description": "Maps a Tempo Zone's party-visibility model (operator-sees-all / users-see-own / outsiders-see-ZK-proofs) against AML/audit/regulator disclosure obligations. Confirms TIP-403 freeze/allowlist propagates cross-zone. Issues a privacy-and-auditability attestation for the board/regulator. Verdict: FULL_ATTESTATION / PARTIAL_ATTESTATION / INSUFFICIENT. ISO 20022 pacs.008-subset artifact. Zones live June 2026; payroll/treasury first use case.",
      "input_schema_sha256": "599118d2f0536007dea5d98983f363118c5f553ce1e07d83758fc9b1c1ef8b1b",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-428-cyber-incident-clock.html",
      "name": "compute_cyber_incident_notification_clock",
      "description": "Starts three parallel regulatory notification-deadline clocks from one hash-anchored cyber-incident determination timestamp: the 36-hour interagency banking-regulator rule (12 CFR 53/225/304), the 4-business-day SEC Form 8-K Item 1.05 notification (weekends-only business-day arithmetic; no federal holiday calendar is applied, a documented scope limit), and the 72-hour NYDFS 23 NYCRR 500.17(a) notice. Each obligation carries its own decision-tree attestation slot (applicable, deadline, completion state, a §22.11-shaped optional exception for an at-risk or missed deadline) and a stable obligation_id ready to be cited by a future Human-Accountability (BANK-SPEC-HA-1) approval record, without embedding a mutable reference inside its own hashed output. A pending SEC Item 1.05 rescission petition (flagged Apr 2026) is carried as an annotation only; it does not alter the computed deadline. Complementary to tools/incident-response-runbook-builder.html. This tool computes deadlines and attestation slots only; it does not itself transmit, file, or submit any regulatory notification, and it is not legal advice.",
      "input_schema_sha256": "7b351765dfa9b328ecac33a225665bf8eab1adc175e153c66bacccb5f4867a57",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-467-dora-incident-classifier.html",
      "name": "classify_dora_ict_incident_and_clock_deadlines",
      "description": "Classifies an ICT-related incident as major or non-major under DORA (EU 2022/2554) Art. 18, applying the published RTS (EU 2024/1772) numeric criteria (clients affected %, duration, geographical spread, data losses, economic impact, critical-services impact, reputational impact), then starts the DORA Art. 19 reporting clock (4-hour initial notification, 72-hour intermediate report, 1-calendar-month final report, all from classification) once classified major. Follows the art-428-cyber-incident-clock deadline-clock pattern for the EU DORA regime; see that node for the analogous US banking/SEC/NYDFS clock. Not a duplicate of the existing art-09-dora-incident-classifier (earlier draft-RTS citation, no notification-clock link, infrastructure_mandate) -- art-467 cites the final 2024 RTS/ITS package and is built to the attestation-clock pattern; the overlap between the two is flagged for review, not hidden. This node classifies and computes deadlines only; it does not itself transmit, file, or submit any regulatory notification, and it is not legal advice.",
      "input_schema_sha256": "07f5d67ed52979213059fe767c5b2067e476b56fd4b731c402d194a0b925d03b",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-50-ficc-margin-netting-estimator.html",
      "name": "estimate_ficc_margin_netting",
      "description": "DV01-bucket VaR proxy of the FICC VaR-based margin (VBM), the netting benefit of central vs bilateral clearing, cash-vs-repo cross-product netting, and the done-away uplift. Educational proxy - not the official FICC VBM calculator.",
      "input_schema_sha256": "6e5da724b94ec97e727f0be62e60be3c63d97fbf3e786fee1a0b9b236978f7bc",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-51-cross-margining-benefit-estimator.html",
      "name": "estimate_cross_margin_benefit",
      "description": "Estimates the initial-margin reduction from the FICC-CME cross-margining arrangement (customer expansion per SEC notice published 2025-12-22) by offsetting UST cash/repo DV01 against CME Treasury/SOFR futures DV01. Educational proxy.",
      "input_schema_sha256": "ce505e6278d795cb80e54fd09b98456b088cf3e07a647b2fcb2ec5957e2c1b0a",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-52-digital-trade-fit-diagnostic.html",
      "name": "run_digital_trade_fit",
      "description": "12-question A–F readiness diagnostic for digital trade / electronic trade documents (MLETR). Grades corridor legality, document digitisation, platform connectivity, trade-rule basis (eUCP/URDTT), financing, and AML/TBML controls; routes to the right chain and emits a remediation checklist.",
      "input_schema_sha256": "8b5838b6ac031a8df0273b12a5414baaa9969aae5937013dbd4d9ae7dad32128",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-53-mletr-ebl-conformance-validator.html",
      "name": "validate_mletr_record",
      "description": "Validates an electronic transferable record (eBL or other ETR) against MLETR functional-equivalence tests (Arts. 10–12: singularity, control, integrity, reliability) and scores cross-corridor legal enforceability from the UNCITRAL adoption status. Answers: will this eBL hold up at both ends of the corridor?",
      "input_schema_sha256": "338f43fa3c151eb7a2efbe7ea556eceb191b4b80e7ef0cdf80521a1b00ce9629",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-545-slate-readiness-diagnostic.html",
      "name": "run_slate_reporting_fit",
      "description": "Score a caller-declared covered-securities-loan reporting pipeline against 5 boolean FINRA Rule 6540 obligation-checklist dimensions: reporting-agent registration, same-day capture, field-spec mapping, unique loan-identifier scheme, and recordkeeping retention. Returns an A–F grade and a list of gaps. Zero network, zero PII.",
      "input_schema_sha256": "85027931e05ad4b6a4b690e399a8bdde7e1ef06ad74e9c09f6e7cfae807e9c3b",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-557-record-index-constituents.html",
      "name": "record_index_constituents",
      "description": "Gives an index's constituent set, as of a stated date, its own citable execution_hash -- the BMR/SEBI-shaped starting point ('what was in the index and why') that every downstream weighting or rebalance artifact cites rather than re-declaring. Attests that a declared constituent set exists exactly as stated, selected under a stated eligibility-criteria description, over caller-supplied constituent rows (security_id, name, sector, country) and a declared selection universe size. HARD FENCE: every constituent row and the eligibility-criteria description are supplied and asserted, never fetched (zero-egress); this attests THAT a declared set exists as stated, never whether the criteria was correctly applied against underlying market data, never a live index-provider feed. First entry of the Financial Index/Benchmark Administrator Lineage family, alongside the forthcoming compute_index_weights, compile_rebalance_evidence_pack and record_index_correction. Not fund NAV recomputation (art-373) or any benchmark-publisher scorecard. Corrections cite the prior artifact via the SPEC.md top-level supersedes field, not a bespoke status registry. EU Benchmark Regulation (BMR, Regulation (EU) 2016/1011) and SEBI benchmark-administrator framework citations informative only.",
      "input_schema_sha256": "c1c7e7604dee1d511494a3eaeea139771f6f4192b38a830c574b030c8d34e4f1",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-558-record-fund-positions.html",
      "name": "record_fund_positions",
      "description": "Gives a fund's declared positions snapshot, as of a stated valuation date, its own citable execution_hash -- the upstream input-receipt that the proven NAV chain (art-373-recompute-fund-nav) currently hashes internally, and that a separate wiring node can instead cite via an optional positions_ref rather than re-declaring the same holdings. Attests that a declared snapshot exists exactly as stated, over caller-supplied holdings rows (security_id, quantity, currency) and a declared shares_outstanding. HARD FENCE: fund_id, valuation_date, every holding row, and shares_outstanding are supplied and asserted, never fetched (zero-egress); this attests THAT a declared snapshot exists as stated, never whether it matches a custodian record, never a live position feed. Section 25 private-inputs review ruled not applicable and stated explicitly: holdings are echoed in cleartext by design, since the node's function is to give the declared snapshot a citable hash, not to hide it behind a commitment. Not fund NAV recomputation (art-373) and not a pricing input (a sibling record_pricing_inputs node covers pricing). Corrections cite the prior artifact via the SPEC.md top-level supersedes field, not a bespoke status registry.",
      "input_schema_sha256": "9709059351de6c7ffba453c30c59b5eabcc693284a05fa925a0bc094d17e8426",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-56-tokenized-settlement-fit-diagnostic.html",
      "name": "run_tokenized_settlement_fit",
      "description": "12-question A-F readiness diagnostic for wholesale tokenized settlement (tokenized deposits, central bank money, regulated stablecoins as settlement assets). Grades settlement-asset choice, finality regime, cross-network atomicity, asset-leg type, cash-leg issuer, intraday liquidity, and reconciliation controls; routes to the right wholesale-settlement chain and emits a remediation checklist.",
      "input_schema_sha256": "5be3d601dcaa228cfd213bc78e9ca9c1ae68d8d4f056997e75d098f9bdd846f5",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-560-oracle-price-aggregation.html",
      "name": "oracle_price_aggregation",
      "description": "Computes an oracle aggregate price from supplied submissions under a named aggregation mechanism, optionally citing the prior print of the same pair. Aggregation step only, zero egress, every submission supplied and asserted.",
      "input_schema_sha256": "a749298a2aba35c9324715e54428ea1b45cdd96bd70a7c6739ed9be5db7d2c70",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-581-emir3-simm-approval-scope-classifier.html",
      "name": "classify_emir3_simm_approval_scope",
      "description": "Classify which EMIR 3 initial-margin model-approval obligations apply to a declared counterparty profile: NCA prior authorisation, EBA central pro forma validation, the recurring annual application-data update, and the 2026 EBA onboarding window. Zero ISDA SIMM methodology content.",
      "input_schema_sha256": "00965e0c4e3759e150662acb884b200723b92a39343ada9f7c94498fc5839f0b",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-582-genius-reserve-disclosure-conformance-monitor.html",
      "name": "check_genius_reserve_disclosure_conformance",
      "description": "Checks a monthly PPSI reserve disclosure against two statute-derived GENIUS Act S.394 §4 requirements: 1:1 reserve coverage arithmetic and attestation presence/timeliness against the statutory monthly cadence. Verdict per requirement (MET/NOT_MET/INDETERMINATE). NARROWED 2026-08-07: the permitted-asset composition check is out of scope because no final GENIUS Act implementing regulation exists as of that date (all OCC/FDIC/Treasury/FinCEN/NCUA instruments remain NPRM/ANPRM). Never claims final-rule attribution or compliance certification. Cross-links the shipped pre-issuance precheck_reserve_attestation (art-06) and the fuller check_genius_reserve_disclosure (art-275).",
      "input_schema_sha256": "e0a8de6c82d8a5dd1e54d60b49502b60cb72ac9b6be6d6b5625628007308aca5",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-590-x402-eip712-digest-recomputer.html",
      "name": "recompute_x402_eip712_digest",
      "description": "Recomputes the EIP-712 digest (domain separator, struct hash, final digest) for an EIP-3009 TransferWithAuthorization struct from caller-supplied domain and authorization fields. All domain fields mandatory, never defaulted. No signature recovery, no settlement claim.",
      "input_schema_sha256": "4bb113f9cf96710b15e7c5d18321e6a29624e08afd9f09836b377c905515fda3",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-591-x402-signer-recovery-verifier.html",
      "name": "verify_x402_signer_recovery",
      "description": "Recovers the ECDSA signer address from an EIP-712 digest and a signature (r,s,v or r,s,yParity, with v/EIP-155 normalization), and compares it against an optional claimed from address. No hand-rolled crypto; recovery via the vendored, pinned noble-curves bundle. Malformed signatures produce a structured refusal, never a thrown error. No settlement or spend claim.",
      "input_schema_sha256": "ed3b69f7bd45a4e341ce936e691b0092ae7241a145e7b3babb0bc41e43f3fcd0",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-592-x402-domain-nonce-window-checker.html",
      "name": "check_x402_domain_nonce_window",
      "description": "Checks an EIP-3009 authorization's domain (expected vs. signed chainId/verifyingContract, hard refuse on mismatch), validAfter/validBefore window against a caller-supplied now_unix, and nonce format. Accepts an optional caller-supplied nonce_already_used flag. Never queries a chain.",
      "input_schema_sha256": "33710fd504a1784d7f49fc3e86eb52ef254147ddabc7829253477e8b6e7a9564",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-593-webbotauth-nonce-replay-check.html",
      "name": "check_webbotauth_nonce_replay",
      "description": "Check a Visa TAP-shaped nonce for format, freshness against an 8-minute created/expires window, and an optional caller-supplied seen-nonce record. Stateless — replay prevention depends on the caller's own storage.",
      "input_schema_sha256": "88d4750726a1d8c857500ea1b410ef26ec7d2394989ec8ce64278c4c37c39a3d",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-595-ap2-cartmandate-hashchain-builder.html",
      "name": "build_ap2_cartmandate_hashchain",
      "description": "Builds a deterministic hash-chain over an ordered cart_items array for an illustrative AP2 CartMandate VDC, or re-verifies a prior chain's links against a (possibly tampered) cart_items and reports whether it is intact plus the earliest divergent index.",
      "input_schema_sha256": "d4f3f6494bc4cf7b958d0a4fbf3a2365aaa22123fe4d403630575aa7a46bf4fc",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-596-ap2-x402-cart-correlation.html",
      "name": "correlate_ap2_cartmandate_x402",
      "description": "Correlates a built AP2 CartMandate against an x402_spend_evidence pack: cart total vs authorization value, merchant vs authorization recipient, and an independently re-derived cart hash-chain check. CORRELATION_STATUS vocabulary only (CORRELATED/NOT_CORRELATED/INDETERMINATE) -- never implies cryptographic binding.",
      "input_schema_sha256": "6381887ffe34c03576409a5bd60339d040993e774f63bf3021eb9ee133b56880",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-599-gleif-snapshot-digest.html",
      "name": "digest_gleif_snapshot",
      "description": "Hash-pin a pasted GLEIF Golden Copy record or file segment as of a caller-stated capture time. The digest covers the raw pasted bytes, never a parsed or re-serialized form. Reads LastUpdateDate only from the CDF XML element; for a CSV row the caller states it. Validates LEI syntax as a courtesy flag (ISO 17442 mod-97), never as a blocking gate. Zero network: the GLEIF URL is named, never fetched. Not a statement that the record is still current and no ongoing monitoring duty.",
      "input_schema_sha256": "fe0abedf3b9fbe7b5142727d75645ddbe503681858c14379e0d1eb7e3657e13f",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-60-agent-economy-runtime-fit-diagnostic.html",
      "name": "run_agent_economy_fit",
      "description": "12-question A-F readiness diagnostic for the agent-economy runtime / post-trade layer (x402 V2 batch settlement, AP2 PaymentReceipt, Human-Not-Present autonomy, reconciliation, metering, runtime fraud). Grades an agent platform/operator and routes to the right agent-economy chain.",
      "input_schema_sha256": "e1d2a4f7e3a58275f38716bcada9b0bb324adfbcfb971e5ba7f7f668975827c9",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-600-lei-relationship-consistency.html",
      "name": "check_lei_relationship_consistency",
      "description": "Check four structural invariants over a pasted set of GLEIF Level-2 relationship records for one subject LEI: node LEI validity (ISO 17442 mod-97), no direct-parent cycle, exception-code well-formedness against a versioned constant, and no overlapping duplicate active edges. A violation flags a possible inconsistency in GLEIF's published data, never a statement about the entity's actual corporate structure. An empty record set returns consistent:null, not a clean pass. Zero network.",
      "input_schema_sha256": "44c245cc58742b2797a3ea357e92929663a85304c324f663ba4ee440a784e481",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-605-merkle-airdrop-proof-verifier.html",
      "name": "verify_merkle_airdrop_proof",
      "description": "Recomputes a Merkle airdrop-claim proof from a declared leaf (address, amount) and sibling path to a claimed root, OpenZeppelin MerkleProof.verify shape, and optionally re-verifies a prior proof trace to report the earliest step where a recompute diverges.",
      "input_schema_sha256": "33252b1c8d68f02fca5476bea15154584a3e8225b4d39024effadc3236728e63",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-607-erc1967-proxy-slot-classifier.html",
      "name": "classify_erc1967_proxy_slot",
      "description": "Recomputes the four canonical EIP-1967 storage slots (bytes32(uint256(keccak256(label)) - 1) for the implementation, admin, beacon, and rollback labels) fresh on every call using the vendored keccak256 bundle already pinned in this repository, then classifies a caller-supplied (declared_slot, storage_value) pair: which of the four roles declared_slot matches, if any, and whether storage_value looks like the zero-padded 20-byte address EIP-1967 expects at that slot (extracting and EIP-55 checksumming the embedded address when it does). Zero network calls: this tool never reads live chain state -- declared_slot and storage_value are both caller-supplied, read by the caller from their own eth_getStorageAt call or a block explorer, and may already be stale by the time they are pasted in. Address/slot-level fact only: renders no upgrade-safety, admin-trustworthiness, or implementation-safety judgment, and a non-standard declared_slot does not itself prove a contract is not a proxy.",
      "input_schema_sha256": "68d968da865785140884109cb844cfd16c931d239c9bd031288f029b8741821b",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-608-erc2981-royalty-calculator.html",
      "name": "calculate_erc2981_royalty",
      "description": "Recomputes an ERC-2981 royalty amount as floor(sale_price * royalty_fraction_bps / 10000) -- the same integer-division convention the OpenZeppelin reference ERC2981 implementation uses -- from a caller-declared sale_price and royalty_fraction_bps, using BigInt arithmetic throughout so a sale_price beyond Number.MAX_SAFE_INTEGER never loses precision. Flags a bps value above 10000 (100%) as out of range (the value the reference implementation reverts on) while still reporting the raw recompute, and compares against an optional claimed_royalty_amount. Zero network calls: this tool never queries a contract's actual royaltyInfo() return value -- sale_price, royalty_fraction_bps, and receiver are all caller-declared. Cross-links 528-nft-metadata-validator and 521-cant-be-evil-nft-license-picker for adjacent NFT-standard surfaces (metadata shape, license terms) this tool does not cover. ERC-2981 royalty payment is a voluntary off-chain convention: this tool makes no claim that any marketplace will actually pay the computed amount.",
      "input_schema_sha256": "6ded7fa1fd4c6547bb048ae282a1222db161be575a8a77873ffbb1b0c9cf3957",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-609-jwks-pinned-directory-check.html",
      "name": "check_jwks_pinned_directory",
      "description": "Confirms a caller-supplied JWKS directory document matches a caller-pinned SHA-256 digest, before art-130 trusts its shape. Zero network, zero key hosting -- both inputs are caller-supplied.",
      "input_schema_sha256": "92139acfe0b4a0664ebbd83901bebe87ed543b2f37ea0f2a8beb0b70ab30a333",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-610-erc4626-vault-share-math.html",
      "name": "recompute_erc4626_vault_share_math",
      "description": "Recomputes ERC-4626 vault share/asset conversions from declared vault state under the rounding directions the standard mandates per function, plus a deposit-then-redeem round-trip loss bound, exchange-rate drift between two snapshots, and a declared fee application.",
      "input_schema_sha256": "97b271e85b91d5c38eb09274147c5238b586579e33fc2e832f8fd5b8bbed6bf4",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-613-erc4337-userop-math.html",
      "name": "recompute_erc4337_userop_math",
      "description": "Recomputes the ERC-4337 userOpHash under a declared EntryPoint version (0.6 or 0.7), computes the required prefund from caller-supplied gas limits, and reconciles a declared paymaster charge against one recomputed from declared inputs. Never derives L1 data or blob fees and never fetches block.basefee. Zero network calls, no settlement claim.",
      "input_schema_sha256": "d064e3ef1950000eae5ec831a181d0a8b593d151f56526167aaa74aeb86b66d6",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-614-eip7702-authorization-tuple-decoder.html",
      "name": "decode_eip7702_authorization_tuple",
      "description": "Recomputes the EIP-7702 authorization-tuple hash from declared (chain_id, address, nonce), recovers the ECDSA signer, and reports the address-only fact of the delegate the EOA is authorizing. Never judges the delegate's code. chain_id=0 (cross-chain) is disclosed, not treated as an error. No hand-rolled crypto; recovery via the vendored, pinned noble-curves bundle. Malformed input produces a structured refusal, never a thrown error. No on-chain-submission or settlement claim.",
      "input_schema_sha256": "923dac84ceac8c3f85d8fcc64f85a09b28222db163cff90e040a0b26c8a8dfad",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-615-mla-charge-inclusion-classifier.html",
      "name": "classify_mla_charge_inclusion",
      "description": "Classifies whether a given charge type must be included in the Military Lending Act MAPR under 32 CFR 232.4(c) and 232.4(d). Returns included_in_mapr as true, false or conditional, the exact paragraph cited, a plain basis sentence, conditional_limit_usd where the regulation names a figure, and manual_review_required with a reason on the one cell the closed set cannot resolve. Performs no arithmetic and computes no MAPR.",
      "input_schema_sha256": "aeff7db0754f7eb0638c83fcd97f54da45770ac37f241d5a725243a6b33875b8",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-634-codm-expense-significance-classifier.html",
      "name": "classify_codm_expense_significance",
      "description": "Classifies one candidate segment expense under the ASU 2023-07 significant expense principle in ASC 280. Returns must_disclose_separately_50_26A, folds_into_other_segment_items_50_26B with the applicable ASC 280-10-50-26B buckets, outside_significant_expense_principle, separate_disclosure_required_50_22, the paragraphs cited and a basis sentence. Takes the significance assessment as a caller judgment and computes no benchmark, because the Update states none. Performs no arithmetic.",
      "input_schema_sha256": "deac80b063b727f5c69b1f6681cbbc9b540d8abcf2fe25dc194e88ab8d3ce39c",
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "url": "https://ainumbers.co/chaingraph/art-635-rate-rec-5pct-threshold-classifier.html",
      "name": "classify_rate_rec_5pct_threshold",
      "description": "Applies the ASC 740-10-50-12A(b) 5 percent quantitative threshold, as amended by ASU 2023-09, to one rate reconciliation item. Returns pct_of_threshold_base, crosses_5pct_threshold, must_disclose_separately, the required disaggregation for the declared category, and a named caveat where the threshold base is degenerate. Comparison is absolute value on both sides per BC35.",
      "input_schema_sha256": "bde9cf13b83c6f9ed6fb89f2fde101032e8faab262256b73759f7ed0f01dac57",
      "annotations": {
        "readOnlyHint": true
      }
    }
  ]
}
