Turn a dataset into an information service that governs itself.
Point manba at your data. It generates the query language, the agent interface, the documentation and the benchmark — then refuses to go live until it passes its own certification. It is not generative: it delivers what the data says, and every answer carries its provenance and its limits.
The problem
Data on its own is under-specified. What makes it usable is context: what it means here, what is in bounds, which units and rules apply, what can be done next. Strip that away and you are left with numbers that look confident and cannot be checked.
Quality is the bottleneck
Decision quality is capped by information quality: accuracy, completeness, timeliness, provenance, and honest uncertainty. Most systems surface the first and quietly drop the rest.
A language is a context proxy
A domain-specific language evokes a shared frame, constrains expression to what is valid in-domain, and makes transfer repeatable and auditable. That is why manba generates one per dataset.
What it generates
Nothing here is hand-written per customer. It is derived from the data and its declared intent, and re-derived when the source changes.
A query language
Six fixed verbs everywhere —
LIST, GET, COUNT, SUM,
RESOLVE, HELP — plus the entities, fields and
vocabulary of your domain. Learn the shape once, use it against anything.
Its own documentation
Every entity, field, permitted value and
implicit filter, written out and kept in step with the data. Ask the service
HELP and it explains itself.
An agent interface
An MCP endpoint plus a generated briefing that teaches a model the domain on connect. No prompt engineering, no hand-written tool descriptions.
A benchmark and a certificate
It writes test questions from its own grammar and declared intent, scores itself, and stays offline until it passes. Certification is a gate, not a badge.
What a consumer actually gets
Ask for a total and most systems hand back a number. This one hands back a number that tells you how much of the question it answered.
It declares what it filtered
Trashed files were excluded, because that is what a Drive user sees. The rule and its reasoning travel with the answer instead of hiding in someone's SQL.
It refuses instead of guessing
Ask for a field that does not exist and you get the valid fields and the nearest match — as data, not a stack trace. Wrong answers are more expensive than refusals.
The same question keeps its answer
Results are pinned to an immutable epoch, so a link to a query still returns what it returned when it was quoted. A number in a report stays checkable.
Built for the things that will consume it
Connect a model and it is briefed by the service itself, not by a prompt somebody tuned. It learns the entities, the vocabulary and the house rules on connect — then queries rather than speculates, and passes on the caveats it is given.
Asked how much storage a Drive used, a model connected this way volunteered which rows had no value and why, and named the filter that had been applied by default. Nobody asked it for caveats; they arrive attached to the answer.
> SUM FILES SIZE_BYTES
441.9 KB (452,500)
total across 3 of 19 rows
16 rows have no SIZE_BYTES and
contributed nothing to this total.
epoch 1 ยท source gdrive:files
default: TRASHED IS "no"
How it works
Six stages, run in order, ending in a gate it has to pass on its own evidence. When the source changes, the pipeline re-runs and opens a new epoch; earlier epochs stay readable, so nothing that was already quoted changes underneath the people who quoted it.
Context prepares the ground. Protocol commits the meaning.
Open ingress, disciplined commitment: people arrive in plain language, and the service funnels them into the working distinctions of the domain before it commits to an answer.
Where this is
manba is a working prototype, not a product you can buy yet. It mounts CSV, Postgres and Google Drive today, generates and certifies end to end, and serves both people and agents from the same governed language.
prototype — the interesting part is the method, and the method is what these pages show.