xlab-lab(5)
NAME
xlab-lab — files, configuration, and the SQLite index.
SYNOPSIS
text
LAB/
lab.toml
experiments/*.toml
trees/*.toml
adapters/*.py
data/xlab.db
data/runs/RUN/
data/corpora/
data/scratch/RUN/
reports/DESCRIPTION
samples.jsonl is the scientific record. SQLite indexes it for the queue, analysis, and dashboard. Each run preserves its spec, seeded plan, preflight, environment fingerprints, samples, and log. Scratch space is disposable.
Use xlab --lab PATH COMMAND to select a lab explicitly. Otherwise xlab uses XLAB_HOME, the nearest ancestor containing lab.toml, or the current directory.
Every setting is optional. These defaults are generated directly from xlab.config.DEFAULTS, not copied into the manual:
json
{
"lab": {
"name": "xlab",
"adapters": []
},
"runner": {
"poll_s": 5.0,
"halt_after_failures": 3,
"halt_minutes": 60,
"keep_scratch": false
},
"gates": {
"max_load_per_core": null,
"settle_timeout_s": 120,
"max_wait_h": 12,
"max_temp_c": null,
"min_free_gib": 1.0
},
"reports": {
"every_hours": 6.0,
"keep": null
},
"ai": {
"provider": "none",
"model": null,
"every_hours": 6.0,
"max_tokens": 16000,
"effort": "medium",
"timeout_s": 300,
"key_file": "~/.config/xlab/keys.json",
"base_url": null
},
"dashboard": {
"host": "127.0.0.1",
"port": 8710
},
"conductor": {
"every_s": 20.0
},
"budgets": {
"window_h": 24.0
}
}EXAMPLES
toml
[lab]
name = "night-lab"
[gates]
max_load_per_core = 0.5
min_free_gib = 1.0
[reports]
every_hours = 6