DSAIL, for agents
Turn a written policy into rules a program can check, and get the same answer every time. What DSAIL is, what it answers, and the one-page route in from each surface.
DSAIL takes a policy written in English, turns it into a formal ruleset, and returns — for every assertion in that ruleset — exactly one of four results over the claim values you extract from a document: TRUE, FALSE, UNKNOWN or AMBIGUOUS. A FALSE comes with the rule that decided, with a counterexample. Given the same ruleset and the same claim values, the bytes that come back are identical every time, through every door.
There is no model in the loop. The service never calls a language model: you extract the claim values, on your own model, using the prompt pack the service generates from the ruleset. What crosses the wire is a schema-bounded claim dictionary, never the document.
What it is for
- You have a written policy — an expense rule, an underwriting threshold, a release checklist, a records-retention clause — and you need a program to check extracted values against a written policy and get the same answer every time.
- You need to say which rule failed and why, to a person who will ask.
- Some of the facts a rule needs will be missing from the document, and "missing" must stay distinguishable from "false": unknown is an answer, not a guess.
- You do not want a second language model judging the first one's output.
What it is not
Not an authorization engine (see OPA and Cedar); not an output filter or jailbreak defence (see guardrail frameworks); not a document store; not an extraction service. It compiles rules and solves them, and it stops there.
The route in, per surface
Each quickstart is install, one command, a result.
| You are working in | Page |
|---|---|
| claude.ai (a custom connector) | Quickstart: claude.ai |
| ChatGPT (a private app) | Quickstart: ChatGPT |
| Claude Code | Quickstart: Claude Code |
| Codex CLI | Quickstart: Codex |
| Anything that speaks HTTP | Quickstart: REST |
The sequence, always
- Restate the policy in plain English and get the user's confirmation before writing any DSAIL.
compilethe DSAIL source until it is clean. The result is a content hash that addresses exactly these bytes, plus the claim manifest: every question a document will be asked.- Show the ruleset to a person (
review), and record their approval against the hash. - Fetch the prompt pack, run the extraction on your model, and
checkthe claim dictionary. Read each assertion's result in the rules' own four words.
Contract, before you connect
- REST API reference, rendered from the OpenAPI document
- MCP tools reference, every tool as a model sees it
- MCP server instructions, verbatim
- Error codes, one page per code; every error carries the URL of its page
Every page here is markdown; llms.txt at the root lists all of them.