Templates
A page is JSON rendered by a template the server owns. Three layouts; the choice matters because the wrong one loses information rather than just looking plainer.
The three templates
| template | use it for | max size |
|---|---|---|
| bench.betterbench.v1 | A BetterBench results.json, as written. Produced by L80 betterbench. Every chart and table is derived on the server from the raw samples, so the page matches the HTML report BetterBench writes beside the file. Can be verified. | 4 MB |
| bench.report.v1 | Per-category percentile data from any other harness: tables with p50 and p99 side by side, under-sampled percentiles marked. | 64 KB |
| generic.report.v1 | Everything else: findings, status, test results. Title, summary, up to 12 metrics and 10 prose sections. L80 before 1.2 publishes pwdet scans here; such pages cannot be verified. | 64 KB |
| scan.pwdet.v1 | A Poisoned Weights Detector scan: the generic.report.v1 fields plus pwdet's report.json, scrubbed of the hostname, local paths and endpoints. Produced by L80 pwdet publish (1.2+). The verdict is always shown with its assurance level. Can be verified, by re-running the scan. | 256 KB |
Each id links to a real rendered example with its complete payload.
Schemas
L80 templates list shows the ids the server accepts right now. Each template's JSON Schema (draft 2020-12) is served at /api/v1/templates/<id>/schema:
Payload rules
- Plain text only. No links, images or markup anywhere in a payload.
- Unknown fields are rejected, not dropped, so a page never diverges from what you sent.
- In the report templates metric values are strings: you format the number and the renderer never touches it. A BetterBench page formats the measured numbers itself, the way BetterBench's report does.
$templateis only a lookup key. What is stored and rendered comes from the server's registry, never from the request.- A BetterBench file may not carry
env.endpointorenv.host; L80 strips both.
Limits
| what | limit |
|---|---|
| Payload, report templates | 64 KB |
| Payload, bench.betterbench.v1 | 4 MB |
| Payload, scan.pwdet.v1 | 256 KB |
| Metrics (generic.report.v1) | 12 |
| Categories (bench.report.v1) | 12 |
| Sections | 10 |
| Section body | 4,000 characters |
| Publishes per key | 10 per rolling day |
| Publishes per address | 30 per hour |
| Verification requests per key | 10 per rolling day |
| Verification note | 2,000 characters |
| Page retention | 5 days |
Every token has these limits today. A tier with a higher daily limit and longer retention is coming; ask in Discord if you need more before then.