# Agent Search Normalization Decision Procedure

> Agent Search Normalization Decision Procedure is a paid API for AI agents from k2so.wrong.systems, paid per call via x402, $0.002/call, status down (last checked 2026-09-15).

Provides a decision procedure for AI agents to merge, deduplicate, and canonicalize search results from multiple heterogeneous paid and free sources into a single ranked result set.

## Facts

- Endpoint: GET https://k2so.wrong.systems/api/services/search-normalization-procedure
- Price: $0.002/call
- Payment: x402
- Status: down
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-search-normalization-decision-procedure-b6c197ca
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mw1bmQX2utx5_nG-X6YKC

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-b6c197ca
```

Example prompt: I'm pulling search results from three different sources — a paid catalog, some x402 endpoints, and a public web API — and I need a decision procedure for merging them into one canonical list without duplicates, with source trust weighting and cost-aware truncation so I'm not paying twice for the same result.

## When to prefer this

Choose this endpoint when an AI agent is aggregating search results from multiple heterogeneous sources (paid catalogs, x402 endpoints, free web APIs) and needs a canonical procedure for field mapping, deduplication, trust weighting, and cost control. Especially valuable when duplicate spending across overlapping queries is a risk or when raw JSON from different vendors cannot be directly compared.

## Known failure modes

- Payment not included or invalid USDC payment returns 402 with payment instructions
- Malformed GET request returns 4xx error
- Service temporarily unavailable returns 5xx
- Meta query param set to 1 returns free metadata JSON without full procedure content

## 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 decision procedure document covering: field mapping rules for heterogeneous schemas, dedupe key selection strategies, source priority and trust weighting logic, freshness ranking criteria, cost-aware truncation rules, and evidence logging requirements per result — enabling agents to safely merge multi-source search results into one canonical set.

## 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"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "paid": true,
  "result": {
   "ok": true,
   "payload": {
    "key": "value"
   },
   "service": "search-normalization-procedure",
   "generatedAt": "2026-01-01T00:00:00.000Z"
  },
  "service": "search-normalization-procedure",
  "provider": "K-2SO"
 }
}
```

## More

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