{
  "tool_id": "art-16-google-ap2-mandate-builder",
  "tool_version": "1.0.0",
  "display_name": "Google AP2 Mandate Builder",
  "mcp_name": "draft_ap2_mandate_credential",
  "mandate_type": "payment_policy",
  "wave": "A",
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-16-google-ap2-mandate-builder.html",
  "description": "Builds an illustrative Google AP2 Checkout/Payment Mandate Verifiable Digital Credential (VDC) skeleton from a declared mandate type, stage, agent, subject, merchant, and amount. Stage 2 of the Agentic Policy Chain. This is the EXTERNAL Google AP2 payments protocol shape (ap2-protocol.org), distinct from the AINumbers Policy Mandate export. Field names are illustrative; sign with the agent key and verify against the live spec before real use. Zero PII, deterministic compute.",
  "input_schema_ref": "chaingraph/art-16-google-ap2-mandate-builder.html#manifest",
  "consumes": [
    "art-15-agentic-mandate-sandbox",
    "art-22-agentic-payments-protocol-comparator",
    "art-27-agentic-readiness-diagnostic"
  ],
  "feeds": [
    "art-17-ap2-mcp-policy-validator",
    "art-23-visa-trusted-agent-protocol-inspector"
  ],
  "status": "live",
  "conformance_fixtures": false,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:f16c71bd2744673ca2bd40dc97c04c0a360c89ebb528bcef913f7243adfc6c29",
      "valid_from": "2026-07-10"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-07-31"
    }
  ],
  "compute_proof_ready": "ready",
  "export_capability": [
    "json"
  ],
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "JTwGdT5LA/HzAyKd1QN1WP5Kr6AEWVoS5SxxSGDSEVgeQQFebi9XgkGNqHfw+NMSR7hOObdAeFva0bzDb7Oj2QQ8ka5avA2fuVmBH0M03t7UDxhV7e0V/yAoaCJektyGF5HbE2KTlRRlY1KyAaq/wl0+cmyY/6wREQecTF9TLvYsDj8ePt6nrq+zYOQPG34vyNbYjvkTWQz6JfwwlmcT9zBWQbo3DPXijsSPsbZX1VOYGnTiwIjqqk53dOlUKvUMI0GdV1CrblQULiwj3Epr71cKp6eu+zr8Ix57RAQR6Psqueb4xoIar98aXPgWWdSlT7b6momZnMrJnAJtTIqaqQ==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:f16c71bd2744673ca2bd40dc97c04c0a360c89ebb528bcef913f7243adfc6c29",
      "output": {
        "has_proof": true,
        "issuer": "did:web:agent.example.com",
        "note": "Illustrative Google AP2 mandate skeleton (external spec, ap2-protocol.org) — distinct from the AINumbers Policy Mandate. Field names illustrative; sign with the agent key and verify against the live spec before real use.",
        "vdc": {
          "@context": [
            "https://www.w3.org/ns/credentials/v2",
            "https://ap2-protocol.org/context/v1"
          ],
          "credentialSubject": {
            "constraints": {
              "goal": "user-stated purchase intent",
              "merchantAllowList": [
                "merchant.example.com"
              ]
            },
            "id": "urn:user:demo-001",
            "mandateType": "checkout",
            "merchant": "merchant.example.com",
            "stage": "open"
          },
          "issuer": "did:web:agent.example.com",
          "proof": {
            "cryptosuite": "eddsa-2022",
            "proofPurpose": "assertionMethod",
            "proofValue": "<ILLUSTRATIVE — sign with the agent key>",
            "type": "DataIntegrityProof",
            "verificationMethod": "did:web:agent.example.com#key-1"
          },
          "type": [
            "VerifiableCredential",
            "CheckoutMandate"
          ]
        },
        "vdc_stage": "open",
        "vdc_type": "CheckoutMandate"
      }
    }
  }
}
