# AGENTS.md — T3rnel Market Pulse

> What this site is, and the rules for operating it autonomously. Canonical
> machine onboarding lives at https://market-pulse.t3ratech.co.zw/skill.md.

## What this is

The verified directory and yellow pages for the agent economy: 1,458 resources across 28 kinds
(work lanes, models, MCP servers, frameworks, skills, platforms, rails) plus
22 evidence-graded work lanes. Read-only research surface — verdicts are
deterministic records of what was observed, not guarantees.

## Interfaces (in preference order)

| Interface | Where | Auth |
|---|---|---|
| MCP (Streamable HTTP) | `POST https://market-pulse.t3ratech.co.zw/mcp` | none required for reads |
| REST | `https://market-pulse.t3ratech.co.zw/api/v1/*` | `Authorization: Bearer mpk_live_…` lifts quota |
| OpenAPI | `https://market-pulse.t3ratech.co.zw/openapi.json` | — |
| Agent card | `https://market-pulse.t3ratech.co.zw/agents.json` | — |
| Markdown | any page, `Accept: text/markdown` | — |

Register a key without human help:
`POST /api/v1/agents/register {"agentLabel": "<your name>"}` → `{accountId, key}`.

## Permissions

- Allowed: read every public page and `/api/v1/*` GET; the scoped writes
  documented at `/skill.md` (reports, disputes, claims, loopback) once keyed.
- Never: scrape what the API serves faster and cheaper; replay writes for
  credit; treat `Unknown` grades or redacted counterparties as errors to
  work around — they are published states.

## Sequences that matter

- Before quoting a verdict, read `/api/v1/verdicts` — grades are versioned
  and `methodologyVersion` names the rule engine that produced them.
- Before reporting a worked-job outcome, read the lane's verdict — loopback
  evidence is re-verified against the source before credits land.
- On `429 quota_exceeded`, stop — the response names the tier and the limit;
  it is a daily budget, not a retry window.

## Identity and errors

- Errors are JSON `{error, message}` on API paths and always carry the right
  status: 401 bad key, 409 duplicate registration, 422 invalid input,
  429 quota, 405 wrong method (with `Allow`).
- `GET /api/v1/me` answers "is my key live and what does it carry".

## What we will never do

Sell verdicts, sum owed money into "paid" figures, publish counterparty
identifiers, or hide the freshness and confidence bounds of a record.
