Callboard docs

Reproduce the claims

Verify it yourself

Verify it yourself

Every row is a claim this README makes, paired with the exact command or URL that proves or disproves it. Repository commands run from a clean checkout after npm ci. The same rule holds for every figure in this README, not just this table: each one is either generated from the deployment (a constant named in its source file, a count with the command that produces it) or paired with the command that reproduces it.

Claim How to check it
The migration, table, and seeded-table counts are real Run the three commands stamped at the top of Limitations; each prints the number quoted beside it
The test suite is the size claimed npx vitest list --run | wc -l. Limitations stamps this count for the commit the file ships in — run it against your checkout and it should match exactly
The whole gate passes three consecutive isolated times npm run release:verify:repeat — writes one attempt per pass to artifacts/release-gate/<sha>/manifest.json and only sets "result": "passed" after three
CI runs that same gate, not a lighter one .github/workflows/check.yml and .github/workflows/repeat-release-gate.yml
Calendar invites actually land in a real calendar app/lib/comms/ics.ts:5 records the end-to-end verification against Gmail on 2026-08-08: native RSVP card, event auto-staged, conflict detection ran
AI triage never decides anything grep -nE '\.(insert|update|delete)\(' app/lib/review/ai-triage.server.ts — the only writes target the ai_triage table: no reviews row, no session status change
The deployed demo is up, seeded, and signing in npm run smoke:demo -- https://demo.callboardhq.com
The API is real, documented, and machine-readable https://demo.callboardhq.com/v1/openapi.json and https://demo.callboardhq.com/developers
An agent can orient itself without being told how /llms.txt on any deployment (app/routes/llms.txt.ts) — the judge path in order, each brief feature's primary URL, and the API strip, as plain text
The public schedule works with JavaScript disabled Turn JS off and load https://demo.callboardhq.com/e/frontier-ai-summit-2026/schedule — search, day tabs, and the track/format/room facets are server-rendered

Measured latency

Measured against the live demo on 2026-08-12 from a single US-Pacific client. One warm-up request per URL is discarded, then seven requests one second apart; the figure is the median of the successful responses:

curl -s -o /dev/null -w "%{time_total}" https://demo.callboardhq.com/<path>
URL Median (warm)
/ 190 ms
/demo 86 ms
/admin (unauthenticated — a 302 to /login, not a dashboard render) 94 ms
/developers 224 ms
/e/frontier-ai-summit-2026/schedule 390 ms
/e/frontier-ai-summit-2026/schedule/<sessionId> 305 ms
/e/frontier-ai-summit-2026/speakers/<personId> 305 ms
/v1/openapi.json 97 ms

These are measurements from one client on one evening, not guarantees: they include network transit, they move by tens of milliseconds run to run, and a different region will see different numbers.

One thing they surfaced, recorded here rather than left for a judge to hit cold: under repeated requests the two heaviest public pages intermittently returned Cloudflare error 1102 (Worker exceeded resource limits) — 2 of 7 requests to the schedule and 3 of 7 to a session detail page. Those responses are excluded from the medians above. Pacing the requests did not remove them, so this is Worker CPU on the render path, not edge rate limiting.