Reference
File formats
The JSONL shapes Kno reads: cases, pools, and mined transcripts, one object per line, stable ids, and what each field means.
All eval and pool files are JSONL: one JSON object per line.
Cases (evals)
{
"id": "refund-01",
"input": "How do I get a refund?",
"expected": "Refunds are processed within 5 business days."
}
| Field | Meaning |
|---|---|
id |
Stable identifier, the holdout is keyed on it; never reuse an id for a different case |
input |
What the agent receives |
expected |
What the goal scores against |
Eval sources beyond bare JSONL: langsmith:<name>, langfuse:<name>,
braintrust:<name>, and hf:<org>/<name>/<config>/<split> (Hugging
Face datasets-server).
Pools (candidate assets)
{
"id": "refund-policy-v3",
"content": "Refunds are processed within 5 business days.",
"kind": "knowledge"
}
| Field | Meaning |
|---|---|
id |
Stable asset identifier |
content |
The asset body, a document, example, policy, instruction |
kind |
Asset kind (e.g. knowledge) |
Pools also load from CSV (csv:pool.csv), Markdown (md:dir/ or
md:file.md), and Hugging Face (hf:<org>/<name>/<config>/<split>:<kind>, the
pool kind is part of the address). A bare path always means JSONL.
State
Runs, per-case scores and traces, assets, portfolios, and gaps live in
kno.db, a SQLite file in the working directory (--db to override).
There is no ~/.kno, no hidden global state.