> ## Documentation Index
> Fetch the complete documentation index at: https://sandtable.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> sandtable is an early-alpha, open-source CLI (TypeScript, MIT): https://github.com/sandtable-ai/sandtable. Run it as `npx sandtable-ai <command>`, never with the bare name: npm's `sandtable` is an unrelated package. If a flag here disagrees with `npx sandtable-ai <command> --help`, trust the help output.
> Grading is deterministic: pass/fail comes from the world's end state, invariants and the tool-call log, never from an LLM judge.
> To draft a domain for a user, read /guides/init and /reference/spec, then run `npx sandtable-ai validate`, `lint` and `review` before any model-backed run. Keep all example data fictional.
> In Claude Code, the sandtable plugin teaches these steps as skills: `/plugin marketplace add sandtable-ai/sandtable`, then `/plugin install sandtable@sandtable`.
> Every page is available as Markdown by appending .md to its URL. /llms.txt lists every page, /llms-full.txt contains the whole site, and https://sandtable.dev/mcp is a search MCP server for these docs.

# Roadmap: what sandtable does today and what comes next

> What works in sandtable today, what ships next and what comes later, release by release, with links to the GitHub issues that track each item.

sandtable is **alpha**: the spec may still change before 1.0. [Issues](https://github.com/sandtable-ai/sandtable/issues) and [milestones](https://github.com/sandtable-ai/sandtable/milestones) on GitHub are the source of truth; this page mirrors [`ROADMAP.md`](https://github.com/sandtable-ai/sandtable/blob/main/ROADMAP.md).

## In 0.1.0, the first release

* Domain spec: world, tools (get/list/create/update/respond, checks, atomic ops, param defaults), invariants, personas, tasks
* Episode runner: simulated user ↔ agent, tool calls against a fresh world per trial
* Deterministic grading: end state, invariants on every tool call, `never_disclose` on agent messages, required and forbidden tools; pass^k; failure-mode clustering ([#24](https://github.com/sandtable-ai/sandtable/issues/24))
* Adapters: Claude as agent and simulated user on the Anthropic API or Amazon Bedrock, the Bedrock Converse adapter for non-Claude models, OpenAI-compatible endpoints, the HTTP step protocol, JS/TS module agents, a scripted user and the `noop` baseline ([#46](https://github.com/sandtable-ai/sandtable/issues/46), [#56](https://github.com/sandtable-ai/sandtable/issues/56), [#19](https://github.com/sandtable-ai/sandtable/issues/19))
* Reports: terminal, `results.json`, self-contained `report.html`, per-tag scores, token usage, estimated cost, turn latency; `--fail-under` CI gate
* `sandtable init`: OpenAPI → world tables and tools (deterministic), SOP → invariants that quote their source, transcripts → personas, tasks and fictional seed rows with PII scrubbed first ([#6](https://github.com/sandtable-ai/sandtable/issues/6), [#7](https://github.com/sandtable-ai/sandtable/issues/7), [#8](https://github.com/sandtable-ai/sandtable/issues/8))
* Review workflow: `review: pending`, `sandtable review`, `validate --strict`, provisional reports ([#9](https://github.com/sandtable-ai/sandtable/issues/9))
* `sandtable lint`: ready, solvable, non-vacuous, graded ([#10](https://github.com/sandtable-ai/sandtable/issues/10))
* `sandtable leaderboard`: several agents on one domain under the same simulated callers, next to a do-nothing baseline
* `sandtable regrade`: re-score stored trials after editing the domain's rules, without calling a model ([#32](https://github.com/sandtable-ai/sandtable/issues/32))
* Live verification of the Claude adapters, caching and init steps ([#1](https://github.com/sandtable-ai/sandtable/issues/1), [#3](https://github.com/sandtable-ai/sandtable/issues/3)); see [results](/results)
* Bundled examples with offline demo agents: a freight carrier-sales desk with negotiation rounds, rep-confirm offers, capacity and callbacks, and a clinic front desk ([#45](https://github.com/sandtable-ai/sandtable/issues/45), [#22](https://github.com/sandtable-ai/sandtable/issues/22))
* Worked examples for six agent frameworks ([#52](https://github.com/sandtable-ai/sandtable/issues/52))
* A Claude Code plugin whose skills and subagent let coding agents draft, run and debug suites ([#51](https://github.com/sandtable-ai/sandtable/issues/51))
* This docs site, with `llms.txt` ([#50](https://github.com/sandtable-ai/sandtable/issues/50))
* Packages on npm and PyPI, published from one tag ([#23](https://github.com/sandtable-ai/sandtable/issues/23))

## Next: closing the loop in CI (milestone v0.3)

* Baseline comparison and PR comments with pass^k deltas ([#12](https://github.com/sandtable-ai/sandtable/issues/12), [#13](https://github.com/sandtable-ai/sandtable/issues/13))
* Reliability verdicts: pass\@k, flaky tasks, flip rate, intervals, infra errors as SKIPPED ([#27](https://github.com/sandtable-ai/sandtable/issues/27))
* Critical tasks ([#28](https://github.com/sandtable-ai/sandtable/issues/28)), failure attribution ([#29](https://github.com/sandtable-ai/sandtable/issues/29)), coverage matrix ([#30](https://github.com/sandtable-ai/sandtable/issues/30))
* Customer sign-off report: rule → evidence → reliability ([#31](https://github.com/sandtable-ai/sandtable/issues/31))
* Argument matchers ([#25](https://github.com/sandtable-ai/sandtable/issues/25)), nested params ([#26](https://github.com/sandtable-ai/sandtable/issues/26)), per-task `given` overrides ([#37](https://github.com/sandtable-ai/sandtable/issues/37))

## Then: black-box and platform on-ramps (milestone v0.4)

* Serve the world as REST, MCP and webhook tools for hosted agent platforms ([#14](https://github.com/sandtable-ai/sandtable/issues/14))
* Import voice-agent platform configs as draft domains ([#34](https://github.com/sandtable-ai/sandtable/issues/34), [#35](https://github.com/sandtable-ai/sandtable/issues/35))
* Fault profiles ([#15](https://github.com/sandtable-ai/sandtable/issues/15))

## Later

LLM-judged checks ([#16](https://github.com/sandtable-ai/sandtable/issues/16)), voice transport and timing metrics ([#17](https://github.com/sandtable-ai/sandtable/issues/17), [#43](https://github.com/sandtable-ai/sandtable/issues/43)), exports to other harness formats ([#18](https://github.com/sandtable-ai/sandtable/issues/18)), negotiation invariants ([#36](https://github.com/sandtable-ai/sandtable/issues/36)), simulation clock ([#38](https://github.com/sandtable-ai/sandtable/issues/38)), outcome grading ([#39](https://github.com/sandtable-ai/sandtable/issues/39)), business metrics ([#40](https://github.com/sandtable-ai/sandtable/issues/40)), persona × condition matrix ([#41](https://github.com/sandtable-ai/sandtable/issues/41)), multi-session tasks ([#42](https://github.com/sandtable-ai/sandtable/issues/42)), Python agents in-process ([#44](https://github.com/sandtable-ai/sandtable/issues/44)).

## Contribute

Good first issues: `$regex` in where clauses ([#20](https://github.com/sandtable-ai/sandtable/issues/20)) and a `--tag` filter ([#21](https://github.com/sandtable-ai/sandtable/issues/21)). Example domains and adapters are welcome too; see [`CONTRIBUTING.md`](https://github.com/sandtable-ai/sandtable/blob/main/CONTRIBUTING.md). Example domains must be fictional: no real company names, customer data or proprietary procedures.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.