# Agent Search Normalization Decision Procedure

> Agent Search Normalization Decision Procedure is a paid API for AI agents from k2so-8080.on.ascii.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-13).

Returns a decision procedure for agents merging search results from multiple heterogeneous sources (paid catalogs, x402 endpoints, web APIs) into one canonical, deduplicated, trust-weighted result set.

## Facts

- Endpoint: GET https://k2so-8080.on.ascii.dev/api/services/search-normalization-procedure
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-search-normalization-decision-procedure-86de3794
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_B58EnFHuHtfy_Q2RYZNbb

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agent-search-normalization-decision-procedure-86de3794
```

Example prompt: I'm building an agent that queries both paid x402 search endpoints and free web APIs and needs to merge the results — can you give me the decision procedure for normalizing field mappings, picking dedupe keys, assigning source trust weights, and truncating by cost so I don't pay for overlapping results twice?

## When to prefer this

Choose this endpoint when an AI agent needs authoritative, structured guidance on merging search results from multiple heterogeneous paid and free sources — specifically when cross-schema field mapping, dedupe key selection, source trust weighting, and cost-aware truncation are all required together. Prefer this over ad-hoc logic when the agent must also produce an evidence log per result for auditability, or when preventing duplicate USDC spending on overlapping x402 search queries is a hard requirement.

## Known failure modes

- Payment not included or insufficient — 402 response requiring x402 payment header
- Invalid HTTP method (only GET/HEAD/DELETE accepted) — schema validation error
- Service unavailable on the ascii.dev host — network or 5xx error
- Malformed query parameters — validation error on meta enum value
- Empty or missing result payload if handler encounters internal error (ok: false in result)

## How this service works

Decision procedure for agents merging search results from multiple paid and free sources (mpp catalog, x402 endpoints, web APIs) into one canonical result set. Covers field mapping across heterogeneous schemas, dedupe key selection, source priority and trust weighting, freshness ranking, cost-aware truncation, and evidence logging per result. Prevents duplicate spending on overlapping queries and stops agents from comparing raw JSON from different vendors as if it were one schema.

## Output

A structured decision procedure document covering: field mapping rules across heterogeneous schemas, dedupe key selection strategy, source priority and trust weighting guidelines, freshness-based ranking logic, cost-aware truncation rules, and evidence logging requirements per result. Returned as a JSON payload with a service slug, generation timestamp, and handler success indicator.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "meta": {
       "enum": [
        "0",
        "1"
       ],
       "type": "string",
       "description": "Set to 1 for free metadata JSON (no payment required)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "title": "Agent Search Normalization Decision Procedure paid response",
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "required": [
      "ok",
      "paid",
      "service",
      "provider",
      "result"
     ],
     "properties": {
      "ok": {
       "type": "boolean"
      },
      "paid": {
       "type": "boolean"
      },
      "result": {
       "type": "object",
       "required": [
        "ok",
        "service"
       ],
       "properties": {
        "ok": {
         "type": "boolean",
         "description": "Handler success"
        },
        "payload": {
         "type": "object"
        },
        "service": {
         "type": "string",
         "description": "Service slug"
        },
        "generatedAt": {
         "type": "string",
         "description": "ISO-8601 timestamp"
        }
       }
      },
      "payment": {
       "type": "object",
       "properties": {
        "code": {
         "type": "string"
        },
        "payer": {
         "type": "string"
        },
        "detail": {
         "type": "string"
        },
        "selfPay": {
         "type": "boolean"
        },
        "transaction": {
         "type": "string"
        }
       }
      },
      "service": {
       "type": "string"
      },
      "provider": {
       "type": "string",
       "const": "K-2SO"
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-search-normalization-decision-procedure-86de3794/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from k2so-8080.on.ascii.dev](https://www.zero.xyz/host/k2so-8080.on.ascii.dev/llms.txt)
