Keep the source in sight.
Every proposed value points back to its source. Keep the evidence alongside the interpretation.
Explore evidence
Ontave turns unexpected messages into useful records. Preserve the source, review the changes, and let your model grow without losing context.
New information doesn’t always fit the model you started with. Ontave preserves the evidence, proposes what’s missing, and keeps you in control of what changes.
Every proposed value points back to its source. Keep the evidence alongside the interpretation.
Explore evidenceInspect a proposal before it becomes accepted data. Model approval and fact acceptance stay separate.
Understand reviewEvaluate an additive model change before activating it. Keep existing application contracts pinned.
See model evolutionQuery accepted records through a typed contract. Your database answers without another model call.
Explore structured readsA familiar installation. An unexpected inspection. The source stays intact.
Where does an inspection fit?
Illustrative walkthrough
Preserve the original message. Keep every proposed value connected to the evidence behind it.
Explore evidence ↗const receipt = await ontave.ingest(context, {
source: "messages",
idempotencyKey: "message-014",
payload: {
kind: "text",
text: "Ramesh needs to inspect the roof.",
},
});
// The source is durable. Interpretation comes next.
const job = await ontave.jobs.get(
context, receipt.job_id,
);
100 sources. Five deliveries each. One extraction per source.
Compared with extracting every delivery.1,000 structured queries. Zero model calls. Local read timings at three dataset sizes.
Read p95, 100 timed reads per dataset.Every accepted field assertion kept its source. None appeared before approval.
Source coverage measures traceability.Apple M4 Pro · 24 GB · Node.js 24.22.0 · localhost PostgreSQL 18.4
| Measurement | Result |
|---|---|
| Deliveries / distinct sources / extraction calls | 500 / 100 / 100 |
| Model calls for 1,000 structured queries | 0 |
| Source-referenced / accepted field assertions | 100 / 100 |
| Ordered-read p95: 100 / 1,000 / 10,000 records | 0.95 / 1.37 / 8.27 ms |
Synthetic fictional data and automated review. No provider calls. Not a production SLO, model accuracy score, billing comparison or human productivity study. Read the full method →
A local SDK session. One command.
Node.js 24. No Docker. No API key.
npx --yes --package=https://github.com/smileplis/ontave/releases/download/v0.1.0-alpha.2/ontave-0.1.0-alpha.2.tgz ontave playground --installOntave is an open-source TypeScript framework that runs on your server and uses your PostgreSQL database. It connects preserved evidence, reviewed assertions, and an evolving logical model—so your application can use information it didn’t anticipate.
The browser playground lets you explore fictional reference runs from the real SDK and PostgreSQL. Run the one-command local playground for live SDK and database operations. Both use a labelled fixture adapter, with no model calls.
Yes, through the SDK on your own server, with your database and a model adapter you choose. The guided playground uses supplied fictional scenarios. The Node.js integration guide shows how to connect your own data.
Ontave makes room for a new concept in a reviewed data model. You build the screens and workflows around it. The generic playground can render a new contract dynamically; custom application interfaces still require development.
Start with the developer preview: a versioned GitHub archive you can install with npm. It isn’t on the npm registry yet. The release status explains what’s available and what is still being qualified.

Start with one unexpected message. Keep the context.
Decide what comes next.