Completion preset catalog
Canonical JSON catalog of completion archetypes and vendor packs — shared by Harbor, the policy console, Kit CLI, and docs.
catalog.json
{
"$schema": "./catalog.schema.json",
"version": 1,
"presets": [
{
"preset_id": "api_response_ok",
"title": "API response OK",
"description": "Paid API returned HTTP success with a vendor reference and response digest in evidence.",
"harbor_template_id": "api_response_v1",
"parameters": {
"http_status_path": [
"http_status"
],
"expected_http_status": 200
},
"evidence_schema": {
"type": "object",
"properties": {
"http_status": {
"type": "integer"
},
"vendor_ref_id": {
"type": "string"
},
"response_digest": {
"type": "string"
}
},
"required": [
"http_status",
"vendor_ref_id",
"response_digest"
]
},
"sample_evidence": {
"http_status": 200,
"vendor_ref_id": "ch_3NxExample",
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"sample_failing_evidence": {
"http_status": 500,
"vendor_ref_id": "ch_3NxExample",
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"human_summary": "Release when HTTP status is 200 and vendor_ref_id plus response_digest are present with schema types.",
"recommended_amount_cents": 500,
"scope": "tool_completion",
"spend_hints": {
"approval_threshold_cents": 2500,
"per_tool_max_cents": 10000
}
},
{
"preset_id": "webhook_confirmed",
"title": "Webhook confirmed",
"description": "Async vendor confirmation captured in evidence with event type and webhook identifiers.",
"harbor_template_id": "webhook_confirmation_v1",
"parameters": {
"event_type_path": [
"event_type"
],
"expected_event_type": "payment.succeeded"
},
"evidence_schema": {
"type": "object",
"properties": {
"webhook_event_id": {
"type": "string"
},
"event_type": {
"type": "string"
},
"payload_digest": {
"type": "string"
}
},
"required": [
"webhook_event_id",
"event_type",
"payload_digest"
]
},
"sample_evidence": {
"webhook_event_id": "evt_1NxExample",
"event_type": "payment.succeeded",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"sample_failing_evidence": {
"webhook_event_id": "evt_1NxExample",
"event_type": "payment.failed",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"human_summary": "Release when event_type is payment.succeeded and webhook_event_id plus payload_digest are present.",
"recommended_amount_cents": 1000,
"scope": "tool_completion",
"spend_hints": {
"approval_threshold_cents": 5000,
"per_tool_max_cents": 25000
}
},
{
"preset_id": "artifact_attested",
"title": "Artifact attested",
"description": "Work proven by out-of-band artifact hashes with operation and vendor reference fields.",
"harbor_template_id": "artifact_hash_v1",
"parameters": {
"operation_path": [
"operation"
],
"expected_operation": "attested"
},
"evidence_schema": {
"type": "object",
"properties": {
"artifact_blake3_hex": {
"type": "array",
"items": {
"type": "string"
}
},
"operation": {
"type": "string"
},
"vendor_ref_id": {
"type": "string"
}
},
"required": [
"artifact_blake3_hex",
"operation",
"vendor_ref_id"
]
},
"sample_evidence": {
"artifact_blake3_hex": [
"7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
],
"operation": "attested",
"vendor_ref_id": "job_9kExample"
},
"sample_failing_evidence": {
"artifact_blake3_hex": [
"7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
],
"operation": "pending",
"vendor_ref_id": "job_9kExample"
},
"human_summary": "Release when operation is attested, artifact_blake3_hex is a non-empty array, and vendor_ref_id matches the evidence schema.",
"recommended_amount_cents": 2500,
"scope": "tool_completion",
"spend_hints": {
"approval_threshold_cents": 10000,
"per_tool_max_cents": 50000
}
},
{
"preset_id": "cost_and_completion",
"title": "Cost and completion",
"description": "Completion-style status check plus evidence cost capped by intent amount_cents.",
"harbor_template_id": "completion_budget_v1",
"parameters": {
"status_path": [
"status"
],
"expected_status": "completed",
"cost_path": [
"cost_cents"
]
},
"evidence_schema": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"cost_cents": {
"type": "integer"
}
},
"required": [
"status",
"cost_cents"
]
},
"sample_evidence": {
"status": "completed",
"cost_cents": 10
},
"sample_failing_evidence": {
"status": "failed",
"cost_cents": 10
},
"human_summary": "Release when status is completed and cost_cents is within the intent budget.",
"recommended_amount_cents": 100,
"scope": "tool_completion",
"spend_hints": {
"approval_threshold_cents": 1000,
"per_tool_max_cents": 5000
}
},
{
"preset_id": "sandbox_permissive",
"title": "Sandbox permissive",
"description": "Always release; use only for fast sandbox integration before strong completion rules.",
"harbor_template_id": "true_v1",
"parameters": {},
"evidence_schema": {
"type": "object",
"properties": {
"confirmation_id": {
"type": "string"
},
"charged_cents": {
"type": "integer"
}
}
},
"sample_evidence": {
"confirmation_id": "sandbox-smoke-001",
"charged_cents": 1
},
"sample_failing_evidence": {},
"human_summary": "Always pass (no evidence conditions). Opt in explicitly for sandbox smoke tests.",
"recommended_amount_cents": 100,
"scope": "sandbox_smoke"
},
{
"preset_id": "stripe_charge",
"kind": "vendor_pack",
"archetype_preset_id": "api_response_ok",
"title": "Stripe charge succeeded",
"description": "Thin wrapper over api_response_ok with Stripe charge id field conventions.",
"harbor_template_id": "api_response_v1",
"parameters": {
"http_status_path": [
"http_status"
],
"expected_http_status": 200
},
"evidence_field_map": {
"charge_id": "vendor_ref_id",
"http_status": "http_status",
"response_digest": "response_digest"
},
"vendor_evidence_schema": {
"type": "object",
"properties": {
"charge_id": {
"type": "string",
"description": "Stripe charge id (ch_...)"
},
"http_status": {
"type": "integer"
},
"response_digest": {
"type": "string"
}
},
"required": [
"charge_id",
"http_status",
"response_digest"
]
},
"evidence_schema": {
"type": "object",
"properties": {
"http_status": {
"type": "integer"
},
"vendor_ref_id": {
"type": "string"
},
"response_digest": {
"type": "string"
}
},
"required": [
"http_status",
"vendor_ref_id",
"response_digest"
]
},
"vendor_sample_evidence": {
"charge_id": "ch_3NxExample",
"http_status": 200,
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"sample_evidence": {
"http_status": 200,
"vendor_ref_id": "ch_3NxExample",
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"sample_failing_evidence": {
"http_status": 402,
"vendor_ref_id": "ch_3NxExample",
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"human_summary": "Release when Stripe charge HTTP status is 200 with charge_id mapped to vendor_ref_id plus response_digest.",
"recommended_amount_cents": 500,
"spend_hints": {
"approval_threshold_cents": 2500,
"per_tool_max_cents": 10000
},
"scope": "tool_completion",
"rail_hints": [
"stripe_connect"
],
"forbidden_evidence_fields": [
"payment_intent_id",
"payment_session_id",
"authorization_id",
"mandate_id"
],
"anti_patterns": [
"Do not submit Stripe PaymentIntent or funding webhook payloads as tool-completion evidence."
],
"vendor_contract": {
"provider": "stripe",
"api_version": "2024-10-28.acacia",
"contract_kind": "json_schema",
"quality_fields": [
"charge_id",
"response_digest"
],
"schema_digest_hex": "ed987475f2756ad37dd04e6a9fe6ab6e0ca77fa974d9e142306dcb665c481dd0",
"canonical_schema_digest_hex": "95a6b806adf78cab5fbb4f7bb871d1114268620c0d12cf61cfa8405558ea2577"
}
},
{
"preset_id": "vendor_webhook_confirmed",
"kind": "vendor_pack",
"archetype_preset_id": "webhook_confirmed",
"title": "Vendor webhook confirmed",
"description": "Async vendor SaaS webhook as tool-completion evidence. Use vendor job/order events — not payment-rail funding webhooks.",
"harbor_template_id": "webhook_confirmation_v1",
"parameters": {
"event_type_path": [
"event_type"
],
"expected_event_type": "job.completed"
},
"evidence_field_map": {
"webhook_event_id": "webhook_event_id",
"event_type": "event_type",
"payload_digest": "payload_digest"
},
"vendor_evidence_schema": {
"type": "object",
"properties": {
"webhook_event_id": {
"type": "string",
"description": "Vendor webhook delivery id"
},
"event_type": {
"type": "string"
},
"payload_digest": {
"type": "string"
}
},
"required": [
"webhook_event_id",
"event_type",
"payload_digest"
]
},
"evidence_schema": {
"type": "object",
"properties": {
"webhook_event_id": {
"type": "string"
},
"event_type": {
"type": "string"
},
"payload_digest": {
"type": "string"
}
},
"required": [
"webhook_event_id",
"event_type",
"payload_digest"
]
},
"vendor_sample_evidence": {
"webhook_event_id": "wh_9kExample",
"event_type": "job.completed",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"sample_evidence": {
"webhook_event_id": "wh_9kExample",
"event_type": "job.completed",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"sample_failing_evidence": {
"webhook_event_id": "wh_9kExample",
"event_type": "job.failed",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"human_summary": "Release when vendor webhook event_type is job.completed with webhook_event_id and payload_digest present.",
"recommended_amount_cents": 1000,
"spend_hints": {
"approval_threshold_cents": 5000,
"per_tool_max_cents": 25000
},
"scope": "tool_completion",
"forbidden_evidence_fields": [
"payment_intent_id",
"mandate_id",
"latest_charge_id",
"transfer_id",
"refund_id",
"stripe_event_id",
"payment_session_id",
"authorization_id"
],
"anti_patterns": [
"Do not use Stripe funding events (payment_intent.succeeded) as tool-completion evidence.",
"Do not use Coinbase authorization or x402 payment-session webhooks as tool-completion evidence."
],
"vendor_contract": {
"provider": "generic",
"api_version": "vendor_webhook_v1",
"contract_kind": "json_schema",
"quality_fields": [
"webhook_event_id",
"payload_digest"
],
"schema_digest_hex": "734fb59c4ebd0316367ee58936e5d74884c0c6995ffd04d018e38e54101d5026",
"canonical_schema_digest_hex": "b81b781604c053abcb6fbdf2a03d7e4f8fd27ad3e1a84b967c5d80d7071c9364"
}
},
{
"preset_id": "stripe_webhook_payment",
"kind": "vendor_pack",
"archetype_preset_id": "webhook_confirmed",
"deprecated": true,
"superseded_by": "vendor_webhook_confirmed",
"title": "Stripe payment webhook (deprecated)",
"description": "Deprecated alias — use vendor_webhook_confirmed. Accepts legacy stripe_event_id field name for one release cycle.",
"harbor_template_id": "webhook_confirmation_v1",
"parameters": {
"event_type_path": [
"event_type"
],
"expected_event_type": "job.completed"
},
"evidence_field_map": {
"stripe_event_id": "webhook_event_id",
"webhook_event_id": "webhook_event_id",
"event_type": "event_type",
"payload_digest": "payload_digest"
},
"vendor_evidence_schema": {
"type": "object",
"properties": {
"stripe_event_id": {
"type": "string",
"description": "Legacy Stripe event id (evt_...) — prefer webhook_event_id"
},
"event_type": {
"type": "string"
},
"payload_digest": {
"type": "string"
}
},
"required": [
"stripe_event_id",
"event_type",
"payload_digest"
]
},
"evidence_schema": {
"type": "object",
"properties": {
"webhook_event_id": {
"type": "string"
},
"event_type": {
"type": "string"
},
"payload_digest": {
"type": "string"
}
},
"required": [
"webhook_event_id",
"event_type",
"payload_digest"
]
},
"vendor_sample_evidence": {
"stripe_event_id": "evt_1NxExample",
"event_type": "job.completed",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"sample_evidence": {
"webhook_event_id": "evt_1NxExample",
"event_type": "job.completed",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"sample_failing_evidence": {
"webhook_event_id": "evt_1NxExample",
"event_type": "job.failed",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"human_summary": "Deprecated — use vendor_webhook_confirmed. Release when event_type is job.completed with webhook id and payload digest.",
"recommended_amount_cents": 1000,
"spend_hints": {
"approval_threshold_cents": 5000,
"per_tool_max_cents": 25000
},
"scope": "tool_completion",
"rail_hints": [
"stripe_connect"
],
"forbidden_evidence_fields": [
"payment_intent_id",
"mandate_id",
"latest_charge_id",
"transfer_id",
"refund_id",
"stripe_event_id"
],
"anti_patterns": [
"Do not use Stripe funding events (payment_intent.succeeded) as tool-completion evidence."
],
"vendor_contract": {
"provider": "stripe",
"api_version": "stripe_webhook_legacy_v1",
"contract_kind": "json_schema",
"quality_fields": [
"stripe_event_id",
"payload_digest"
],
"supersedes": "vendor_webhook_v1",
"migration_notes": "Deprecated — use vendor_webhook_confirmed with webhook_event_id instead of stripe_event_id.",
"schema_digest_hex": "3beb0917385fda70dedcf838dee9dbf6e81b316f30aaf9f615ec46a77277d189",
"canonical_schema_digest_hex": "b81b781604c053abcb6fbdf2a03d7e4f8fd27ad3e1a84b967c5d80d7071c9364"
}
},
{
"preset_id": "ach_paid_api_ok",
"kind": "vendor_pack",
"archetype_preset_id": "api_response_ok",
"title": "ACH paid API OK",
"description": "Synchronous vendor HTTP confirmation after ACH-funded capability gate. Maps confirmation_number to vendor_ref_id.",
"harbor_template_id": "api_response_v1",
"parameters": {
"http_status_path": [
"http_status"
],
"expected_http_status": 200
},
"evidence_field_map": {
"confirmation_number": "vendor_ref_id",
"http_status": "http_status",
"response_digest": "response_digest"
},
"vendor_evidence_schema": {
"type": "object",
"properties": {
"confirmation_number": {
"type": "string",
"description": "Vendor booking or order confirmation id"
},
"http_status": {
"type": "integer"
},
"response_digest": {
"type": "string"
}
},
"required": [
"confirmation_number",
"http_status",
"response_digest"
]
},
"evidence_schema": {
"type": "object",
"properties": {
"http_status": {
"type": "integer"
},
"vendor_ref_id": {
"type": "string"
},
"response_digest": {
"type": "string"
}
},
"required": [
"http_status",
"vendor_ref_id",
"response_digest"
]
},
"vendor_sample_evidence": {
"confirmation_number": "AA-8JZ3QK",
"http_status": 200,
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"sample_evidence": {
"http_status": 200,
"vendor_ref_id": "AA-8JZ3QK",
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"sample_failing_evidence": {
"http_status": 500,
"vendor_ref_id": "AA-8JZ3QK",
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"human_summary": "Release when vendor HTTP status is 200 with confirmation_number mapped to vendor_ref_id plus response_digest.",
"recommended_amount_cents": 20000,
"spend_hints": {
"approval_threshold_cents": 5000,
"per_tool_max_cents": 50000
},
"scope": "tool_completion",
"rail_hints": [
"stripe_ach_debit"
],
"forbidden_evidence_fields": [
"payment_intent_id",
"mandate_id",
"latest_charge_id",
"transfer_id",
"refund_id",
"stripe_event_id"
],
"anti_patterns": [
"Do not submit Stripe PaymentIntent, mandate, or ACH funding webhook payloads as tool-completion evidence."
],
"vendor_contract": {
"provider": "generic",
"api_version": "ach_paid_api_v1",
"contract_kind": "json_schema",
"quality_fields": [
"confirmation_number",
"response_digest"
],
"schema_digest_hex": "3da94a416d36a31864058ace9392c12ca3f43aefba78f1b1829fb90568c9cc39",
"canonical_schema_digest_hex": "95a6b806adf78cab5fbb4f7bb871d1114268620c0d12cf61cfa8405558ea2577"
}
},
{
"preset_id": "ach_travel_booking",
"kind": "vendor_pack",
"archetype_preset_id": "cost_and_completion",
"title": "ACH travel booking",
"description": "Travel booking completion with confirmation_number, total_cents budget cap, and fare_class metadata. Mirrors the admin ACH walkthrough demo.",
"harbor_template_id": "completion_budget_v1",
"parameters": {
"status_path": [
"status"
],
"expected_status": "completed",
"cost_path": [
"total_cents"
]
},
"evidence_field_map": {
"confirmation_number": "confirmation_number",
"total_cents": "total_cents",
"fare_class": "fare_class",
"status": "status"
},
"vendor_evidence_schema": {
"type": "object",
"properties": {
"confirmation_number": {
"type": "string"
},
"total_cents": {
"type": "integer"
},
"fare_class": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"confirmation_number",
"total_cents",
"fare_class",
"status"
]
},
"evidence_schema": {
"type": "object",
"properties": {
"confirmation_number": {
"type": "string"
},
"total_cents": {
"type": "integer"
},
"fare_class": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"confirmation_number",
"total_cents",
"fare_class",
"status"
]
},
"vendor_sample_evidence": {
"confirmation_number": "AA-8JZ3QK",
"total_cents": 19750,
"fare_class": "economy",
"status": "completed"
},
"sample_evidence": {
"confirmation_number": "AA-8JZ3QK",
"total_cents": 19750,
"fare_class": "economy",
"status": "completed"
},
"sample_failing_evidence": {
"confirmation_number": "AA-8JZ3QK",
"total_cents": 19750,
"fare_class": "business",
"status": "failed"
},
"human_summary": "Release when status is completed and total_cents is within the intent budget. confirmation_number and fare_class are schema-validated metadata.",
"recommended_amount_cents": 20000,
"spend_hints": {
"approval_threshold_cents": 10000,
"per_tool_max_cents": 50000
},
"scope": "tool_completion",
"rail_hints": [
"stripe_ach_debit"
],
"forbidden_evidence_fields": [
"payment_intent_id",
"mandate_id",
"latest_charge_id",
"transfer_id",
"refund_id",
"stripe_event_id"
],
"anti_patterns": [
"Do not submit Stripe PaymentIntent or ACH funding webhook payloads as tool-completion evidence."
],
"vendor_contract": {
"provider": "generic",
"api_version": "ach_travel_booking_v1",
"contract_kind": "json_schema",
"quality_fields": [
"fare_class",
"total_cents"
],
"schema_digest_hex": "2fb55ee27008a7d59d2df78f80dc144121e54056c71f53c62c90c5f00200dd91",
"canonical_schema_digest_hex": "2fb55ee27008a7d59d2df78f80dc144121e54056c71f53c62c90c5f00200dd91"
}
},
{
"preset_id": "ach_vendor_webhook",
"kind": "vendor_pack",
"archetype_preset_id": "webhook_confirmed",
"title": "ACH vendor webhook",
"description": "Async vendor webhook after ACH-funded tool execution. Explicitly not payment_intent.* funding events.",
"harbor_template_id": "webhook_confirmation_v1",
"parameters": {
"event_type_path": [
"event_type"
],
"expected_event_type": "booking.confirmed"
},
"evidence_field_map": {
"vendor_event_id": "webhook_event_id",
"vendor_event_type": "event_type",
"payload_digest": "payload_digest"
},
"vendor_evidence_schema": {
"type": "object",
"properties": {
"vendor_event_id": {
"type": "string"
},
"vendor_event_type": {
"type": "string"
},
"payload_digest": {
"type": "string"
}
},
"required": [
"vendor_event_id",
"vendor_event_type",
"payload_digest"
]
},
"evidence_schema": {
"type": "object",
"properties": {
"webhook_event_id": {
"type": "string"
},
"event_type": {
"type": "string"
},
"payload_digest": {
"type": "string"
}
},
"required": [
"webhook_event_id",
"event_type",
"payload_digest"
]
},
"vendor_sample_evidence": {
"vendor_event_id": "wh_travel_8JZ3QK",
"vendor_event_type": "booking.confirmed",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"sample_evidence": {
"webhook_event_id": "wh_travel_8JZ3QK",
"event_type": "booking.confirmed",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"sample_failing_evidence": {
"webhook_event_id": "wh_travel_8JZ3QK",
"event_type": "booking.cancelled",
"payload_digest": "blake3:2c26b46b68ffc68ff99b453c1d3041340e45ee0e6daef0f4c932b8d4b8e8bb2e"
},
"human_summary": "Release when vendor_event_type is booking.confirmed with vendor_event_id mapped to webhook_event_id and payload digest present.",
"recommended_amount_cents": 20000,
"spend_hints": {
"approval_threshold_cents": 10000,
"per_tool_max_cents": 50000
},
"scope": "tool_completion",
"rail_hints": [
"stripe_ach_debit"
],
"forbidden_evidence_fields": [
"payment_intent_id",
"mandate_id",
"latest_charge_id",
"transfer_id",
"refund_id",
"stripe_event_id"
],
"anti_patterns": [
"Do not use payment_intent.* Stripe funding events as tool-completion evidence."
],
"vendor_contract": {
"provider": "generic",
"api_version": "ach_vendor_webhook_v1",
"contract_kind": "json_schema",
"quality_fields": [
"vendor_event_id",
"payload_digest"
],
"schema_digest_hex": "0dfacbc0ed9b8436c1a36e4d095d3813ae0ee9b7fbc1b3d46b5a441dd493984f",
"canonical_schema_digest_hex": "b81b781604c053abcb6fbdf2a03d7e4f8fd27ad3e1a84b967c5d80d7071c9364"
}
},
{
"preset_id": "x402_paid_api_ok",
"kind": "vendor_pack",
"archetype_preset_id": "api_response_ok",
"title": "x402 paid API OK",
"description": "HTTP tool completion behind an x402-funded intent. Same pattern as stripe_charge without Stripe field names.",
"harbor_template_id": "api_response_v1",
"parameters": {
"http_status_path": [
"http_status"
],
"expected_http_status": 200
},
"evidence_field_map": {
"vendor_ref_id": "vendor_ref_id",
"http_status": "http_status",
"response_digest": "response_digest"
},
"vendor_evidence_schema": {
"type": "object",
"properties": {
"vendor_ref_id": {
"type": "string",
"description": "Vendor job or resource reference"
},
"http_status": {
"type": "integer"
},
"response_digest": {
"type": "string"
}
},
"required": [
"vendor_ref_id",
"http_status",
"response_digest"
]
},
"evidence_schema": {
"type": "object",
"properties": {
"http_status": {
"type": "integer"
},
"vendor_ref_id": {
"type": "string"
},
"response_digest": {
"type": "string"
}
},
"required": [
"http_status",
"vendor_ref_id",
"response_digest"
]
},
"vendor_sample_evidence": {
"vendor_ref_id": "job_9kExample",
"http_status": 200,
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"sample_evidence": {
"http_status": 200,
"vendor_ref_id": "job_9kExample",
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"sample_failing_evidence": {
"http_status": 402,
"vendor_ref_id": "job_9kExample",
"response_digest": "blake3:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"human_summary": "Release when HTTP status is 200 with vendor_ref_id and response_digest present.",
"recommended_amount_cents": 500,
"spend_hints": {
"approval_threshold_cents": 2500,
"per_tool_max_cents": 10000
},
"scope": "tool_completion",
"rail_hints": [
"x402_usdc_base"
],
"forbidden_evidence_fields": [
"payment_session_id",
"authorization_id",
"capture_id",
"void_id",
"x402_payment_session_id",
"onchain_transaction_hashes"
],
"anti_patterns": [
"Do not submit Coinbase payment-session or authorization payloads as tool-completion evidence."
],
"vendor_contract": {
"provider": "x402",
"api_version": "x402_api_v1",
"contract_kind": "json_schema",
"quality_fields": [
"vendor_ref_id",
"response_digest"
],
"schema_digest_hex": "873dfa3000388d1bc0b730872ca2509560ce0346e7c3b1023ba97d5c7f25e1bf",
"canonical_schema_digest_hex": "95a6b806adf78cab5fbb4f7bb871d1114268620c0d12cf61cfa8405558ea2577"
}
},
{
"preset_id": "x402_delivery_receipt",
"kind": "vendor_pack",
"archetype_preset_id": "artifact_attested",
"title": "x402 delivery receipt",
"description": "x402 Signed Offer & Receipt extension mapped to artifact_attested. Maps resourceUrl to vendor_ref_id — not Coinbase session ids.",
"harbor_template_id": "artifact_hash_v1",
"parameters": {
"operation_path": [
"operation"
],
"expected_operation": "attested"
},
"evidence_field_map": {
"receipt_digest": "artifact_blake3_hex",
"resource_url": "vendor_ref_id",
"operation": "operation"
},
"vendor_evidence_schema": {
"type": "object",
"properties": {
"receipt_digest": {
"type": "string",
"description": "BLAKE3 hex digest of signed x402 receipt bytes"
},
"resource_url": {
"type": "string",
"description": "x402 resourceUrl from signed receipt"
},
"operation": {
"type": "string"
}
},
"required": [
"receipt_digest",
"resource_url",
"operation"
]
},
"evidence_schema": {
"type": "object",
"properties": {
"artifact_blake3_hex": {
"type": "array",
"items": {
"type": "string"
}
},
"operation": {
"type": "string"
},
"vendor_ref_id": {
"type": "string"
}
},
"required": [
"artifact_blake3_hex",
"operation",
"vendor_ref_id"
]
},
"vendor_sample_evidence": {
"receipt_digest": "7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069",
"resource_url": "https://api.vendor.example/job/123",
"operation": "attested"
},
"sample_evidence": {
"artifact_blake3_hex": [
"7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
],
"operation": "attested",
"vendor_ref_id": "https://api.vendor.example/job/123"
},
"sample_failing_evidence": {
"artifact_blake3_hex": [
"7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
],
"operation": "pending",
"vendor_ref_id": "https://api.vendor.example/job/123"
},
"human_summary": "Release when operation is attested, receipt_digest maps to artifact_blake3_hex, and resource_url maps to vendor_ref_id.",
"recommended_amount_cents": 2500,
"spend_hints": {
"approval_threshold_cents": 10000,
"per_tool_max_cents": 50000
},
"scope": "tool_completion",
"rail_hints": [
"x402_usdc_base"
],
"forbidden_evidence_fields": [
"payment_session_id",
"authorization_id",
"capture_id",
"void_id",
"x402_payment_session_id",
"onchain_transaction_hashes"
],
"anti_patterns": [
"Do not submit Coinbase payment-session ids or on-chain auth transaction hashes as tool-completion evidence."
],
"vendor_contract": {
"provider": "x402",
"api_version": "x402_receipt_v1",
"contract_kind": "mapper_version",
"quality_fields": [
"receipt_digest",
"resource_url"
],
"schema_digest_hex": "04d3de014778e39be771bcc267b742f8fb701ce5c0aa75c27c24a564714e1ae0",
"canonical_schema_digest_hex": "20e4dced0ae235b09c2613cd9fc551f2d85c0ff6781d34c763b57d7222c0d3e0"
}
},
{
"preset_id": "x402_cost_and_completion",
"kind": "vendor_pack",
"archetype_preset_id": "cost_and_completion",
"title": "x402 cost and completion",
"description": "Metered agent tool completion on the x402_usdc_base rail with standard status and cost_cents fields.",
"harbor_template_id": "completion_budget_v1",
"parameters": {
"status_path": [
"status"
],
"expected_status": "completed",
"cost_path": [
"cost_cents"
]
},
"evidence_field_map": {
"status": "status",
"cost_cents": "cost_cents"
},
"vendor_evidence_schema": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"cost_cents": {
"type": "integer"
}
},
"required": [
"status",
"cost_cents"
]
},
"evidence_schema": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"cost_cents": {
"type": "integer"
}
},
"required": [
"status",
"cost_cents"
]
},
"vendor_sample_evidence": {
"status": "completed",
"cost_cents": 10
},
"sample_evidence": {
"status": "completed",
"cost_cents": 10
},
"sample_failing_evidence": {
"status": "failed",
"cost_cents": 10
},
"human_summary": "Release when status is completed and cost_cents is within the intent budget.",
"recommended_amount_cents": 100,
"spend_hints": {
"approval_threshold_cents": 1000,
"per_tool_max_cents": 5000
},
"scope": "tool_completion",
"rail_hints": [
"x402_usdc_base"
],
"forbidden_evidence_fields": [
"payment_session_id",
"authorization_id",
"capture_id",
"void_id",
"x402_payment_session_id",
"onchain_transaction_hashes"
],
"anti_patterns": [
"Do not submit Coinbase authorization or payment-session payloads as tool-completion evidence."
],
"vendor_contract": {
"provider": "x402",
"api_version": "x402_metered_v1",
"contract_kind": "json_schema",
"quality_fields": [
"status",
"cost_cents"
],
"schema_digest_hex": "30a152fec1fa2965578938f26b82c805263f15e324db1be345453dc65598cc9c",
"canonical_schema_digest_hex": "30a152fec1fa2965578938f26b82c805263f15e324db1be345453dc65598cc9c"
}
}
]
}