{
  "markdown": "# codeitall — Rust API behavioral oracle\n\nVersion-pinned behavioral oracle for Rust package APIs, built for AI coding\nagents. Five deterministic tools backed by a Postgres substrate of\n**66,549,370 `pattern_records`** and **107 successful probe runs** across\n**7 task families** (datetime, duration, base64, JSON strict-vs-permissive,\nJWT verify, AEAD encrypt/decrypt, constant-time compare).\n\n**Hosted, free, no signup:** `https://api.codeitall.dev`\n\n> This repository is codeitall's **public surface** — the API reference,\n> OpenAPI spec, the \"For AI Agents\" page, and the per-family pages. The\n> ingest/indexer and server source are **not redistributed**; you consume\n> codeitall by querying the hosted API, not by running it yourself.\n\n## What it answers\n\nThe differentiator from a docs RAG: the substrate captures **runtime\nbehavior** (what a function actually does on a canonical input set, observed\nempirically), not just documentation (what it claims to do). It targets the\ndocumentation-vs-runtime gap — yank status, RustSec advisories, deprecation\nrenames, and cross-implementation behavior tables.\n\n## Tools\n\n| Tool | Use it for |\n|---|---|\n| `answer_api_question` | Open-ended Rust API questions; routes deterministically (rule-based, no LLM) and falls back to bge-m3 cosine retrieval. |\n| `signature_search` | You know the signature shape (`fn(&str) -> Result<Vec<u8>, _>`); get ranked candidate functions + crate, downloads, yank status. |\n| `behavior_lookup` | A specific `(crate, fn_name)`; get the probe-observation table verbatim — each row `(input, outcome=ok\\|err\\|panic, value_or_error)`. |\n| `compare_implementations` | A task category (e.g. \"base64 crates\"); get the side-by-side cross-implementation behavior table. |\n| `find_modern_equivalent` | A suspected-deprecated call; get the current canonical alternative + yank/advisory rows. |\n\n## Determinism contract\n\n**No generative LLM sits between a request and its response.** Every\nresponse is SQL + deterministic templating; the only model in the hot path\nis **bge-m3**, a deterministic text→vector embedder used for the cosine\nfallback (same input → same vector → same hits). This is a regression-pinned\ninvariant.\n\n## Quickstart\n\n```bash\n# Mint a free anonymous key (no email, no signup):\ncurl -sX POST https://api.codeitall.dev/v1/keys \\\n  -H 'content-type: application/json' -d '{}'\n\n# Ask a question (HTTP REST):\ncurl -sX POST https://api.codeitall.dev/v1/answer_api_question \\\n  -H 'content-type: application/json' \\\n  -d '{\"question\":\"how do I parse a duration string in rust\"}'\n```\n\nGET aliases exist for every tool (browse-only clients); `signature_search`\nalso accepts a `shape_b64` (base64url) parameter so URL re-encoding can't\nmangle type-signature characters.\n\n## Access modes\n\n- **MCP** — SSE/HTTP at `https://api.codeitall.dev/mcp` (Bearer key), or stdio\n  for self-hosters.\n- **HTTP REST** — `POST`/`GET /v1/<tool>`.\n- **OpenAPI 3.1** — [`openapi.json`](./openapi.json) (live: `https://api.codeitall.dev/openapi.json`).\n\n## Docs in this repo\n\n- [`for-ai-agents.html`](./for-ai-agents.html) — positioning, tool list, key snippet (live: `https://api.codeitall.dev/for-ai-agents.html`).\n- [`api-reference.html`](./api-reference.html) / [`api-reference.md`](./api-reference.md) — generated tool reference + scope/coverage.\n- [`agents/`](./agents) — one page per probe family.\n\n## Cost & limits\n\nFree. Per-IP key issuance cap (10/day) and per-key quota (10,000/day). No\npaid tier, no email capture, no signup.\n",
  "bytes": 3498,
  "sha": "0a0136a37f7f5369ec931fd260932f475ce83cf49be5ff24d929573c84bae8dc",
  "repo_slug": "codeitalldev/codeitall",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_dev_codeitall_codeitall_112ecabb/readme"
}