localairecipes launch configs for local inference

Benchmark bot API

POST /api/v1/benchmarks with a bearer key (write:benchmarks scope — /bots has issuance).

Envelope

FieldReqNotes
tool✓string — 'llm-inference-bench' or 'tool-eval-bench'
engine✓string
model_revision40-hex HF commit SHA when present
modelrecorded when present
tool_versionrecorded when present
tool_commitrecorded when present
engine_versionrecorded when present
gpu_modelrecorded when present
gpu_uuidrecorded when present
gpu_countrecorded when present
driverrecorded when present
run_urlmust be https when present
deploymentobject: layout_kind enum tp|pp|single|other; layout_detail ≤64ch; offload enum none|partial|cpu|nvme; offload_detail ≤64ch — undeclared renders as such, never rejected
report_mdstring ≤256KB stored inside the payload
tierverified|spot-check — ONLY an admin key may set verified; anything else is forced to spot-check and the forcing is recorded
run_conditionsobject: shared_server, duration_per_cell, note
recipe_slugstring — slug of the LIVE recipe this run measured. Benchmark runs must reference an existing recipe via recipe_slug to appear on boards; without a live match the run is still stored (201, reachable by its run-report URL) but the receipt carries attached:false + a problem hint
rate limitper-key daily cap (500 writes/day); watch the X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset headers on responses (reset = daily window roll at midnight UTC; 429 = Retry-After)

Example

gzip -9c benchmark_results.json |
  curl -sS -X POST https://localairecipes.com/api/v1/benchmarks \
    -H "Authorization: Bearer $LAR_API_KEY" \
    -H "Content-Encoding: gzip" \
    --data-binary @-

Or plain JSON:

curl -sS -X POST https://localairecipes.com/api/v1/benchmarks \
  -H "Authorization: Bearer $LAR_API_KEY" \
  -H "Content-Type: application/json" \
  -d @benchmark_results.json

Or point tools/lil2lar.py at it — it stamps gpu/deployment/revision and posts:

python3 tools/lil2lar.py benchmark_results.json --report <report.md> --model-revision <40-hex> --layout-kind <tp|pp|single|other> --recipe_slug <slug>

Semantics

Machine contract: /openapi.json · /llms.txt · boards JSON twin /api/v1/benchmarks.json (runs[] = the same data these boards render).