A reliability layer for your AI applications. Every output verified, every tool call mediated, every block auditable.
Frontier vendors aren't selling you intelligence.
They're selling you self-grading.
Taiso is the reliability layer that wraps your model calls in independent verification — audited, schema-correct, source-grounded, every time. Behind a single OpenAI-compatible URL, so the migration is a one-line config change.
You never have to defend an unverified output again.
Taiso isn't a framework — it's an opinionated substrate. Four primitives compose, each addressing one concrete failure mode of today's agent stacks.
array lengths alone. The LLM's self-reported answer loses on disagreement.
# audit_service.classify_field() if not support and not dispute: return "not_found" if support and not dispute: return "supported" if dispute and not support: return "disputed" return "unclear" # both? human review.
security and alignment — gate the action
against your constraint store. Indirect injection has to fool all three.
# intent_service.evaluate() intents = extractor.extract(turn) for i in intents: sec = security.check(i) align = alignment.check(i, north_star) if combine(sec, align) == EXECUTE: executor.run(i) # only path to a tool
audit: true —
the audit runs between blocks and gates downstream execution on the risk score.
State checkpointed after every node.
# your SOP — patent generator blocks: - id: claims type: llm audit: true # gate downstream - id: file depends_on: [claims] when: "claims.audit.risk != 'high'"
# audit envelope, per event {"ts": "2026-05-09T10:42:23Z", "block": "claims", "field": "priority_date", "verdict": "disputed", "cite": {"src": "fil-87a", "start": 4112, "end": 4180}}
Same input. Same model. Same source documents. Below: what a typical structured-output call returns today versus what Taiso returns. The difference isn't "more JSON." It's whether you can prove the answer to a regulator, a customer, or a build that ships at 9am tomorrow.
// response.message.content { "invention_title": "Reliable Agent System", "inventors": ["M. Chatterjee"], "priority_date": "2024-10-14", "claims_count": 12 }
{
"invention_title": {
"value": "Reliable Agent System",
"classification": "supported",
"confidence": 0.94,
"citations": [{
"source_id": "fil-87a",
"char_start": 412, "char_end": 449 }]
},
"priority_date": {
"value": "2024-10-14",
"classification": "disputed",
"confidence": 0.18,
"disputing_evidence": [{
"quote": "filed 2024-11-08",
"char_start": 4112, "char_end": 4180 }],
"discrepancy": "extracted Oct, source says Nov"
},
"_summary": { "risk": "medium", "problem_ratio": 0.25 }
}
Three loops, one shared substrate. The extractor cannot run tools. The evaluators cannot run tools. Only the executor can — and only on intents that passed both axes. Every event is durable. Every event is replayable.
The first domain agent built on Taiso — same verification, same intent mediation, same audit trail, tuned to a single job.
More domain agents on the same substrate — get on the list →
If your agent is going to write code, file documents, move money, or touch patient data — the question isn't whether it works in a demo. It's whether you can defend what it did on a Tuesday morning.