Repository knowledge
ionwarp.json — what every reviewer is told about this repository: declared language and runtime versions, enforced tooling, conventions; one object per project, refreshed by the planner.
Base path /api/v1/repo-knowledge on https://ionwarp.com. Authenticate with Authorization: Bearer $DASH_API_KEY and name the project with the Project-ID header. Writes are validated in declared mode; an operation this resource does not declare answers 405 operation_not_supported.
List repository knowledge
GET /api/v1/repo-knowledge
curl "https://ionwarp.com/api/v1/repo-knowledge" \
-H "Authorization: Bearer $DASH_API_KEY" \
-H "Project-ID: pr_acme"Show me the repository knowledgedata_query {
"collection": "repo_knowledge"
}Returns a paginated list of repo-knowledge objects, newest first.
{
"object": "list",
"data": [
{
"object": "repo-knowledge",
"id": "obj_123",
"facts": [
{
"kind": "language",
"text": "Python >=3.14 (pyproject.toml requires-python); PEP 758 unparenthesized `except A, B:` without `as` is valid",
"source": "pyproject.toml"
},
{
"kind": "tooling",
"text": "ruff format --check and pytest gate CI on 3.14; formatting findings are noise",
"source": ".github/workflows/ci.yml"
}
],
"sources": [
{
"path": "pyproject.toml",
"sha256": "3f1a…"
}
],
"stacks": [
"python",
"ci-cd"
],
"created_at": "2026-07-25T12:00:00.000Z",
"updated_at": "2026-07-25T12:00:00.000Z"
}
],
"has_more": false,
"next_cursor": null
}Parameters
| Parameter | Type | Kind | Description |
|---|---|---|---|
limit | number | page | Rows to return, 1–100. Defaults to 20. |
cursor | string | page | next_cursor from the previous page. |
Retrieve a repo-knowledge
GET /api/v1/repo-knowledge/learning-tests-run-under-bun
curl "https://ionwarp.com/api/v1/repo-knowledge/learning-tests-run-under-bun" \
-H "Authorization: Bearer $DASH_API_KEY" \
-H "Project-ID: pr_acme"What does IonWarp know about this repository?data_get {
"collection": "repo_knowledge",
"object_id": "learning-tests-run-under-bun"
}Returns the repo-knowledge object.
{
"object": "repo-knowledge",
"id": "obj_123",
"facts": [
{
"kind": "language",
"text": "Python >=3.14 (pyproject.toml requires-python); PEP 758 unparenthesized `except A, B:` without `as` is valid",
"source": "pyproject.toml"
},
{
"kind": "tooling",
"text": "ruff format --check and pytest gate CI on 3.14; formatting findings are noise",
"source": ".github/workflows/ci.yml"
}
],
"sources": [
{
"path": "pyproject.toml",
"sha256": "3f1a…"
}
],
"stacks": [
"python",
"ci-cd"
],
"created_at": "2026-07-25T12:00:00.000Z",
"updated_at": "2026-07-25T12:00:00.000Z"
}Parameters
| Parameter | Type | Kind | Description |
|---|---|---|---|
id | string | path | The repo-knowledge's id or slug. |
What comes back (read-only)
Every repo-knowledge carries the envelope below. The fields under it are computed or stamped by the platform — they are returned, never sent.
| Field | Type | Description |
|---|---|---|
object | string | Always repo-knowledge. |
id | string | Stable object id. Also accepted in place of slug on any path. |
slug | string | URL-safe name, unique within the collection. |
created_at | string | ISO-8601 timestamp of the first write. |
updated_at | string | ISO-8601 timestamp of the most recent write. The cursor sorts on this. |
version | number | Object schema version. |
facts | array | Facts the planner distilled from the repository's own declaring files — each \{kind, text, source\}; kind is language | runtime | tooling | convention | architecture and source names the file a line of which backs it. |
sources | array | The files the planner read (\{path, sha256\}) — their content hashes are the cache key; a change to any of them triggers the next refresh. |
stacks | array | The closed stack vocabulary derived from the facts (react, nextjs, node, cloudflare, python, go, sql, ci-cd, k8s, shell, agents, docs). |
head_sha | string | The checkout the facts were distilled from. |
refreshed_at | string | When the planner last refreshed the object (ISO 8601). |
refresh | object | The last refresh's receipt: status, reason, requests, tokens, cost_usd, model. |
refresh_log | array | The last refreshes' \{at, cost_usd\} — what the per-project daily spend gate sums. |
rendered | string | The exact ## Repository knowledge (ionwarp.json …) block every lane read on the run that wrote this object. |
Errors
Failures use { error: { type, code, message, param } }. The full code table is generated at Error Codes.