{
  "openapi": "3.1.0",
  "info": {
    "title": "PubFi Capability Agent Integration API",
    "version": "2026-06-04",
    "summary": "OpenAPI surface for agent discovery and dry-run planning over PubFi capability contracts.",
    "description": "This schema is generated from Discovery CapabilityCard fixtures. It describes contract discovery and dry-run planning only; live gateway calls require separately documented PubFi gateway routes and authentication."
  },
  "servers": [
    {
      "url": "https://pubfi.ai",
      "description": "Production"
    }
  ],
  "paths": {
    "/v1/capabilities": {
      "get": {
        "operationId": "listPubFiCapabilities",
        "summary": "List PubFi capability contracts for agents",
        "description": "Returns the derived capability discovery surface with input schemas, normalized envelope references, provenance, freshness, and error modes.",
        "responses": {
          "200": {
            "description": "Capability discovery surface",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentCapabilityDiscovery"
                },
                "examples": {
                  "fixture": {
                    "value": {
                      "schema": "pubfi.discovery.agent_integration_surface.v1",
                      "canonical": {
                        "capability_contract_source": "fixtures/discovery/internal_capability_catalog.json",
                        "public_directory_source": "fixtures/discovery/public_directory.json",
                        "source_freshness_registry_source": "fixtures/discovery/source_freshness_registry.json",
                        "routing_eval_source": "fixtures/discovery/routing_golden.json",
                        "canonical_note": "CapabilityCard records are canonical; this file and the OpenAPI file are derived agent-integration surfaces."
                      },
                      "derived_outputs": [
                        {
                          "rel": "agent_capability_discovery",
                          "href": "/discovery/agent-capabilities.json",
                          "media_type": "application/json",
                          "description": "Public JSON artifact generated from the Discovery capability contract set."
                        },
                        {
                          "rel": "openapi",
                          "href": "/openapi/pubfi-capabilities-openapi.json",
                          "media_type": "application/vnd.oai.openapi+json;version=3.1",
                          "description": "OpenAPI 3.1 dry-run planning and capability discovery surface."
                        },
                        {
                          "rel": "agents_markdown",
                          "href": "/agents.md",
                          "media_type": "text/markdown",
                          "description": "Agent-readable Markdown guide linking PubFi public integration surfaces."
                        }
                      ],
                      "api_surfaces": [
                        {
                          "surface_id": "pubfi.discovery.http.capabilities",
                          "method": "GET",
                          "path": "/v1/capabilities",
                          "operation_id": "listPubFiCapabilities",
                          "input_schema_ref": null,
                          "output_schema_ref": "#/components/schemas/AgentCapabilityDiscovery",
                          "description": "List capability contracts, input schemas, output envelopes, provenance, freshness, and error modes."
                        },
                        {
                          "surface_id": "pubfi.discovery.http.plan",
                          "method": "POST",
                          "path": "/v1/plan",
                          "operation_id": "planPubFiCapabilityRoute",
                          "input_schema_ref": "#/components/schemas/AgentPlanRequest",
                          "output_schema_ref": "#/components/schemas/AgentPlan",
                          "description": "Dry-run route planning surface; it does not call providers, paid routes, or procurement systems."
                        }
                      ],
                      "normalized_envelope": {
                        "schema_ref": "#/$defs/NormalizedCapabilityEnvelope",
                        "description": "Normalized envelope reference every capability output must map into before an agent treats data as usable.",
                        "required_fields": [
                          "request_id",
                          "status",
                          "reason_codes",
                          "source_slug",
                          "capability_slug",
                          "data",
                          "provenance",
                          "freshness",
                          "errors"
                        ],
                        "provenance_fields": [
                          "source_slug",
                          "capability_slug",
                          "provider_name",
                          "contract_slug",
                          "official_locator_refs"
                        ],
                        "freshness_fields": [
                          "captured_at",
                          "max_age_seconds",
                          "last_verified_at",
                          "source_freshness_ref"
                        ]
                      },
                      "$defs": {
                        "NormalizedCapabilityEnvelope": {
                          "type": "object",
                          "required": [
                            "request_id",
                            "status",
                            "reason_codes",
                            "source_slug",
                            "capability_slug",
                            "data",
                            "provenance",
                            "freshness",
                            "errors"
                          ],
                          "properties": {
                            "request_id": {
                              "type": "string"
                            },
                            "status": {
                              "type": "string"
                            },
                            "reason_codes": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "source_slug": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "capability_slug": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "data": {
                              "type": [
                                "object",
                                "array",
                                "null"
                              ]
                            },
                            "provenance": {
                              "type": "object"
                            },
                            "freshness": {
                              "type": "object"
                            },
                            "errors": {
                              "type": "array",
                              "items": {
                                "type": "object"
                              }
                            }
                          },
                          "additionalProperties": true
                        }
                      },
                      "error_modes": [
                        {
                          "mode_id": "pubfi.discovery.error_mode.current",
                          "status": "current",
                          "reason": "coverage_match",
                          "category": "usable",
                          "recoverable": false,
                          "agent_action": "Proceed only through an approved PubFi gateway/runtime path."
                        },
                        {
                          "mode_id": "pubfi.discovery.error_mode.degraded",
                          "status": "degraded",
                          "reason": "partial_coverage",
                          "category": "degraded",
                          "recoverable": true,
                          "agent_action": "Return caveats and revalidate freshness before live use."
                        },
                        {
                          "mode_id": "pubfi.discovery.error_mode.blocked_missing_auth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "category": "blocked",
                          "recoverable": true,
                          "agent_action": "Ask for configured PubFi auth; do not request upstream secrets."
                        },
                        {
                          "mode_id": "pubfi.discovery.error_mode.paid_requires_approval",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "category": "blocked",
                          "recoverable": true,
                          "agent_action": "Create procurement review evidence instead of executing a paid route."
                        },
                        {
                          "mode_id": "pubfi.discovery.error_mode.insufficient_metadata",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "category": "abstention",
                          "recoverable": true,
                          "agent_action": "Collect missing contract metadata before routing."
                        },
                        {
                          "mode_id": "pubfi.discovery.error_mode.unproven",
                          "status": "unproven",
                          "reason": "metadata_missing",
                          "category": "abstention",
                          "recoverable": true,
                          "agent_action": "Treat the candidate as unproven until fixture-backed evidence lands."
                        },
                        {
                          "mode_id": "pubfi.discovery.error_mode.missing",
                          "status": "missing",
                          "reason": "no_matching_capability",
                          "category": "abstention",
                          "recoverable": false,
                          "agent_action": "Return no route and preserve only privacy-safe demand evidence."
                        }
                      ],
                      "capabilities": [
                        {
                          "capability_id": "pubfi.discovery.capability.alchemy.alchemy-rpc-infra",
                          "source_slug": "alchemy",
                          "capability_slug": "alchemy-rpc-infra",
                          "title": "Alchemy RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "ethereum_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "rpc-infra",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "alchemy api",
                            "alchemy",
                            "ethereum",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Alchemy RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.alchemy.alchemy-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.alchemy.alchemy-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=alchemy",
                                "last_verified_at": "2026-06-02T10:17:06Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "alchemy",
                            "display_name": "Alchemy",
                            "provider_name": "Alchemy",
                            "homepage_url": "https://www.alchemy.com/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=alchemy",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=alchemy",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://www.alchemy.com/",
                                "evidence_label": "Alchemy official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://www.alchemy.com/docs",
                                "evidence_label": "Alchemy official documentation"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://www.alchemy.com/pricing",
                                "evidence_label": "Alchemy official pricing page"
                              },
                              {
                                "locator_id": "status",
                                "locator_type": "status",
                                "url": "https://status.alchemy.com/",
                                "evidence_label": "Alchemy official status page"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=alchemy",
                            "last_verified_at": "2026-06-02T10:17:06Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/alchemy.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "title": "Amberdata market data coverage",
                          "capability_kind": "market_data",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "market_data_provider",
                            "multichain_coverage",
                            "use_case"
                          ],
                          "categories": [
                            "market-data",
                            "multichain"
                          ],
                          "coverage_targets": [
                            "multichain"
                          ],
                          "intent_tags": [
                            "amberdata api",
                            "amberdata",
                            "multichain",
                            "market-data",
                            "market data",
                            "price",
                            "market cap",
                            "volume"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Amberdata market data coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.amberdata.amberdata-market-data"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot",
                              "contract_slug": "market_data_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "asset_slug",
                                "metric_slug",
                                "value",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=amberdata",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "amberdata",
                            "display_name": "Amberdata",
                            "provider_name": "Amberdata",
                            "homepage_url": "https://www.amberdata.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=amberdata",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=amberdata",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=amberdata",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "market_data_snapshot": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/amberdata.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-on-chain-state",
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-on-chain-state",
                          "title": "Amberdata on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "multichain_coverage",
                            "use_case"
                          ],
                          "categories": [
                            "on-chain-state",
                            "market-data",
                            "multichain"
                          ],
                          "coverage_targets": [
                            "multichain"
                          ],
                          "intent_tags": [
                            "amberdata api",
                            "amberdata",
                            "multichain",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Amberdata on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.amberdata.amberdata-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.amberdata.amberdata-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=amberdata",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "amberdata",
                            "display_name": "Amberdata",
                            "provider_name": "Amberdata",
                            "homepage_url": "https://www.amberdata.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=amberdata",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=amberdata",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=amberdata",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/amberdata.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.ankr.ankr-rpc-infra",
                          "source_slug": "ankr",
                          "capability_slug": "ankr-rpc-infra",
                          "title": "Ankr RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "ethereum_coverage",
                            "alternative"
                          ],
                          "categories": [
                            "rpc-infra",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "ankr rpc api",
                            "ankr api",
                            "ankr",
                            "ethereum",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Ankr RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.ankr.ankr-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.ankr.ankr-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=ankr",
                                "last_verified_at": "2026-06-01T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "ankr",
                            "display_name": "Ankr",
                            "provider_name": "Ankr",
                            "homepage_url": "https://www.ankr.com/rpc/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=ankr",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=ankr",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://www.ankr.com/rpc/",
                                "evidence_label": "Ankr RPC official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://www.ankr.com/docs/",
                                "evidence_label": "Ankr official documentation"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://www.ankr.com/rpc/pricing/",
                                "evidence_label": "Ankr RPC official pricing page"
                              },
                              {
                                "locator_id": "status",
                                "locator_type": "status",
                                "url": "https://www.ankr.com/rpc/health/",
                                "evidence_label": "Ankr RPC official health page"
                              },
                              {
                                "locator_id": "service-plans-docs",
                                "locator_type": "docs",
                                "url": "https://www.ankr.com/docs/rpc-service/service-plans/",
                                "evidence_label": "Ankr official service plans documentation"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=ankr",
                            "last_verified_at": "2026-06-01T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/ankr.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.bitquery.bitquery-on-chain-state",
                          "source_slug": "bitquery",
                          "capability_slug": "bitquery-on-chain-state",
                          "title": "Bitquery on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "ethereum_coverage",
                            "alternative"
                          ],
                          "categories": [
                            "on-chain-state",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum",
                            "multichain"
                          ],
                          "intent_tags": [
                            "bitquery api",
                            "bitquery",
                            "ethereum",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Bitquery on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.bitquery.bitquery-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum",
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "ethereum",
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.bitquery.bitquery-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=bitquery",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "bitquery",
                            "display_name": "Bitquery",
                            "provider_name": "Bitquery",
                            "homepage_url": "https://bitquery.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=bitquery",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=bitquery",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=bitquery",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/bitquery.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.blast-api.blast-api-rpc-infra",
                          "source_slug": "blast-api",
                          "capability_slug": "blast-api-rpc-infra",
                          "title": "Blast API RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "ethereum_coverage",
                            "chain_category"
                          ],
                          "categories": [
                            "rpc-infra",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "blast api",
                            "ethereum",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Blast API RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.blast-api.blast-api-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.blast-api.blast-api-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=blast-api",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "blast-api",
                            "display_name": "Blast API",
                            "provider_name": "Blast API",
                            "homepage_url": "https://blastapi.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=blast-api",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=blast-api",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=blast-api",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/blast-api.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.blockdaemon.blockdaemon-rpc-infra",
                          "source_slug": "blockdaemon",
                          "capability_slug": "blockdaemon-rpc-infra",
                          "title": "Blockdaemon RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "ethereum_coverage",
                            "use_case"
                          ],
                          "categories": [
                            "rpc-infra",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "blockdaemon api",
                            "blockdaemon",
                            "ethereum",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Blockdaemon RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.blockdaemon.blockdaemon-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.blockdaemon.blockdaemon-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=blockdaemon",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "blockdaemon",
                            "display_name": "Blockdaemon",
                            "provider_name": "Blockdaemon",
                            "homepage_url": "https://www.blockdaemon.com/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=blockdaemon",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=blockdaemon",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://www.blockdaemon.com/",
                                "evidence_label": "Blockdaemon official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://docs.blockdaemon.com/",
                                "evidence_label": "Blockdaemon official documentation"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://www.blockdaemon.com/api/pricing",
                                "evidence_label": "Blockdaemon official API pricing page"
                              },
                              {
                                "locator_id": "status",
                                "locator_type": "status",
                                "url": "https://status.blockdaemon.com/",
                                "evidence_label": "Blockdaemon official status page"
                              },
                              {
                                "locator_id": "changelog",
                                "locator_type": "changelog",
                                "url": "https://docs.blockdaemon.com/changelog",
                                "evidence_label": "Blockdaemon official changelog"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=blockdaemon",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/blockdaemon.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.chainstack.chainstack-rpc-infra",
                          "source_slug": "chainstack",
                          "capability_slug": "chainstack-rpc-infra",
                          "title": "Chainstack RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "ethereum_coverage",
                            "alternative"
                          ],
                          "categories": [
                            "rpc-infra",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "chainstack api",
                            "chainstack",
                            "ethereum",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Chainstack RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.chainstack.chainstack-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.chainstack.chainstack-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=chainstack",
                                "last_verified_at": "2026-06-01T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "chainstack",
                            "display_name": "Chainstack",
                            "provider_name": "Chainstack",
                            "homepage_url": "https://chainstack.com/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=chainstack",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=chainstack",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://chainstack.com/",
                                "evidence_label": "Chainstack official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://docs.chainstack.com/docs/platform-introduction",
                                "evidence_label": "Chainstack official documentation"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://chainstack.com/pricing/",
                                "evidence_label": "Chainstack official pricing page"
                              },
                              {
                                "locator_id": "status",
                                "locator_type": "status",
                                "url": "https://status.chainstack.com/",
                                "evidence_label": "Chainstack official status page"
                              },
                              {
                                "locator_id": "changelog",
                                "locator_type": "changelog",
                                "url": "https://docs.chainstack.com/changelog",
                                "evidence_label": "Chainstack official changelog"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=chainstack",
                            "last_verified_at": "2026-06-01T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/chainstack.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                          "source_slug": "coingecko-api",
                          "capability_slug": "asset-market-data",
                          "title": "Asset market data",
                          "capability_kind": "market_data",
                          "capability_status": "current",
                          "procurement_state": "public_no_approval",
                          "auth_requirement": "none",
                          "source_roles": [
                            "market_data_provider",
                            "multichain_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "market-data",
                            "multichain"
                          ],
                          "coverage_targets": [
                            "multichain"
                          ],
                          "intent_tags": [
                            "coingecko api",
                            "coingecko",
                            "multichain",
                            "market-data",
                            "market data",
                            "price",
                            "market cap",
                            "volume",
                            "btc spot price",
                            "spot price",
                            "ticker price",
                            "order book"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Asset market data",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.coingecko-api.asset-market-data"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot",
                              "contract_slug": "market_data_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "asset_slug",
                                "metric_slug",
                                "value",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=coingecko-api",
                                "last_verified_at": "2026-06-02T10:17:06Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "coingecko-api",
                            "display_name": "CoinGecko API",
                            "provider_name": "CoinGecko",
                            "homepage_url": "https://www.coingecko.com/en/api",
                            "public_status": "degraded",
                            "public_claim_status": "evaluation_comparison_only",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=coingecko-api",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=coingecko-api",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://www.coingecko.com/en/api",
                                "evidence_label": "CoinGecko API official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://docs.coingecko.com/",
                                "evidence_label": "CoinGecko API official documentation"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://www.coingecko.com/en/api/pricing",
                                "evidence_label": "CoinGecko API official pricing page"
                              },
                              {
                                "locator_id": "status",
                                "locator_type": "status",
                                "url": "https://status.coingecko.com/",
                                "evidence_label": "CoinGecko API official status page"
                              },
                              {
                                "locator_id": "rate-limit-docs",
                                "locator_type": "docs",
                                "url": "https://docs.coingecko.com/docs/common-errors-rate-limit",
                                "evidence_label": "CoinGecko API official rate-limit documentation"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=coingecko-api",
                            "last_verified_at": "2026-06-02T10:17:06Z",
                            "output_contract_max_age_seconds": {
                              "market_data_snapshot": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/coingecko-api.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "title": "Exchange liquidity depth",
                          "capability_kind": "market_data",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "market_data_provider",
                            "multichain_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "market-data",
                            "multichain"
                          ],
                          "coverage_targets": [
                            "multichain"
                          ],
                          "intent_tags": [
                            "coingecko api",
                            "coingecko",
                            "multichain",
                            "market-data",
                            "market data",
                            "price",
                            "market cap",
                            "volume",
                            "btc spot price",
                            "spot price",
                            "ticker price",
                            "order book",
                            "bid ask liquidity depth",
                            "order book liquidity depth",
                            "exchange depth",
                            "liquidity depth",
                            "bid ask"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Exchange liquidity depth",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot",
                              "contract_slug": "exchange_depth_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "asset_slug",
                                "exchange_slug",
                                "bid_depth_usd",
                                "ask_depth_usd"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": 120,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=coingecko-api",
                                "last_verified_at": "2026-06-02T10:17:06Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "coingecko-api",
                            "display_name": "CoinGecko API",
                            "provider_name": "CoinGecko",
                            "homepage_url": "https://www.coingecko.com/en/api",
                            "public_status": "degraded",
                            "public_claim_status": "evaluation_comparison_only",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=coingecko-api",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=coingecko-api",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://www.coingecko.com/en/api",
                                "evidence_label": "CoinGecko API official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://docs.coingecko.com/",
                                "evidence_label": "CoinGecko API official documentation"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://www.coingecko.com/en/api/pricing",
                                "evidence_label": "CoinGecko API official pricing page"
                              },
                              {
                                "locator_id": "status",
                                "locator_type": "status",
                                "url": "https://status.coingecko.com/",
                                "evidence_label": "CoinGecko API official status page"
                              },
                              {
                                "locator_id": "rate-limit-docs",
                                "locator_type": "docs",
                                "url": "https://docs.coingecko.com/docs/common-errors-rate-limit",
                                "evidence_label": "CoinGecko API official rate-limit documentation"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=coingecko-api",
                            "last_verified_at": "2026-06-02T10:17:06Z",
                            "output_contract_max_age_seconds": {
                              "exchange_depth_snapshot": 120
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/coingecko-api.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "title": "CoinMarketCap API market data coverage",
                          "capability_kind": "market_data",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "market_data_provider",
                            "multichain_coverage",
                            "comparison_support"
                          ],
                          "categories": [
                            "market-data",
                            "multichain"
                          ],
                          "coverage_targets": [
                            "multichain"
                          ],
                          "intent_tags": [
                            "coinmarketcap api",
                            "coinmarketcap",
                            "multichain",
                            "market-data",
                            "market data",
                            "price",
                            "market cap",
                            "volume"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for CoinMarketCap API market data coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot",
                              "contract_slug": "market_data_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "asset_slug",
                                "metric_slug",
                                "value",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=coinmarketcap-api",
                                "last_verified_at": "2026-06-01T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "coinmarketcap-api",
                            "display_name": "CoinMarketCap API",
                            "provider_name": "CoinMarketCap",
                            "homepage_url": "https://coinmarketcap.com/api/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=coinmarketcap-api",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=coinmarketcap-api",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=coinmarketcap-api",
                            "last_verified_at": "2026-06-01T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "market_data_snapshot": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/coinmarketcap-api.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.covalent.covalent-on-chain-state",
                          "source_slug": "covalent",
                          "capability_slug": "covalent-on-chain-state",
                          "title": "Covalent on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "ethereum_coverage",
                            "alternative"
                          ],
                          "categories": [
                            "on-chain-state",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "covalent api",
                            "covalent",
                            "ethereum",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Covalent on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.covalent.covalent-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.covalent.covalent-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=covalent",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "covalent",
                            "display_name": "Covalent",
                            "provider_name": "Covalent",
                            "homepage_url": "https://www.covalenthq.com/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=covalent",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=covalent",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=covalent",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/covalent.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "title": "CryptoCompare market data coverage",
                          "capability_kind": "market_data",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "market_data_provider",
                            "multichain_coverage",
                            "alternative"
                          ],
                          "categories": [
                            "market-data",
                            "multichain"
                          ],
                          "coverage_targets": [
                            "multichain"
                          ],
                          "intent_tags": [
                            "cryptocompare api",
                            "cryptocompare",
                            "multichain",
                            "market-data",
                            "market data",
                            "price",
                            "market cap",
                            "volume"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for CryptoCompare market data coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot",
                              "contract_slug": "market_data_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "asset_slug",
                                "metric_slug",
                                "value",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=cryptocompare",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "cryptocompare",
                            "display_name": "CryptoCompare",
                            "provider_name": "CryptoCompare",
                            "homepage_url": "https://www.cryptocompare.com/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=cryptocompare",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=cryptocompare",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=cryptocompare",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "market_data_snapshot": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/cryptocompare.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "title": "Pool yield context",
                          "capability_kind": "market_data",
                          "capability_status": "insufficient_metadata",
                          "procurement_state": "public_no_approval",
                          "auth_requirement": "none",
                          "source_roles": [
                            "market_data_provider",
                            "multichain_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "market-data",
                            "multichain"
                          ],
                          "coverage_targets": [
                            "multichain"
                          ],
                          "intent_tags": [
                            "defillama api",
                            "defillama",
                            "multichain",
                            "market-data",
                            "market data",
                            "price",
                            "market cap",
                            "volume",
                            "protocol tvl",
                            "chain tvl",
                            "defi protocol",
                            "total value locked"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Pool yield context",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.defillama.pool-yield-context"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot",
                              "contract_slug": "pool_yield_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "pool_slug",
                                "apy",
                                "chain_slug"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=defillama",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "defillama",
                            "display_name": "DeFiLlama",
                            "provider_name": "DefiLlama",
                            "homepage_url": "https://defillama.com/",
                            "public_status": "current",
                            "public_claim_status": "evaluation_comparison_only",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=defillama",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=defillama",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=defillama",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "pool_yield_snapshot": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/defillama.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                          "source_slug": "defillama",
                          "capability_slug": "protocol-tvl",
                          "title": "Protocol and market data",
                          "capability_kind": "market_data",
                          "capability_status": "current",
                          "procurement_state": "public_no_approval",
                          "auth_requirement": "none",
                          "source_roles": [
                            "market_data_provider",
                            "multichain_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "market-data",
                            "multichain"
                          ],
                          "coverage_targets": [
                            "multichain"
                          ],
                          "intent_tags": [
                            "defillama api",
                            "defillama",
                            "multichain",
                            "market-data",
                            "market data",
                            "price",
                            "market cap",
                            "volume",
                            "protocol tvl",
                            "chain tvl",
                            "defi protocol",
                            "total value locked"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Protocol and market data",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.defillama.protocol-tvl"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot",
                              "contract_slug": "market_data_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "asset_slug",
                                "metric_slug",
                                "value",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=defillama",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "defillama",
                            "display_name": "DeFiLlama",
                            "provider_name": "DefiLlama",
                            "homepage_url": "https://defillama.com/",
                            "public_status": "current",
                            "public_claim_status": "evaluation_comparison_only",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=defillama",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=defillama",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=defillama",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "market_data_snapshot": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/defillama.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.dotlake-api.dotlake-api-governance-metrics",
                          "source_slug": "dotlake-api",
                          "capability_slug": "dotlake-api-governance-metrics",
                          "title": "DotLake API governance metrics coverage",
                          "capability_kind": "governance",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "governance_provider",
                            "polkadot_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "governance",
                            "on-chain-state",
                            "polkadot"
                          ],
                          "coverage_targets": [
                            "polkadot",
                            "kusama",
                            "substrate"
                          ],
                          "intent_tags": [
                            "dotlake api",
                            "dotlake governance api",
                            "polkadot governance metrics",
                            "polkadot governance api",
                            "opengov referendum metrics",
                            "referendum results",
                            "governance participation",
                            "treasury metrics",
                            "vote metrics"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for DotLake API governance metrics coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.dotlake-api.dotlake-api-governance-metrics"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "polkadot",
                                    "kusama",
                                    "substrate"
                                  ]
                                },
                                "default": [
                                  "polkadot",
                                  "kusama",
                                  "substrate"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.dotlake-api.dotlake-api-governance-metrics.governance_metric_timeseries",
                              "contract_slug": "governance_metric_timeseries",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "relay_chain",
                                "metric_name",
                                "period",
                                "value",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dotlake-api",
                                "last_verified_at": "2026-06-04T08:01:26Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "dotlake-api",
                            "display_name": "DotLake API",
                            "provider_name": "Parity Data",
                            "homepage_url": "https://api.data.parity.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=dotlake-api",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dotlake-api",
                            "official_locator_refs": [
                              {
                                "locator_id": "api-entry",
                                "locator_type": "homepage",
                                "url": "https://api.data.parity.io/",
                                "evidence_label": "DotLake official API entry point"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://api.data.parity.io/docs",
                                "evidence_label": "DotLake official Swagger documentation"
                              },
                              {
                                "locator_id": "openapi",
                                "locator_type": "openapi_schema",
                                "url": "https://api.data.parity.io/openapi.json",
                                "evidence_label": "DotLake official OpenAPI schema"
                              },
                              {
                                "locator_id": "forum-announcement",
                                "locator_type": "docs",
                                "url": "https://forum.polkadot.network/t/dotlake-api-publicly-available/16919",
                                "evidence_label": "DotLake public availability announcement"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dotlake-api",
                            "last_verified_at": "2026-06-04T08:01:26Z",
                            "output_contract_max_age_seconds": {
                              "governance_metric_timeseries": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/dotlake-api.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.dotlake-api.dotlake-api-on-chain-metrics",
                          "source_slug": "dotlake-api",
                          "capability_slug": "dotlake-api-on-chain-metrics",
                          "title": "DotLake API on-chain ecosystem metrics coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "polkadot_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "on-chain-state",
                            "polkadot"
                          ],
                          "coverage_targets": [
                            "polkadot",
                            "kusama",
                            "substrate"
                          ],
                          "intent_tags": [
                            "dotlake api",
                            "dotlake",
                            "parity data api",
                            "polkadot data api",
                            "polkadot indexed data api",
                            "polkadot metrics api",
                            "substrate metrics",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "daily metrics",
                            "staking metrics",
                            "treasury metrics",
                            "xcm metrics"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for DotLake API on-chain ecosystem metrics coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.dotlake-api.dotlake-api-on-chain-metrics"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "polkadot",
                                    "kusama",
                                    "substrate"
                                  ]
                                },
                                "default": [
                                  "polkadot",
                                  "kusama",
                                  "substrate"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.dotlake-api.dotlake-api-on-chain-metrics.chain_metric_timeseries",
                              "contract_slug": "chain_metric_timeseries",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "relay_chain",
                                "chain",
                                "metric_name",
                                "date_or_period",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dotlake-api",
                                "last_verified_at": "2026-06-04T08:01:26Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "dotlake-api",
                            "display_name": "DotLake API",
                            "provider_name": "Parity Data",
                            "homepage_url": "https://api.data.parity.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=dotlake-api",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dotlake-api",
                            "official_locator_refs": [
                              {
                                "locator_id": "api-entry",
                                "locator_type": "homepage",
                                "url": "https://api.data.parity.io/",
                                "evidence_label": "DotLake official API entry point"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://api.data.parity.io/docs",
                                "evidence_label": "DotLake official Swagger documentation"
                              },
                              {
                                "locator_id": "openapi",
                                "locator_type": "openapi_schema",
                                "url": "https://api.data.parity.io/openapi.json",
                                "evidence_label": "DotLake official OpenAPI schema"
                              },
                              {
                                "locator_id": "forum-announcement",
                                "locator_type": "docs",
                                "url": "https://forum.polkadot.network/t/dotlake-api-publicly-available/16919",
                                "evidence_label": "DotLake public availability announcement"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dotlake-api",
                            "last_verified_at": "2026-06-04T08:01:26Z",
                            "output_contract_max_age_seconds": {
                              "chain_metric_timeseries": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/dotlake-api.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "title": "Dune API market data coverage",
                          "capability_kind": "market_data",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "market_data_provider",
                            "ethereum_coverage",
                            "comparison_support"
                          ],
                          "categories": [
                            "market-data",
                            "on-chain-state",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum",
                            "multichain"
                          ],
                          "intent_tags": [
                            "dune api",
                            "dune",
                            "ethereum",
                            "market-data",
                            "market data",
                            "price",
                            "market cap",
                            "volume"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Dune API market data coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.dune-api.dune-api-market-data"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum",
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "ethereum",
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot",
                              "contract_slug": "market_data_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "asset_slug",
                                "metric_slug",
                                "value",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dune-api",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "dune-api",
                            "display_name": "Dune API",
                            "provider_name": "Dune",
                            "homepage_url": "https://dune.com/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=dune-api",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dune-api",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dune-api",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "market_data_snapshot": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/dune-api.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-on-chain-state",
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-on-chain-state",
                          "title": "Dune API on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "ethereum_coverage",
                            "comparison_support"
                          ],
                          "categories": [
                            "on-chain-state",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum",
                            "multichain"
                          ],
                          "intent_tags": [
                            "dune api",
                            "dune",
                            "ethereum",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Dune API on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.dune-api.dune-api-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum",
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "ethereum",
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.dune-api.dune-api-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dune-api",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "dune-api",
                            "display_name": "Dune API",
                            "provider_name": "Dune",
                            "homepage_url": "https://dune.com/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=dune-api",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dune-api",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=dune-api",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/dune-api.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.getblock.getblock-rpc-infra",
                          "source_slug": "getblock",
                          "capability_slug": "getblock-rpc-infra",
                          "title": "GetBlock RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "ethereum_coverage",
                            "alternative"
                          ],
                          "categories": [
                            "rpc-infra",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "getblock api",
                            "getblock",
                            "ethereum",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for GetBlock RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.getblock.getblock-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.getblock.getblock-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=getblock",
                                "last_verified_at": "2026-06-01T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "getblock",
                            "display_name": "GetBlock",
                            "provider_name": "GetBlock",
                            "homepage_url": "https://getblock.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=getblock",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=getblock",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://getblock.io/",
                                "evidence_label": "GetBlock official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://docs.getblock.io/",
                                "evidence_label": "GetBlock official documentation"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://getblock.io/pricing/",
                                "evidence_label": "GetBlock official pricing page"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=getblock",
                            "last_verified_at": "2026-06-01T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/getblock.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.helius.helius-nft",
                          "source_slug": "helius",
                          "capability_slug": "helius-nft",
                          "title": "Helius NFT coverage",
                          "capability_kind": "nft",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "nft_provider",
                            "solana_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "nft",
                            "on-chain-state",
                            "solana"
                          ],
                          "coverage_targets": [
                            "solana"
                          ],
                          "intent_tags": [
                            "helius solana api",
                            "helius api",
                            "helius",
                            "solana",
                            "nft",
                            "nft metadata",
                            "collection data"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Helius NFT coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.helius.helius-nft"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "solana"
                                  ]
                                },
                                "default": [
                                  "solana"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.helius.helius-nft.nft_metadata_record",
                              "contract_slug": "nft_metadata_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "collection_slug",
                                "token_id",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=helius",
                                "last_verified_at": "2026-06-01T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "helius",
                            "display_name": "Helius",
                            "provider_name": "Helius",
                            "homepage_url": "https://www.helius.dev/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=helius",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=helius",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=helius",
                            "last_verified_at": "2026-06-01T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "nft_metadata_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/helius.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.helius.helius-on-chain-state",
                          "source_slug": "helius",
                          "capability_slug": "helius-on-chain-state",
                          "title": "Helius on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "solana_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "on-chain-state",
                            "solana"
                          ],
                          "coverage_targets": [
                            "solana"
                          ],
                          "intent_tags": [
                            "helius solana api",
                            "helius api",
                            "helius",
                            "solana",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Helius on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.helius.helius-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "solana"
                                  ]
                                },
                                "default": [
                                  "solana"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.helius.helius-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=helius",
                                "last_verified_at": "2026-06-01T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "helius",
                            "display_name": "Helius",
                            "provider_name": "Helius",
                            "homepage_url": "https://www.helius.dev/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=helius",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=helius",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=helius",
                            "last_verified_at": "2026-06-01T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/helius.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "title": "Hello Moon market data coverage",
                          "capability_kind": "market_data",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "market_data_provider",
                            "solana_coverage",
                            "chain_category"
                          ],
                          "categories": [
                            "market-data",
                            "solana"
                          ],
                          "coverage_targets": [
                            "solana"
                          ],
                          "intent_tags": [
                            "hellomoon api",
                            "hello moon api",
                            "hello moon",
                            "solana",
                            "market-data",
                            "market data",
                            "price",
                            "market cap",
                            "volume"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Hello Moon market data coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.hellomoon.hellomoon-market-data"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "solana"
                                  ]
                                },
                                "default": [
                                  "solana"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot",
                              "contract_slug": "market_data_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "asset_slug",
                                "metric_slug",
                                "value",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=hellomoon",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "hellomoon",
                            "display_name": "Hello Moon",
                            "provider_name": "Hello Moon",
                            "homepage_url": "https://www.hellomoon.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=hellomoon",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=hellomoon",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=hellomoon",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "market_data_snapshot": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/hellomoon.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-nft",
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-nft",
                          "title": "Hello Moon NFT coverage",
                          "capability_kind": "nft",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "nft_provider",
                            "solana_coverage",
                            "chain_category"
                          ],
                          "categories": [
                            "nft",
                            "market-data",
                            "solana"
                          ],
                          "coverage_targets": [
                            "solana"
                          ],
                          "intent_tags": [
                            "hellomoon api",
                            "hello moon api",
                            "hello moon",
                            "solana",
                            "nft",
                            "nft metadata",
                            "collection data"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Hello Moon NFT coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.hellomoon.hellomoon-nft"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "solana"
                                  ]
                                },
                                "default": [
                                  "solana"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.hellomoon.hellomoon-nft.nft_metadata_record",
                              "contract_slug": "nft_metadata_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "collection_slug",
                                "token_id",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=hellomoon",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "hellomoon",
                            "display_name": "Hello Moon",
                            "provider_name": "Hello Moon",
                            "homepage_url": "https://www.hellomoon.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=hellomoon",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=hellomoon",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=hellomoon",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "nft_metadata_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/hellomoon.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.infura.infura-rpc-infra",
                          "source_slug": "infura",
                          "capability_slug": "infura-rpc-infra",
                          "title": "Infura RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "ethereum_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "rpc-infra",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "infura api",
                            "infura",
                            "ethereum",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Infura RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.infura.infura-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.infura.infura-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=infura",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "infura",
                            "display_name": "Infura",
                            "provider_name": "Infura",
                            "homepage_url": "https://www.infura.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=infura",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=infura",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://www.infura.io/",
                                "evidence_label": "Infura official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://docs.metamask.io/services/",
                                "evidence_label": "Infura official documentation in MetaMask Developer docs"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://www.infura.io/pricing",
                                "evidence_label": "Infura official pricing page"
                              },
                              {
                                "locator_id": "status",
                                "locator_type": "status",
                                "url": "https://status.infura.io/",
                                "evidence_label": "Infura official status page"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=infura",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/infura.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "title": "Institutional market data feed",
                          "capability_kind": "market_data",
                          "capability_status": "current",
                          "procurement_state": "paid_requires_approval",
                          "auth_requirement": "paid_account",
                          "source_roles": [
                            "market_data_provider",
                            "multichain_coverage",
                            "use_case"
                          ],
                          "categories": [
                            "market-data",
                            "multichain"
                          ],
                          "coverage_targets": [
                            "multichain"
                          ],
                          "intent_tags": [
                            "kaiko api",
                            "kaiko",
                            "multichain",
                            "market-data",
                            "market data",
                            "price",
                            "market cap",
                            "volume",
                            "institutional market data",
                            "trade feed",
                            "exchange flow",
                            "order book history"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Institutional market data feed",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.kaiko.institutional-market-feed"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "multichain"
                                  ]
                                },
                                "default": [
                                  "multichain"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot",
                              "contract_slug": "market_data_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "asset_slug",
                                "metric_slug",
                                "value",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=kaiko",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "kaiko",
                            "display_name": "Kaiko",
                            "provider_name": "Kaiko",
                            "homepage_url": "https://www.kaiko.com/",
                            "public_status": "current",
                            "public_claim_status": "integration_requested",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=kaiko",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=kaiko",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=kaiko",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "market_data_snapshot": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/kaiko.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.moralis.moralis-nft",
                          "source_slug": "moralis",
                          "capability_slug": "moralis-nft",
                          "title": "Moralis NFT coverage",
                          "capability_kind": "nft",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "nft_provider",
                            "ethereum_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "nft",
                            "on-chain-state",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum",
                            "solana"
                          ],
                          "intent_tags": [
                            "moralis api",
                            "moralis",
                            "ethereum",
                            "nft",
                            "nft metadata",
                            "collection data"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Moralis NFT coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.moralis.moralis-nft"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum",
                                    "solana"
                                  ]
                                },
                                "default": [
                                  "ethereum",
                                  "solana"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.moralis.moralis-nft.nft_metadata_record",
                              "contract_slug": "nft_metadata_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "collection_slug",
                                "token_id",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=moralis",
                                "last_verified_at": "2026-06-01T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "moralis",
                            "display_name": "Moralis",
                            "provider_name": "Moralis",
                            "homepage_url": "https://moralis.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=moralis",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=moralis",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=moralis",
                            "last_verified_at": "2026-06-01T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "nft_metadata_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/moralis.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.moralis.moralis-on-chain-state",
                          "source_slug": "moralis",
                          "capability_slug": "moralis-on-chain-state",
                          "title": "Moralis on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "ethereum_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "on-chain-state",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum",
                            "solana"
                          ],
                          "intent_tags": [
                            "moralis api",
                            "moralis",
                            "ethereum",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Moralis on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.moralis.moralis-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum",
                                    "solana"
                                  ]
                                },
                                "default": [
                                  "ethereum",
                                  "solana"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.moralis.moralis-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=moralis",
                                "last_verified_at": "2026-06-01T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "moralis",
                            "display_name": "Moralis",
                            "provider_name": "Moralis",
                            "homepage_url": "https://moralis.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=moralis",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=moralis",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=moralis",
                            "last_verified_at": "2026-06-01T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/moralis.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.nownodes.nownodes-rpc-infra",
                          "source_slug": "nownodes",
                          "capability_slug": "nownodes-rpc-infra",
                          "title": "NOWNodes RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "ethereum_coverage",
                            "alternative"
                          ],
                          "categories": [
                            "rpc-infra",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "nownodes api",
                            "nownodes",
                            "ethereum",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for NOWNodes RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.nownodes.nownodes-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.nownodes.nownodes-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=nownodes",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "nownodes",
                            "display_name": "NOWNodes",
                            "provider_name": "NOWNodes",
                            "homepage_url": "https://nownodes.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=nownodes",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=nownodes",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=nownodes",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/nownodes.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.onfinality.onfinality-on-chain-state",
                          "source_slug": "onfinality",
                          "capability_slug": "onfinality-on-chain-state",
                          "title": "OnFinality on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "polkadot_coverage",
                            "chain_category"
                          ],
                          "categories": [
                            "on-chain-state",
                            "rpc-infra",
                            "polkadot"
                          ],
                          "coverage_targets": [
                            "polkadot"
                          ],
                          "intent_tags": [
                            "onfinality api",
                            "onfinality",
                            "polkadot",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for OnFinality on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.onfinality.onfinality-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "polkadot"
                                  ]
                                },
                                "default": [
                                  "polkadot"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.onfinality.onfinality-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=onfinality",
                                "last_verified_at": "2026-06-02T10:17:06Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "onfinality",
                            "display_name": "OnFinality",
                            "provider_name": "OnFinality",
                            "homepage_url": "https://onfinality.io/",
                            "public_status": "degraded",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=onfinality",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=onfinality",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://onfinality.io/",
                                "evidence_label": "OnFinality official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://documentation.onfinality.io/support/",
                                "evidence_label": "OnFinality official documentation"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://onfinality.io/en/pricing",
                                "evidence_label": "OnFinality official pricing page"
                              },
                              {
                                "locator_id": "status",
                                "locator_type": "status",
                                "url": "https://status.onfinality.io/",
                                "evidence_label": "OnFinality official status page"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=onfinality",
                            "last_verified_at": "2026-06-02T10:17:06Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/onfinality.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.onfinality.onfinality-rpc-infra",
                          "source_slug": "onfinality",
                          "capability_slug": "onfinality-rpc-infra",
                          "title": "OnFinality RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "polkadot_coverage",
                            "chain_category"
                          ],
                          "categories": [
                            "rpc-infra",
                            "polkadot"
                          ],
                          "coverage_targets": [
                            "polkadot"
                          ],
                          "intent_tags": [
                            "onfinality api",
                            "onfinality",
                            "polkadot",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for OnFinality RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.onfinality.onfinality-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "polkadot"
                                  ]
                                },
                                "default": [
                                  "polkadot"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.onfinality.onfinality-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=onfinality",
                                "last_verified_at": "2026-06-02T10:17:06Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "onfinality",
                            "display_name": "OnFinality",
                            "provider_name": "OnFinality",
                            "homepage_url": "https://onfinality.io/",
                            "public_status": "degraded",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=onfinality",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=onfinality",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://onfinality.io/",
                                "evidence_label": "OnFinality official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://documentation.onfinality.io/support/",
                                "evidence_label": "OnFinality official documentation"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://onfinality.io/en/pricing",
                                "evidence_label": "OnFinality official pricing page"
                              },
                              {
                                "locator_id": "status",
                                "locator_type": "status",
                                "url": "https://status.onfinality.io/",
                                "evidence_label": "OnFinality official status page"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=onfinality",
                            "last_verified_at": "2026-06-02T10:17:06Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/onfinality.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.pokt-network.pokt-network-rpc-infra",
                          "source_slug": "pokt-network",
                          "capability_slug": "pokt-network-rpc-infra",
                          "title": "Pokt Network RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "ethereum_coverage",
                            "use_case"
                          ],
                          "categories": [
                            "rpc-infra",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "pokt rpc api",
                            "pokt network api",
                            "pokt network",
                            "ethereum",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Pokt Network RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.pokt-network.pokt-network-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.pokt-network.pokt-network-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=pokt-network",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "pokt-network",
                            "display_name": "Pokt Network",
                            "provider_name": "Pokt Network",
                            "homepage_url": "https://www.pokt.network/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=pokt-network",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=pokt-network",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=pokt-network",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/pokt-network.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.polkassembly.polkassembly-governance",
                          "source_slug": "polkassembly",
                          "capability_slug": "polkassembly-governance",
                          "title": "Polkassembly governance coverage",
                          "capability_kind": "governance",
                          "capability_status": "current",
                          "procurement_state": "public_no_approval",
                          "auth_requirement": "none",
                          "source_roles": [
                            "governance_provider",
                            "polkadot_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "governance",
                            "polkadot"
                          ],
                          "coverage_targets": [
                            "polkadot"
                          ],
                          "intent_tags": [
                            "polkadot governance api",
                            "polkassembly api",
                            "polkassembly",
                            "polkadot",
                            "governance",
                            "proposal",
                            "referendum",
                            "vote"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Polkassembly governance coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.polkassembly.polkassembly-governance"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "polkadot"
                                  ]
                                },
                                "default": [
                                  "polkadot"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.polkassembly.polkassembly-governance.governance_record",
                              "contract_slug": "governance_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "proposal_id",
                                "status",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=polkassembly",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "polkassembly",
                            "display_name": "Polkassembly",
                            "provider_name": "Polkassembly",
                            "homepage_url": "https://polkassembly.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=polkassembly",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=polkassembly",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=polkassembly",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "governance_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/polkassembly.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.quicknode.quicknode-rpc-infra",
                          "source_slug": "quicknode",
                          "capability_slug": "quicknode-rpc-infra",
                          "title": "QuickNode RPC infrastructure coverage",
                          "capability_kind": "rpc_infra",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "rpc_infra_provider",
                            "ethereum_coverage",
                            "comparison_support"
                          ],
                          "categories": [
                            "rpc-infra",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum",
                            "solana"
                          ],
                          "intent_tags": [
                            "quicknode api",
                            "quicknode",
                            "ethereum",
                            "rpc-infra",
                            "rpc infrastructure",
                            "rpc",
                            "node",
                            "endpoint",
                            "archive node"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for QuickNode RPC infrastructure coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.quicknode.quicknode-rpc-infra"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum",
                                    "solana"
                                  ]
                                },
                                "default": [
                                  "ethereum",
                                  "solana"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.quicknode.quicknode-rpc-infra.rpc_endpoint_status",
                              "contract_slug": "rpc_endpoint_status",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "endpoint_class",
                                "latency_ms",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=quicknode",
                                "last_verified_at": "2026-06-01T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "quicknode",
                            "display_name": "QuickNode",
                            "provider_name": "QuickNode",
                            "homepage_url": "https://www.quicknode.com/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=quicknode",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=quicknode",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://www.quicknode.com/",
                                "evidence_label": "QuickNode official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://www.quicknode.com/docs/welcome",
                                "evidence_label": "QuickNode official documentation"
                              },
                              {
                                "locator_id": "api-reference",
                                "locator_type": "api_reference",
                                "url": "https://www.quicknode.com/docs",
                                "evidence_label": "QuickNode official API reference"
                              },
                              {
                                "locator_id": "pricing",
                                "locator_type": "pricing",
                                "url": "https://www.quicknode.com/pricing",
                                "evidence_label": "QuickNode official pricing page"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=quicknode",
                            "last_verified_at": "2026-06-01T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "rpc_endpoint_status": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/quicknode.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.shyft.shyft-nft",
                          "source_slug": "shyft",
                          "capability_slug": "shyft-nft",
                          "title": "Shyft NFT coverage",
                          "capability_kind": "nft",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "nft_provider",
                            "solana_coverage",
                            "alternative"
                          ],
                          "categories": [
                            "nft",
                            "on-chain-state",
                            "solana"
                          ],
                          "coverage_targets": [
                            "solana"
                          ],
                          "intent_tags": [
                            "shyft solana api",
                            "shyft api",
                            "shyft",
                            "solana",
                            "nft",
                            "nft metadata",
                            "collection data"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Shyft NFT coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.shyft.shyft-nft"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "solana"
                                  ]
                                },
                                "default": [
                                  "solana"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.shyft.shyft-nft.nft_metadata_record",
                              "contract_slug": "nft_metadata_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "collection_slug",
                                "token_id",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=shyft",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "shyft",
                            "display_name": "Shyft",
                            "provider_name": "Shyft",
                            "homepage_url": "https://shyft.to/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=shyft",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=shyft",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=shyft",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "nft_metadata_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/shyft.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.shyft.shyft-on-chain-state",
                          "source_slug": "shyft",
                          "capability_slug": "shyft-on-chain-state",
                          "title": "Shyft on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "solana_coverage",
                            "alternative"
                          ],
                          "categories": [
                            "on-chain-state",
                            "solana"
                          ],
                          "coverage_targets": [
                            "solana"
                          ],
                          "intent_tags": [
                            "shyft solana api",
                            "shyft api",
                            "shyft",
                            "solana",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Shyft on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.shyft.shyft-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "solana"
                                  ]
                                },
                                "default": [
                                  "solana"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.shyft.shyft-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=shyft",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "shyft",
                            "display_name": "Shyft",
                            "provider_name": "Shyft",
                            "homepage_url": "https://shyft.to/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=shyft",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=shyft",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=shyft",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/shyft.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.subquery.subquery-on-chain-state",
                          "source_slug": "subquery",
                          "capability_slug": "subquery-on-chain-state",
                          "title": "SubQuery Network on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "polkadot_coverage",
                            "comparison_support"
                          ],
                          "categories": [
                            "on-chain-state",
                            "polkadot"
                          ],
                          "coverage_targets": [
                            "polkadot"
                          ],
                          "intent_tags": [
                            "subquery network api",
                            "subquery network",
                            "subquery",
                            "polkadot",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for SubQuery Network on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.subquery.subquery-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "polkadot"
                                  ]
                                },
                                "default": [
                                  "polkadot"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.subquery.subquery-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subquery",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "subquery",
                            "display_name": "SubQuery Network",
                            "provider_name": "SubQuery",
                            "homepage_url": "https://subquery.network/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=subquery",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subquery",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subquery",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/subquery.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.subscan.subscan-governance",
                          "source_slug": "subscan",
                          "capability_slug": "subscan-governance",
                          "title": "Subscan API governance coverage",
                          "capability_kind": "governance",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "governance_provider",
                            "polkadot_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "governance",
                            "on-chain-state",
                            "polkadot"
                          ],
                          "coverage_targets": [
                            "polkadot"
                          ],
                          "intent_tags": [
                            "subscan api",
                            "subscan",
                            "polkadot",
                            "governance",
                            "proposal",
                            "referendum",
                            "vote"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Subscan API governance coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.subscan.subscan-governance"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "polkadot"
                                  ]
                                },
                                "default": [
                                  "polkadot"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.subscan.subscan-governance.governance_record",
                              "contract_slug": "governance_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "proposal_id",
                                "status",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subscan",
                                "last_verified_at": "2026-06-02T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "subscan",
                            "display_name": "Subscan API",
                            "provider_name": "Subscan",
                            "homepage_url": "https://subscan.io/",
                            "public_status": "degraded",
                            "public_claim_status": "gateway_available",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=subscan",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subscan",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://subscan.io/",
                                "evidence_label": "Subscan official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://support.subscan.io/",
                                "evidence_label": "Subscan official support documentation"
                              },
                              {
                                "locator_id": "api-plan-docs",
                                "locator_type": "docs",
                                "url": "https://support.subscan.io/doc-360177",
                                "evidence_label": "Subscan official API plan and rate-limit support article"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subscan",
                            "last_verified_at": "2026-06-02T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "governance_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/subscan.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.subscan.subscan-on-chain-state",
                          "source_slug": "subscan",
                          "capability_slug": "subscan-on-chain-state",
                          "title": "Subscan API on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "polkadot_coverage",
                            "best_api"
                          ],
                          "categories": [
                            "on-chain-state",
                            "polkadot"
                          ],
                          "coverage_targets": [
                            "polkadot"
                          ],
                          "intent_tags": [
                            "subscan api",
                            "subscan",
                            "polkadot",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Subscan API on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.subscan.subscan-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "polkadot"
                                  ]
                                },
                                "default": [
                                  "polkadot"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.subscan.subscan-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subscan",
                                "last_verified_at": "2026-06-02T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "subscan",
                            "display_name": "Subscan API",
                            "provider_name": "Subscan",
                            "homepage_url": "https://subscan.io/",
                            "public_status": "degraded",
                            "public_claim_status": "gateway_available",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=subscan",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subscan",
                            "official_locator_refs": [
                              {
                                "locator_id": "homepage",
                                "locator_type": "homepage",
                                "url": "https://subscan.io/",
                                "evidence_label": "Subscan official homepage"
                              },
                              {
                                "locator_id": "docs",
                                "locator_type": "docs",
                                "url": "https://support.subscan.io/",
                                "evidence_label": "Subscan official support documentation"
                              },
                              {
                                "locator_id": "api-plan-docs",
                                "locator_type": "docs",
                                "url": "https://support.subscan.io/doc-360177",
                                "evidence_label": "Subscan official API plan and rate-limit support article"
                              }
                            ]
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subscan",
                            "last_verified_at": "2026-06-02T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/subscan.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.subsquid.subsquid-on-chain-state",
                          "source_slug": "subsquid",
                          "capability_slug": "subsquid-on-chain-state",
                          "title": "SubSquid on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "polkadot_coverage",
                            "comparison_support"
                          ],
                          "categories": [
                            "on-chain-state",
                            "polkadot"
                          ],
                          "coverage_targets": [
                            "polkadot"
                          ],
                          "intent_tags": [
                            "subsquid indexing api",
                            "subsquid api",
                            "subsquid",
                            "polkadot",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for SubSquid on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.subsquid.subsquid-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "polkadot"
                                  ]
                                },
                                "default": [
                                  "polkadot"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.subsquid.subsquid-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subsquid",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "subsquid",
                            "display_name": "SubSquid",
                            "provider_name": "Subsquid",
                            "homepage_url": "https://www.subsquid.io/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=subsquid",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subsquid",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=subsquid",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/subsquid.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.the-graph.the-graph-on-chain-state",
                          "source_slug": "the-graph",
                          "capability_slug": "the-graph-on-chain-state",
                          "title": "The Graph on-chain state coverage",
                          "capability_kind": "on_chain_state",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "on_chain_state_provider",
                            "ethereum_coverage",
                            "comparison_support"
                          ],
                          "categories": [
                            "on-chain-state",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "the graph api",
                            "the graph",
                            "ethereum",
                            "on-chain-state",
                            "on-chain state",
                            "on chain data",
                            "onchain data",
                            "account data",
                            "transaction data",
                            "indexing"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for The Graph on-chain state coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.the-graph.the-graph-on-chain-state"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.the-graph.the-graph-on-chain-state.chain_state_record",
                              "contract_slug": "chain_state_record",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "address_or_entity",
                                "record_type",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=the-graph",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "the-graph",
                            "display_name": "The Graph",
                            "provider_name": "The Graph",
                            "homepage_url": "https://thegraph.com/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=the-graph",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=the-graph",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=the-graph",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "chain_state_record": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/the-graph.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        },
                        {
                          "capability_id": "pubfi.discovery.capability.zerion-api.zerion-api-wallet-portfolio",
                          "source_slug": "zerion-api",
                          "capability_slug": "zerion-api-wallet-portfolio",
                          "title": "Zerion API wallet portfolio coverage",
                          "capability_kind": "wallet_portfolio",
                          "capability_status": "current",
                          "procurement_state": "free_requires_auth",
                          "auth_requirement": "api_key",
                          "source_roles": [
                            "wallet_portfolio_provider",
                            "ethereum_coverage",
                            "use_case"
                          ],
                          "categories": [
                            "wallet-portfolio",
                            "ethereum"
                          ],
                          "coverage_targets": [
                            "ethereum"
                          ],
                          "intent_tags": [
                            "zerion api",
                            "zerion",
                            "ethereum",
                            "wallet-portfolio",
                            "wallet portfolio",
                            "wallet",
                            "portfolio",
                            "balance",
                            "positions"
                          ],
                          "input_schema": {
                            "$schema": "https://json-schema.org/draft/2020-12/schema",
                            "title": "Dry-run planning input for Zerion API wallet portfolio coverage",
                            "type": "object",
                            "required": [
                              "intent",
                              "dry_run"
                            ],
                            "properties": {
                              "intent": {
                                "type": "string",
                                "minLength": 1,
                                "description": "Redacted agent data objective to route against PubFi capability contracts."
                              },
                              "auth": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "api_key",
                                    "paid_account"
                                  ]
                                },
                                "default": []
                              },
                              "preferred_capability_id": {
                                "const": "pubfi.discovery.capability.zerion-api.zerion-api-wallet-portfolio"
                              },
                              "coverage_targets": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "ethereum"
                                  ]
                                },
                                "default": [
                                  "ethereum"
                                ]
                              },
                              "dry_run": {
                                "type": "boolean",
                                "const": true,
                                "default": true
                              }
                            },
                            "additionalProperties": false
                          },
                          "output_envelopes": [
                            {
                              "envelope_id": "pubfi.discovery.envelope.zerion-api.zerion-api-wallet-portfolio.wallet_portfolio_snapshot",
                              "contract_slug": "wallet_portfolio_snapshot",
                              "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                              "data_fields": [
                                "chain_slug",
                                "wallet_address",
                                "position_count",
                                "captured_at"
                              ],
                              "provenance_fields": [
                                "request_id",
                                "source_slug",
                                "capability_slug",
                                "contract_slug",
                                "provider_name",
                                "captured_at",
                                "source_freshness_ref",
                                "official_locator_refs"
                              ],
                              "freshness": {
                                "max_age_seconds": null,
                                "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=zerion-api",
                                "last_verified_at": "2026-05-29T00:00:00Z",
                                "stale_behavior": "Return a dry-run plan, blocked alternative, degraded route, or abstention instead of inferring live freshness."
                              }
                            }
                          ],
                          "provenance": {
                            "source_slug": "zerion-api",
                            "display_name": "Zerion API",
                            "provider_name": "Zerion",
                            "homepage_url": "https://zerion.io/api/",
                            "public_status": "current",
                            "public_claim_status": "public_source_profile",
                            "public_directory_ref": "fixtures/discovery/public_directory.json#source_slug=zerion-api",
                            "source_freshness_registry_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=zerion-api",
                            "official_locator_refs": []
                          },
                          "freshness": {
                            "source_freshness_ref": "fixtures/discovery/source_freshness_registry.json#source_slug=zerion-api",
                            "last_verified_at": "2026-05-29T00:00:00Z",
                            "output_contract_max_age_seconds": {
                              "wallet_portfolio_snapshot": null
                            },
                            "freshness_contract": "Use max_age_seconds when present; otherwise revalidate source freshness and provenance before treating data as current."
                          },
                          "error_mode_refs": [
                            "pubfi.discovery.error_mode.current",
                            "pubfi.discovery.error_mode.degraded",
                            "pubfi.discovery.error_mode.blocked_missing_auth",
                            "pubfi.discovery.error_mode.paid_requires_approval",
                            "pubfi.discovery.error_mode.insufficient_metadata",
                            "pubfi.discovery.error_mode.unproven",
                            "pubfi.discovery.error_mode.missing"
                          ],
                          "links": [
                            {
                              "rel": "discovery_markdown",
                              "href": "/discovery/api/zerion-api.md",
                              "media_type": "text/markdown",
                              "description": "Public Discovery Markdown mirror when the source is exportable."
                            },
                            {
                              "rel": "openapi",
                              "href": "/openapi/pubfi-capabilities-openapi.json",
                              "media_type": "application/vnd.oai.openapi+json;version=3.1",
                              "description": "OpenAPI schema for capability discovery and dry-run planning."
                            }
                          ]
                        }
                      ],
                      "dry_run_plan_examples": [
                        {
                          "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                          "request_id": "direct-btc-price",
                          "dry_run": true,
                          "intent": "Need BTC spot price, market cap, and 24h volume",
                          "status": "current",
                          "reasons": [
                            "coverage_match",
                            "auth_missing",
                            "paid_approval_missing",
                            "metadata_missing"
                          ],
                          "selected": {
                            "source_slug": "coingecko-api",
                            "capability_slug": "asset-market-data",
                            "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                            "status": "current",
                            "reason": "coverage_match",
                            "output_envelope_refs": [
                              "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                            ],
                            "provenance_ref": "public_directory#source_slug=coingecko-api",
                            "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                            "error_mode_ref": "pubfi.discovery.error_mode.current"
                          },
                          "candidates": [
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "asset-market-data",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "protocol-tvl",
                              "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            }
                          ],
                          "blocked_alternatives": [
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            }
                          ],
                          "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                          "next_actions": [
                            "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                            "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                            "Create or update procurement review evidence instead of executing a paid route.",
                            "Preserve the selected source and capability ids in downstream usage facts.",
                            "Read public provenance at /discovery/api/coingecko-api and re-check source freshness before live use.",
                            "Use the selected capability only through an approved PubFi gateway/runtime path; this plan does not call providers."
                          ]
                        },
                        {
                          "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                          "request_id": "direct-eth-market-cap",
                          "dry_run": true,
                          "intent": "Find ETH market cap and ticker price",
                          "status": "current",
                          "reasons": [
                            "coverage_match",
                            "auth_missing",
                            "paid_approval_missing",
                            "metadata_missing"
                          ],
                          "selected": {
                            "source_slug": "coingecko-api",
                            "capability_slug": "asset-market-data",
                            "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                            "status": "current",
                            "reason": "coverage_match",
                            "output_envelope_refs": [
                              "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                            ],
                            "provenance_ref": "public_directory#source_slug=coingecko-api",
                            "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                            "error_mode_ref": "pubfi.discovery.error_mode.current"
                          },
                          "candidates": [
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "asset-market-data",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "protocol-tvl",
                              "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            }
                          ],
                          "blocked_alternatives": [
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            }
                          ],
                          "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                          "next_actions": [
                            "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                            "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                            "Create or update procurement review evidence instead of executing a paid route.",
                            "Preserve the selected source and capability ids in downstream usage facts.",
                            "Read public provenance at /discovery/api/coingecko-api and re-check source freshness before live use.",
                            "Use the selected capability only through an approved PubFi gateway/runtime path; this plan does not call providers."
                          ]
                        },
                        {
                          "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                          "request_id": "direct-ethereum-protocol-tvl",
                          "dry_run": true,
                          "intent": "Get Ethereum DeFi protocol TVL for a protocol",
                          "status": "current",
                          "reasons": [
                            "coverage_match",
                            "auth_missing",
                            "metadata_missing"
                          ],
                          "selected": {
                            "source_slug": "defillama",
                            "capability_slug": "protocol-tvl",
                            "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                            "status": "current",
                            "reason": "coverage_match",
                            "output_envelope_refs": [
                              "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                            ],
                            "provenance_ref": "public_directory#source_slug=defillama",
                            "freshness_ref": "unregistered#source_slug=defillama",
                            "error_mode_ref": "pubfi.discovery.error_mode.current"
                          },
                          "candidates": [
                            {
                              "source_slug": "defillama",
                              "capability_slug": "protocol-tvl",
                              "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "alchemy",
                              "capability_slug": "alchemy-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.alchemy.alchemy-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.alchemy.alchemy-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=alchemy",
                              "freshness_ref": "source_freshness_registry#source_slug=alchemy",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "ankr",
                              "capability_slug": "ankr-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.ankr.ankr-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.ankr.ankr-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=ankr",
                              "freshness_ref": "source_freshness_registry#source_slug=ankr",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "bitquery",
                              "capability_slug": "bitquery-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.bitquery.bitquery-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.bitquery.bitquery-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=bitquery",
                              "freshness_ref": "unregistered#source_slug=bitquery",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "blast-api",
                              "capability_slug": "blast-api-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.blast-api.blast-api-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.blast-api.blast-api-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=blast-api",
                              "freshness_ref": "unregistered#source_slug=blast-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "blockdaemon",
                              "capability_slug": "blockdaemon-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.blockdaemon.blockdaemon-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.blockdaemon.blockdaemon-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=blockdaemon",
                              "freshness_ref": "source_freshness_registry#source_slug=blockdaemon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "chainstack",
                              "capability_slug": "chainstack-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.chainstack.chainstack-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.chainstack.chainstack-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=chainstack",
                              "freshness_ref": "source_freshness_registry#source_slug=chainstack",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "covalent",
                              "capability_slug": "covalent-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.covalent.covalent-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.covalent.covalent-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=covalent",
                              "freshness_ref": "unregistered#source_slug=covalent",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "getblock",
                              "capability_slug": "getblock-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.getblock.getblock-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.getblock.getblock-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=getblock",
                              "freshness_ref": "source_freshness_registry#source_slug=getblock",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "infura",
                              "capability_slug": "infura-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.infura.infura-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.infura.infura-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=infura",
                              "freshness_ref": "source_freshness_registry#source_slug=infura",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "moralis",
                              "capability_slug": "moralis-nft",
                              "capability_id": "pubfi.discovery.capability.moralis.moralis-nft",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.moralis.moralis-nft.nft_metadata_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=moralis",
                              "freshness_ref": "unregistered#source_slug=moralis",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "moralis",
                              "capability_slug": "moralis-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.moralis.moralis-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.moralis.moralis-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=moralis",
                              "freshness_ref": "unregistered#source_slug=moralis",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "nownodes",
                              "capability_slug": "nownodes-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.nownodes.nownodes-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.nownodes.nownodes-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=nownodes",
                              "freshness_ref": "unregistered#source_slug=nownodes",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "pokt-network",
                              "capability_slug": "pokt-network-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.pokt-network.pokt-network-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.pokt-network.pokt-network-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=pokt-network",
                              "freshness_ref": "unregistered#source_slug=pokt-network",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "quicknode",
                              "capability_slug": "quicknode-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.quicknode.quicknode-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.quicknode.quicknode-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=quicknode",
                              "freshness_ref": "source_freshness_registry#source_slug=quicknode",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "the-graph",
                              "capability_slug": "the-graph-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.the-graph.the-graph-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.the-graph.the-graph-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=the-graph",
                              "freshness_ref": "unregistered#source_slug=the-graph",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "zerion-api",
                              "capability_slug": "zerion-api-wallet-portfolio",
                              "capability_id": "pubfi.discovery.capability.zerion-api.zerion-api-wallet-portfolio",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.zerion-api.zerion-api-wallet-portfolio.wallet_portfolio_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=zerion-api",
                              "freshness_ref": "unregistered#source_slug=zerion-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            }
                          ],
                          "blocked_alternatives": [
                            {
                              "source_slug": "alchemy",
                              "capability_slug": "alchemy-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.alchemy.alchemy-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.alchemy.alchemy-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=alchemy",
                              "freshness_ref": "source_freshness_registry#source_slug=alchemy",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "ankr",
                              "capability_slug": "ankr-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.ankr.ankr-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.ankr.ankr-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=ankr",
                              "freshness_ref": "source_freshness_registry#source_slug=ankr",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "bitquery",
                              "capability_slug": "bitquery-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.bitquery.bitquery-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.bitquery.bitquery-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=bitquery",
                              "freshness_ref": "unregistered#source_slug=bitquery",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "blast-api",
                              "capability_slug": "blast-api-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.blast-api.blast-api-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.blast-api.blast-api-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=blast-api",
                              "freshness_ref": "unregistered#source_slug=blast-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "blockdaemon",
                              "capability_slug": "blockdaemon-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.blockdaemon.blockdaemon-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.blockdaemon.blockdaemon-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=blockdaemon",
                              "freshness_ref": "source_freshness_registry#source_slug=blockdaemon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "chainstack",
                              "capability_slug": "chainstack-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.chainstack.chainstack-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.chainstack.chainstack-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=chainstack",
                              "freshness_ref": "source_freshness_registry#source_slug=chainstack",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "covalent",
                              "capability_slug": "covalent-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.covalent.covalent-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.covalent.covalent-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=covalent",
                              "freshness_ref": "unregistered#source_slug=covalent",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "getblock",
                              "capability_slug": "getblock-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.getblock.getblock-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.getblock.getblock-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=getblock",
                              "freshness_ref": "source_freshness_registry#source_slug=getblock",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "infura",
                              "capability_slug": "infura-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.infura.infura-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.infura.infura-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=infura",
                              "freshness_ref": "source_freshness_registry#source_slug=infura",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "moralis",
                              "capability_slug": "moralis-nft",
                              "capability_id": "pubfi.discovery.capability.moralis.moralis-nft",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.moralis.moralis-nft.nft_metadata_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=moralis",
                              "freshness_ref": "unregistered#source_slug=moralis",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "moralis",
                              "capability_slug": "moralis-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.moralis.moralis-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.moralis.moralis-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=moralis",
                              "freshness_ref": "unregistered#source_slug=moralis",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "nownodes",
                              "capability_slug": "nownodes-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.nownodes.nownodes-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.nownodes.nownodes-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=nownodes",
                              "freshness_ref": "unregistered#source_slug=nownodes",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "pokt-network",
                              "capability_slug": "pokt-network-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.pokt-network.pokt-network-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.pokt-network.pokt-network-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=pokt-network",
                              "freshness_ref": "unregistered#source_slug=pokt-network",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "quicknode",
                              "capability_slug": "quicknode-rpc-infra",
                              "capability_id": "pubfi.discovery.capability.quicknode.quicknode-rpc-infra",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.quicknode.quicknode-rpc-infra.rpc_endpoint_status"
                              ],
                              "provenance_ref": "public_directory#source_slug=quicknode",
                              "freshness_ref": "source_freshness_registry#source_slug=quicknode",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "the-graph",
                              "capability_slug": "the-graph-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.the-graph.the-graph-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.the-graph.the-graph-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=the-graph",
                              "freshness_ref": "unregistered#source_slug=the-graph",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "zerion-api",
                              "capability_slug": "zerion-api-wallet-portfolio",
                              "capability_id": "pubfi.discovery.capability.zerion-api.zerion-api-wallet-portfolio",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.zerion-api.zerion-api-wallet-portfolio.wallet_portfolio_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=zerion-api",
                              "freshness_ref": "unregistered#source_slug=zerion-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            }
                          ],
                          "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                          "next_actions": [
                            "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                            "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                            "Preserve the selected source and capability ids in downstream usage facts.",
                            "Read public provenance at /discovery/api/defillama and re-check source freshness before live use.",
                            "Use the selected capability only through an approved PubFi gateway/runtime path; this plan does not call providers."
                          ]
                        },
                        {
                          "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                          "request_id": "paid-api-requires-approval",
                          "dry_run": true,
                          "intent": "Route institutional crypto market data and trade feed coverage",
                          "status": "paid_requires_approval",
                          "reasons": [
                            "paid_approval_missing",
                            "coverage_match",
                            "auth_missing",
                            "metadata_missing"
                          ],
                          "selected": null,
                          "candidates": [
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "asset-market-data",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "protocol-tvl",
                              "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-nft",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-nft",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-nft.nft_metadata_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            }
                          ],
                          "blocked_alternatives": [
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-on-chain-state",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-on-chain-state",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-on-chain-state.chain_state_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-nft",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-nft",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-nft.nft_metadata_record"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            }
                          ],
                          "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                          "next_actions": [
                            "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                            "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                            "Create or update procurement review evidence instead of executing a paid route.",
                            "Preserve the selected source and capability ids in downstream usage facts.",
                            "Treat this as an abstention or blocked dry-run result; do not call an upstream provider."
                          ]
                        },
                        {
                          "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                          "request_id": "missing-auth-blocks-free-api",
                          "dry_run": true,
                          "intent": "Need BTC order book bid ask liquidity depth across exchanges",
                          "status": "blocked_missing_auth",
                          "reasons": [
                            "auth_missing",
                            "coverage_match",
                            "paid_approval_missing",
                            "metadata_missing"
                          ],
                          "selected": null,
                          "candidates": [
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "asset-market-data",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "protocol-tvl",
                              "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            }
                          ],
                          "blocked_alternatives": [
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            }
                          ],
                          "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                          "next_actions": [
                            "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                            "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                            "Create or update procurement review evidence instead of executing a paid route.",
                            "Preserve the selected source and capability ids in downstream usage facts.",
                            "Treat this as an abstention or blocked dry-run result; do not call an upstream provider."
                          ]
                        },
                        {
                          "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                          "request_id": "configured-auth-allows-free-api",
                          "dry_run": true,
                          "intent": "Need BTC order book bid ask liquidity depth across exchanges",
                          "status": "current",
                          "reasons": [
                            "coverage_match",
                            "paid_approval_missing",
                            "metadata_missing"
                          ],
                          "selected": {
                            "source_slug": "coingecko-api",
                            "capability_slug": "exchange-liquidity-depth",
                            "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                            "status": "current",
                            "reason": "coverage_match",
                            "output_envelope_refs": [
                              "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                            ],
                            "provenance_ref": "public_directory#source_slug=coingecko-api",
                            "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                            "error_mode_ref": "pubfi.discovery.error_mode.current"
                          },
                          "candidates": [
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "asset-market-data",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "protocol-tvl",
                              "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            }
                          ],
                          "blocked_alternatives": [
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            }
                          ],
                          "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                          "next_actions": [
                            "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                            "Create or update procurement review evidence instead of executing a paid route.",
                            "Preserve the selected source and capability ids in downstream usage facts.",
                            "Read public provenance at /discovery/api/coingecko-api and re-check source freshness before live use.",
                            "Use the selected capability only through an approved PubFi gateway/runtime path; this plan does not call providers."
                          ]
                        },
                        {
                          "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                          "request_id": "insufficient-metadata-abstain",
                          "dry_run": true,
                          "intent": "Compare stablecoin pools and lending markets by APY",
                          "status": "insufficient_metadata",
                          "reasons": [
                            "metadata_missing",
                            "coverage_match",
                            "paid_approval_missing",
                            "auth_missing"
                          ],
                          "selected": null,
                          "candidates": [
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "asset-market-data",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "protocol-tvl",
                              "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                              "status": "current",
                              "reason": "coverage_match",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.current"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            }
                          ],
                          "blocked_alternatives": [
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "insufficient_metadata",
                              "reason": "metadata_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "paid_requires_approval",
                              "reason": "paid_approval_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                            },
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "blocked_missing_auth",
                              "reason": "auth_missing",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                            }
                          ],
                          "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                          "next_actions": [
                            "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                            "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                            "Create or update procurement review evidence instead of executing a paid route.",
                            "Preserve the selected source and capability ids in downstream usage facts.",
                            "Treat this as an abstention or blocked dry-run result; do not call an upstream provider."
                          ]
                        },
                        {
                          "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                          "request_id": "not-applicable-source-abstain",
                          "dry_run": true,
                          "intent": "Need stock price for NASDAQ equities",
                          "status": "missing",
                          "reasons": [
                            "not_applicable"
                          ],
                          "selected": null,
                          "candidates": [
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "asset-market-data",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "protocol-tvl",
                              "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            }
                          ],
                          "blocked_alternatives": [
                            {
                              "source_slug": "amberdata",
                              "capability_slug": "amberdata-market-data",
                              "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=amberdata",
                              "freshness_ref": "unregistered#source_slug=amberdata",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "asset-market-data",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "coingecko-api",
                              "capability_slug": "exchange-liquidity-depth",
                              "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coingecko-api",
                              "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "coinmarketcap-api",
                              "capability_slug": "coinmarketcap-api-market-data",
                              "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                              "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "cryptocompare",
                              "capability_slug": "cryptocompare-market-data",
                              "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=cryptocompare",
                              "freshness_ref": "unregistered#source_slug=cryptocompare",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "pool-yield-context",
                              "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "defillama",
                              "capability_slug": "protocol-tvl",
                              "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=defillama",
                              "freshness_ref": "unregistered#source_slug=defillama",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "dune-api",
                              "capability_slug": "dune-api-market-data",
                              "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=dune-api",
                              "freshness_ref": "unregistered#source_slug=dune-api",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "hellomoon",
                              "capability_slug": "hellomoon-market-data",
                              "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=hellomoon",
                              "freshness_ref": "unregistered#source_slug=hellomoon",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            },
                            {
                              "source_slug": "kaiko",
                              "capability_slug": "institutional-market-feed",
                              "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                              "status": "missing",
                              "reason": "not_applicable",
                              "output_envelope_refs": [
                                "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                              ],
                              "provenance_ref": "public_directory#source_slug=kaiko",
                              "freshness_ref": "unregistered#source_slug=kaiko",
                              "error_mode_ref": "pubfi.discovery.error_mode.missing"
                            }
                          ],
                          "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                          "next_actions": [
                            "Abstain because the request is outside the current crypto data capability set.",
                            "Treat this as an abstention or blocked dry-run result; do not call an upstream provider."
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/plan": {
      "post": {
        "operationId": "planPubFiCapabilityRoute",
        "summary": "Dry-run plan a PubFi capability route",
        "description": "Returns a deterministic dry-run plan explaining selected, blocked, or abstained capability candidates. This operation does not call providers, paid routes, or procurement systems.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentPlanRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Dry-run route plan",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentPlan"
                },
                "examples": {
                  "direct-btc-price": {
                    "value": {
                      "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                      "request_id": "direct-btc-price",
                      "dry_run": true,
                      "intent": "Need BTC spot price, market cap, and 24h volume",
                      "status": "current",
                      "reasons": [
                        "coverage_match",
                        "auth_missing",
                        "paid_approval_missing",
                        "metadata_missing"
                      ],
                      "selected": {
                        "source_slug": "coingecko-api",
                        "capability_slug": "asset-market-data",
                        "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                        "status": "current",
                        "reason": "coverage_match",
                        "output_envelope_refs": [
                          "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                        ],
                        "provenance_ref": "public_directory#source_slug=coingecko-api",
                        "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                        "error_mode_ref": "pubfi.discovery.error_mode.current"
                      },
                      "candidates": [
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "asset-market-data",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "protocol-tvl",
                          "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        }
                      ],
                      "blocked_alternatives": [
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        }
                      ],
                      "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                      "next_actions": [
                        "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                        "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                        "Create or update procurement review evidence instead of executing a paid route.",
                        "Preserve the selected source and capability ids in downstream usage facts.",
                        "Read public provenance at /discovery/api/coingecko-api and re-check source freshness before live use.",
                        "Use the selected capability only through an approved PubFi gateway/runtime path; this plan does not call providers."
                      ]
                    }
                  },
                  "direct-eth-market-cap": {
                    "value": {
                      "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                      "request_id": "direct-eth-market-cap",
                      "dry_run": true,
                      "intent": "Find ETH market cap and ticker price",
                      "status": "current",
                      "reasons": [
                        "coverage_match",
                        "auth_missing",
                        "paid_approval_missing",
                        "metadata_missing"
                      ],
                      "selected": {
                        "source_slug": "coingecko-api",
                        "capability_slug": "asset-market-data",
                        "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                        "status": "current",
                        "reason": "coverage_match",
                        "output_envelope_refs": [
                          "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                        ],
                        "provenance_ref": "public_directory#source_slug=coingecko-api",
                        "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                        "error_mode_ref": "pubfi.discovery.error_mode.current"
                      },
                      "candidates": [
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "asset-market-data",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "protocol-tvl",
                          "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        }
                      ],
                      "blocked_alternatives": [
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        }
                      ],
                      "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                      "next_actions": [
                        "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                        "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                        "Create or update procurement review evidence instead of executing a paid route.",
                        "Preserve the selected source and capability ids in downstream usage facts.",
                        "Read public provenance at /discovery/api/coingecko-api and re-check source freshness before live use.",
                        "Use the selected capability only through an approved PubFi gateway/runtime path; this plan does not call providers."
                      ]
                    }
                  },
                  "direct-ethereum-protocol-tvl": {
                    "value": {
                      "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                      "request_id": "direct-ethereum-protocol-tvl",
                      "dry_run": true,
                      "intent": "Get Ethereum DeFi protocol TVL for a protocol",
                      "status": "current",
                      "reasons": [
                        "coverage_match",
                        "auth_missing",
                        "metadata_missing"
                      ],
                      "selected": {
                        "source_slug": "defillama",
                        "capability_slug": "protocol-tvl",
                        "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                        "status": "current",
                        "reason": "coverage_match",
                        "output_envelope_refs": [
                          "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                        ],
                        "provenance_ref": "public_directory#source_slug=defillama",
                        "freshness_ref": "unregistered#source_slug=defillama",
                        "error_mode_ref": "pubfi.discovery.error_mode.current"
                      },
                      "candidates": [
                        {
                          "source_slug": "defillama",
                          "capability_slug": "protocol-tvl",
                          "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "alchemy",
                          "capability_slug": "alchemy-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.alchemy.alchemy-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.alchemy.alchemy-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=alchemy",
                          "freshness_ref": "source_freshness_registry#source_slug=alchemy",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "ankr",
                          "capability_slug": "ankr-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.ankr.ankr-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.ankr.ankr-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=ankr",
                          "freshness_ref": "source_freshness_registry#source_slug=ankr",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "bitquery",
                          "capability_slug": "bitquery-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.bitquery.bitquery-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.bitquery.bitquery-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=bitquery",
                          "freshness_ref": "unregistered#source_slug=bitquery",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "blast-api",
                          "capability_slug": "blast-api-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.blast-api.blast-api-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.blast-api.blast-api-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=blast-api",
                          "freshness_ref": "unregistered#source_slug=blast-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "blockdaemon",
                          "capability_slug": "blockdaemon-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.blockdaemon.blockdaemon-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.blockdaemon.blockdaemon-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=blockdaemon",
                          "freshness_ref": "source_freshness_registry#source_slug=blockdaemon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "chainstack",
                          "capability_slug": "chainstack-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.chainstack.chainstack-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.chainstack.chainstack-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=chainstack",
                          "freshness_ref": "source_freshness_registry#source_slug=chainstack",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "covalent",
                          "capability_slug": "covalent-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.covalent.covalent-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.covalent.covalent-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=covalent",
                          "freshness_ref": "unregistered#source_slug=covalent",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "getblock",
                          "capability_slug": "getblock-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.getblock.getblock-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.getblock.getblock-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=getblock",
                          "freshness_ref": "source_freshness_registry#source_slug=getblock",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "infura",
                          "capability_slug": "infura-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.infura.infura-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.infura.infura-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=infura",
                          "freshness_ref": "source_freshness_registry#source_slug=infura",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "moralis",
                          "capability_slug": "moralis-nft",
                          "capability_id": "pubfi.discovery.capability.moralis.moralis-nft",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.moralis.moralis-nft.nft_metadata_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=moralis",
                          "freshness_ref": "unregistered#source_slug=moralis",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "moralis",
                          "capability_slug": "moralis-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.moralis.moralis-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.moralis.moralis-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=moralis",
                          "freshness_ref": "unregistered#source_slug=moralis",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "nownodes",
                          "capability_slug": "nownodes-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.nownodes.nownodes-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.nownodes.nownodes-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=nownodes",
                          "freshness_ref": "unregistered#source_slug=nownodes",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "pokt-network",
                          "capability_slug": "pokt-network-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.pokt-network.pokt-network-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.pokt-network.pokt-network-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=pokt-network",
                          "freshness_ref": "unregistered#source_slug=pokt-network",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "quicknode",
                          "capability_slug": "quicknode-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.quicknode.quicknode-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.quicknode.quicknode-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=quicknode",
                          "freshness_ref": "source_freshness_registry#source_slug=quicknode",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "the-graph",
                          "capability_slug": "the-graph-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.the-graph.the-graph-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.the-graph.the-graph-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=the-graph",
                          "freshness_ref": "unregistered#source_slug=the-graph",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "zerion-api",
                          "capability_slug": "zerion-api-wallet-portfolio",
                          "capability_id": "pubfi.discovery.capability.zerion-api.zerion-api-wallet-portfolio",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.zerion-api.zerion-api-wallet-portfolio.wallet_portfolio_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=zerion-api",
                          "freshness_ref": "unregistered#source_slug=zerion-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        }
                      ],
                      "blocked_alternatives": [
                        {
                          "source_slug": "alchemy",
                          "capability_slug": "alchemy-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.alchemy.alchemy-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.alchemy.alchemy-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=alchemy",
                          "freshness_ref": "source_freshness_registry#source_slug=alchemy",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "ankr",
                          "capability_slug": "ankr-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.ankr.ankr-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.ankr.ankr-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=ankr",
                          "freshness_ref": "source_freshness_registry#source_slug=ankr",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "bitquery",
                          "capability_slug": "bitquery-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.bitquery.bitquery-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.bitquery.bitquery-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=bitquery",
                          "freshness_ref": "unregistered#source_slug=bitquery",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "blast-api",
                          "capability_slug": "blast-api-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.blast-api.blast-api-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.blast-api.blast-api-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=blast-api",
                          "freshness_ref": "unregistered#source_slug=blast-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "blockdaemon",
                          "capability_slug": "blockdaemon-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.blockdaemon.blockdaemon-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.blockdaemon.blockdaemon-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=blockdaemon",
                          "freshness_ref": "source_freshness_registry#source_slug=blockdaemon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "chainstack",
                          "capability_slug": "chainstack-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.chainstack.chainstack-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.chainstack.chainstack-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=chainstack",
                          "freshness_ref": "source_freshness_registry#source_slug=chainstack",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "covalent",
                          "capability_slug": "covalent-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.covalent.covalent-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.covalent.covalent-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=covalent",
                          "freshness_ref": "unregistered#source_slug=covalent",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "getblock",
                          "capability_slug": "getblock-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.getblock.getblock-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.getblock.getblock-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=getblock",
                          "freshness_ref": "source_freshness_registry#source_slug=getblock",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "infura",
                          "capability_slug": "infura-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.infura.infura-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.infura.infura-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=infura",
                          "freshness_ref": "source_freshness_registry#source_slug=infura",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "moralis",
                          "capability_slug": "moralis-nft",
                          "capability_id": "pubfi.discovery.capability.moralis.moralis-nft",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.moralis.moralis-nft.nft_metadata_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=moralis",
                          "freshness_ref": "unregistered#source_slug=moralis",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "moralis",
                          "capability_slug": "moralis-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.moralis.moralis-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.moralis.moralis-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=moralis",
                          "freshness_ref": "unregistered#source_slug=moralis",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "nownodes",
                          "capability_slug": "nownodes-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.nownodes.nownodes-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.nownodes.nownodes-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=nownodes",
                          "freshness_ref": "unregistered#source_slug=nownodes",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "pokt-network",
                          "capability_slug": "pokt-network-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.pokt-network.pokt-network-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.pokt-network.pokt-network-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=pokt-network",
                          "freshness_ref": "unregistered#source_slug=pokt-network",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "quicknode",
                          "capability_slug": "quicknode-rpc-infra",
                          "capability_id": "pubfi.discovery.capability.quicknode.quicknode-rpc-infra",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.quicknode.quicknode-rpc-infra.rpc_endpoint_status"
                          ],
                          "provenance_ref": "public_directory#source_slug=quicknode",
                          "freshness_ref": "source_freshness_registry#source_slug=quicknode",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "the-graph",
                          "capability_slug": "the-graph-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.the-graph.the-graph-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.the-graph.the-graph-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=the-graph",
                          "freshness_ref": "unregistered#source_slug=the-graph",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "zerion-api",
                          "capability_slug": "zerion-api-wallet-portfolio",
                          "capability_id": "pubfi.discovery.capability.zerion-api.zerion-api-wallet-portfolio",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.zerion-api.zerion-api-wallet-portfolio.wallet_portfolio_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=zerion-api",
                          "freshness_ref": "unregistered#source_slug=zerion-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        }
                      ],
                      "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                      "next_actions": [
                        "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                        "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                        "Preserve the selected source and capability ids in downstream usage facts.",
                        "Read public provenance at /discovery/api/defillama and re-check source freshness before live use.",
                        "Use the selected capability only through an approved PubFi gateway/runtime path; this plan does not call providers."
                      ]
                    }
                  },
                  "paid-api-requires-approval": {
                    "value": {
                      "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                      "request_id": "paid-api-requires-approval",
                      "dry_run": true,
                      "intent": "Route institutional crypto market data and trade feed coverage",
                      "status": "paid_requires_approval",
                      "reasons": [
                        "paid_approval_missing",
                        "coverage_match",
                        "auth_missing",
                        "metadata_missing"
                      ],
                      "selected": null,
                      "candidates": [
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "asset-market-data",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "protocol-tvl",
                          "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-nft",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-nft",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-nft.nft_metadata_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        }
                      ],
                      "blocked_alternatives": [
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-on-chain-state",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-on-chain-state",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-on-chain-state.chain_state_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-nft",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-nft",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-nft.nft_metadata_record"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        }
                      ],
                      "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                      "next_actions": [
                        "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                        "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                        "Create or update procurement review evidence instead of executing a paid route.",
                        "Preserve the selected source and capability ids in downstream usage facts.",
                        "Treat this as an abstention or blocked dry-run result; do not call an upstream provider."
                      ]
                    }
                  },
                  "missing-auth-blocks-free-api": {
                    "value": {
                      "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                      "request_id": "missing-auth-blocks-free-api",
                      "dry_run": true,
                      "intent": "Need BTC order book bid ask liquidity depth across exchanges",
                      "status": "blocked_missing_auth",
                      "reasons": [
                        "auth_missing",
                        "coverage_match",
                        "paid_approval_missing",
                        "metadata_missing"
                      ],
                      "selected": null,
                      "candidates": [
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "asset-market-data",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "protocol-tvl",
                          "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        }
                      ],
                      "blocked_alternatives": [
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        }
                      ],
                      "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                      "next_actions": [
                        "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                        "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                        "Create or update procurement review evidence instead of executing a paid route.",
                        "Preserve the selected source and capability ids in downstream usage facts.",
                        "Treat this as an abstention or blocked dry-run result; do not call an upstream provider."
                      ]
                    }
                  },
                  "configured-auth-allows-free-api": {
                    "value": {
                      "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                      "request_id": "configured-auth-allows-free-api",
                      "dry_run": true,
                      "intent": "Need BTC order book bid ask liquidity depth across exchanges",
                      "status": "current",
                      "reasons": [
                        "coverage_match",
                        "paid_approval_missing",
                        "metadata_missing"
                      ],
                      "selected": {
                        "source_slug": "coingecko-api",
                        "capability_slug": "exchange-liquidity-depth",
                        "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                        "status": "current",
                        "reason": "coverage_match",
                        "output_envelope_refs": [
                          "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                        ],
                        "provenance_ref": "public_directory#source_slug=coingecko-api",
                        "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                        "error_mode_ref": "pubfi.discovery.error_mode.current"
                      },
                      "candidates": [
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "asset-market-data",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "protocol-tvl",
                          "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        }
                      ],
                      "blocked_alternatives": [
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        }
                      ],
                      "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                      "next_actions": [
                        "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                        "Create or update procurement review evidence instead of executing a paid route.",
                        "Preserve the selected source and capability ids in downstream usage facts.",
                        "Read public provenance at /discovery/api/coingecko-api and re-check source freshness before live use.",
                        "Use the selected capability only through an approved PubFi gateway/runtime path; this plan does not call providers."
                      ]
                    }
                  },
                  "insufficient-metadata-abstain": {
                    "value": {
                      "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                      "request_id": "insufficient-metadata-abstain",
                      "dry_run": true,
                      "intent": "Compare stablecoin pools and lending markets by APY",
                      "status": "insufficient_metadata",
                      "reasons": [
                        "metadata_missing",
                        "coverage_match",
                        "paid_approval_missing",
                        "auth_missing"
                      ],
                      "selected": null,
                      "candidates": [
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "asset-market-data",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "protocol-tvl",
                          "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                          "status": "current",
                          "reason": "coverage_match",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.current"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        }
                      ],
                      "blocked_alternatives": [
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "insufficient_metadata",
                          "reason": "metadata_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.insufficient_metadata"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "paid_requires_approval",
                          "reason": "paid_approval_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.paid_requires_approval"
                        },
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "blocked_missing_auth",
                          "reason": "auth_missing",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.blocked_missing_auth"
                        }
                      ],
                      "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                      "next_actions": [
                        "Ask for an approved PubFi credential path before retrying; do not request upstream secrets.",
                        "Collect more contract metadata or emit a demand/procurement preview before retrying.",
                        "Create or update procurement review evidence instead of executing a paid route.",
                        "Preserve the selected source and capability ids in downstream usage facts.",
                        "Treat this as an abstention or blocked dry-run result; do not call an upstream provider."
                      ]
                    }
                  },
                  "not-applicable-source-abstain": {
                    "value": {
                      "schema": "pubfi.discovery.agent_dry_run_plan.v1",
                      "request_id": "not-applicable-source-abstain",
                      "dry_run": true,
                      "intent": "Need stock price for NASDAQ equities",
                      "status": "missing",
                      "reasons": [
                        "not_applicable"
                      ],
                      "selected": null,
                      "candidates": [
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "asset-market-data",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "protocol-tvl",
                          "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        }
                      ],
                      "blocked_alternatives": [
                        {
                          "source_slug": "amberdata",
                          "capability_slug": "amberdata-market-data",
                          "capability_id": "pubfi.discovery.capability.amberdata.amberdata-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.amberdata.amberdata-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=amberdata",
                          "freshness_ref": "unregistered#source_slug=amberdata",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "asset-market-data",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.asset-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.asset-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "coingecko-api",
                          "capability_slug": "exchange-liquidity-depth",
                          "capability_id": "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coingecko-api.exchange-liquidity-depth.exchange_depth_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coingecko-api",
                          "freshness_ref": "source_freshness_registry#source_slug=coingecko-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "coinmarketcap-api",
                          "capability_slug": "coinmarketcap-api-market-data",
                          "capability_id": "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.coinmarketcap-api.coinmarketcap-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=coinmarketcap-api",
                          "freshness_ref": "unregistered#source_slug=coinmarketcap-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "cryptocompare",
                          "capability_slug": "cryptocompare-market-data",
                          "capability_id": "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.cryptocompare.cryptocompare-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=cryptocompare",
                          "freshness_ref": "unregistered#source_slug=cryptocompare",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "pool-yield-context",
                          "capability_id": "pubfi.discovery.capability.defillama.pool-yield-context",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.pool-yield-context.pool_yield_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "defillama",
                          "capability_slug": "protocol-tvl",
                          "capability_id": "pubfi.discovery.capability.defillama.protocol-tvl",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.defillama.protocol-tvl.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=defillama",
                          "freshness_ref": "unregistered#source_slug=defillama",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "dune-api",
                          "capability_slug": "dune-api-market-data",
                          "capability_id": "pubfi.discovery.capability.dune-api.dune-api-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.dune-api.dune-api-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=dune-api",
                          "freshness_ref": "unregistered#source_slug=dune-api",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "hellomoon",
                          "capability_slug": "hellomoon-market-data",
                          "capability_id": "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.hellomoon.hellomoon-market-data.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=hellomoon",
                          "freshness_ref": "unregistered#source_slug=hellomoon",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        },
                        {
                          "source_slug": "kaiko",
                          "capability_slug": "institutional-market-feed",
                          "capability_id": "pubfi.discovery.capability.kaiko.institutional-market-feed",
                          "status": "missing",
                          "reason": "not_applicable",
                          "output_envelope_refs": [
                            "pubfi.discovery.envelope.kaiko.institutional-market-feed.market_data_snapshot"
                          ],
                          "provenance_ref": "public_directory#source_slug=kaiko",
                          "freshness_ref": "unregistered#source_slug=kaiko",
                          "error_mode_ref": "pubfi.discovery.error_mode.missing"
                        }
                      ],
                      "normalized_envelope_ref": "#/$defs/NormalizedCapabilityEnvelope",
                      "next_actions": [
                        "Abstain because the request is outside the current crypto data capability set.",
                        "Treat this as an abstention or blocked dry-run result; do not call an upstream provider."
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AgentCapabilityDiscovery": {
        "type": "object",
        "required": [
          "schema",
          "canonical",
          "capabilities",
          "dry_run_plan_examples"
        ],
        "properties": {
          "schema": {
            "const": "pubfi.discovery.agent_integration_surface.v1"
          },
          "canonical": {
            "type": "object"
          },
          "derived_outputs": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "api_surfaces": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "normalized_envelope": {
            "type": "object"
          },
          "error_modes": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "dry_run_plan_examples": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentPlan"
            }
          }
        },
        "additionalProperties": false
      },
      "AgentPlanRequest": {
        "type": "object",
        "required": [
          "intent",
          "dry_run"
        ],
        "properties": {
          "intent": {
            "type": "string",
            "minLength": 1
          },
          "request_id": {
            "type": "string"
          },
          "auth": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "api_key",
                "paid_account"
              ]
            },
            "default": []
          },
          "preferred_capability_id": {
            "type": "string",
            "enum": [
              "pubfi.discovery.capability.alchemy.alchemy-rpc-infra",
              "pubfi.discovery.capability.amberdata.amberdata-market-data",
              "pubfi.discovery.capability.amberdata.amberdata-on-chain-state",
              "pubfi.discovery.capability.ankr.ankr-rpc-infra",
              "pubfi.discovery.capability.bitquery.bitquery-on-chain-state",
              "pubfi.discovery.capability.blast-api.blast-api-rpc-infra",
              "pubfi.discovery.capability.blockdaemon.blockdaemon-rpc-infra",
              "pubfi.discovery.capability.chainstack.chainstack-rpc-infra",
              "pubfi.discovery.capability.coingecko-api.asset-market-data",
              "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
              "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
              "pubfi.discovery.capability.covalent.covalent-on-chain-state",
              "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
              "pubfi.discovery.capability.defillama.pool-yield-context",
              "pubfi.discovery.capability.defillama.protocol-tvl",
              "pubfi.discovery.capability.dotlake-api.dotlake-api-governance-metrics",
              "pubfi.discovery.capability.dotlake-api.dotlake-api-on-chain-metrics",
              "pubfi.discovery.capability.dune-api.dune-api-market-data",
              "pubfi.discovery.capability.dune-api.dune-api-on-chain-state",
              "pubfi.discovery.capability.getblock.getblock-rpc-infra",
              "pubfi.discovery.capability.helius.helius-nft",
              "pubfi.discovery.capability.helius.helius-on-chain-state",
              "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
              "pubfi.discovery.capability.hellomoon.hellomoon-nft",
              "pubfi.discovery.capability.infura.infura-rpc-infra",
              "pubfi.discovery.capability.kaiko.institutional-market-feed",
              "pubfi.discovery.capability.moralis.moralis-nft",
              "pubfi.discovery.capability.moralis.moralis-on-chain-state",
              "pubfi.discovery.capability.nownodes.nownodes-rpc-infra",
              "pubfi.discovery.capability.onfinality.onfinality-on-chain-state",
              "pubfi.discovery.capability.onfinality.onfinality-rpc-infra",
              "pubfi.discovery.capability.pokt-network.pokt-network-rpc-infra",
              "pubfi.discovery.capability.polkassembly.polkassembly-governance",
              "pubfi.discovery.capability.quicknode.quicknode-rpc-infra",
              "pubfi.discovery.capability.shyft.shyft-nft",
              "pubfi.discovery.capability.shyft.shyft-on-chain-state",
              "pubfi.discovery.capability.subquery.subquery-on-chain-state",
              "pubfi.discovery.capability.subscan.subscan-governance",
              "pubfi.discovery.capability.subscan.subscan-on-chain-state",
              "pubfi.discovery.capability.subsquid.subsquid-on-chain-state",
              "pubfi.discovery.capability.the-graph.the-graph-on-chain-state",
              "pubfi.discovery.capability.zerion-api.zerion-api-wallet-portfolio"
            ]
          },
          "dry_run": {
            "type": "boolean",
            "const": true,
            "default": true
          }
        },
        "additionalProperties": false
      },
      "AgentPlan": {
        "type": "object",
        "required": [
          "schema",
          "request_id",
          "dry_run",
          "status",
          "reasons",
          "candidates",
          "normalized_envelope_ref"
        ],
        "properties": {
          "schema": {
            "const": "pubfi.discovery.agent_dry_run_plan.v1"
          },
          "request_id": {
            "type": "string"
          },
          "dry_run": {
            "const": true
          },
          "intent": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "reasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selected": {
            "type": [
              "object",
              "null"
            ]
          },
          "candidates": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "blocked_alternatives": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "normalized_envelope_ref": {
            "type": "string"
          },
          "next_actions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "NormalizedCapabilityEnvelope": {
        "type": "object",
        "required": [
          "request_id",
          "status",
          "reason_codes",
          "source_slug",
          "capability_slug",
          "data",
          "provenance",
          "freshness",
          "errors"
        ],
        "properties": {
          "request_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "reason_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "source_slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "capability_slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "data": {
            "type": [
              "object",
              "array",
              "null"
            ]
          },
          "provenance": {
            "type": "object"
          },
          "freshness": {
            "type": "object"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "additionalProperties": true
      }
    }
  },
  "x-pubfi-derived-from": {
    "capability_contract_source": "fixtures/discovery/internal_capability_catalog.json",
    "public_directory_source": "fixtures/discovery/public_directory.json",
    "source_freshness_registry_source": "fixtures/discovery/source_freshness_registry.json",
    "routing_eval_source": "fixtures/discovery/routing_golden.json",
    "canonical_note": "CapabilityCard records are canonical; this file and the OpenAPI file are derived agent-integration surfaces."
  },
  "x-pubfi-capability-count": 42,
  "x-pubfi-capability-ids": [
    "pubfi.discovery.capability.alchemy.alchemy-rpc-infra",
    "pubfi.discovery.capability.amberdata.amberdata-market-data",
    "pubfi.discovery.capability.amberdata.amberdata-on-chain-state",
    "pubfi.discovery.capability.ankr.ankr-rpc-infra",
    "pubfi.discovery.capability.bitquery.bitquery-on-chain-state",
    "pubfi.discovery.capability.blast-api.blast-api-rpc-infra",
    "pubfi.discovery.capability.blockdaemon.blockdaemon-rpc-infra",
    "pubfi.discovery.capability.chainstack.chainstack-rpc-infra",
    "pubfi.discovery.capability.coingecko-api.asset-market-data",
    "pubfi.discovery.capability.coingecko-api.exchange-liquidity-depth",
    "pubfi.discovery.capability.coinmarketcap-api.coinmarketcap-api-market-data",
    "pubfi.discovery.capability.covalent.covalent-on-chain-state",
    "pubfi.discovery.capability.cryptocompare.cryptocompare-market-data",
    "pubfi.discovery.capability.defillama.pool-yield-context",
    "pubfi.discovery.capability.defillama.protocol-tvl",
    "pubfi.discovery.capability.dotlake-api.dotlake-api-governance-metrics",
    "pubfi.discovery.capability.dotlake-api.dotlake-api-on-chain-metrics",
    "pubfi.discovery.capability.dune-api.dune-api-market-data",
    "pubfi.discovery.capability.dune-api.dune-api-on-chain-state",
    "pubfi.discovery.capability.getblock.getblock-rpc-infra",
    "pubfi.discovery.capability.helius.helius-nft",
    "pubfi.discovery.capability.helius.helius-on-chain-state",
    "pubfi.discovery.capability.hellomoon.hellomoon-market-data",
    "pubfi.discovery.capability.hellomoon.hellomoon-nft",
    "pubfi.discovery.capability.infura.infura-rpc-infra",
    "pubfi.discovery.capability.kaiko.institutional-market-feed",
    "pubfi.discovery.capability.moralis.moralis-nft",
    "pubfi.discovery.capability.moralis.moralis-on-chain-state",
    "pubfi.discovery.capability.nownodes.nownodes-rpc-infra",
    "pubfi.discovery.capability.onfinality.onfinality-on-chain-state",
    "pubfi.discovery.capability.onfinality.onfinality-rpc-infra",
    "pubfi.discovery.capability.pokt-network.pokt-network-rpc-infra",
    "pubfi.discovery.capability.polkassembly.polkassembly-governance",
    "pubfi.discovery.capability.quicknode.quicknode-rpc-infra",
    "pubfi.discovery.capability.shyft.shyft-nft",
    "pubfi.discovery.capability.shyft.shyft-on-chain-state",
    "pubfi.discovery.capability.subquery.subquery-on-chain-state",
    "pubfi.discovery.capability.subscan.subscan-governance",
    "pubfi.discovery.capability.subscan.subscan-on-chain-state",
    "pubfi.discovery.capability.subsquid.subsquid-on-chain-state",
    "pubfi.discovery.capability.the-graph.the-graph-on-chain-state",
    "pubfi.discovery.capability.zerion-api.zerion-api-wallet-portfolio"
  ]
}
