Ask

Every answer cites what it read.

Ask a question across your team’s databases, files, APIs, repositories and cloud accounts. The answer comes back with the sources it read — a query for a database; a diff, a release or a log line for the things that do not have one.

The sources are the live systems read at the moment you asked — not a copy prepared in advance.

One question

Ask across everything you connected.

A question is not sent to one silo. It reads the connections its thread has in scope — and what a read means is precise for every kind of source.

See a question answered on the landing
  • Databases

    One SELECT against the schemas you scoped, against a read replica when you have one. Never INSERT, UPDATE, DELETE or DDL.

  • Files

    The files and buckets you name. The answer cites the chunks it used, not the whole file.

  • APIs

    The GET endpoints you registered. No POST — asking never writes to a service.

  • Repositories

    Repository contents, through a GitHub App you install. No branch, no commit — a question only reads.

  • Cloud accounts

    Describe and list APIs, through a role you create — read-only, enforced at the credential rather than in the product.

The evidence

How an answer earns its sources.

Evidence here is not a footnote style. It is the shape of the pipeline: a question becomes one bounded read, and the answer keeps what that read returned.

  1. Planned

    The query planner turns the question into one scoped, read-only statement. One statement — not an open session against your data.

  2. Bounded

    Every statement runs under the row cap you set on the connection and a thirty-second timeout. A runaway question fails; it does not page you.

  3. Cited

    The answer arrives with the sources it read: the query for a database; a diff, a release or a log line for the things that do not have one. Answers, their evidence and their sources are stored together.

The boundary

What never crosses it.

What crosses the boundary is what the answer needed: the rows under the row cap, the file chunks it cited. Four things never cross, whatever was asked.

Secret values

The value of any secret, environment variable or credential. The agent sees that a key exists and where it is referenced; the value is redacted before anything reaches the model.

Full table dumps

Every statement carries a row cap and a timeout. The rows the question needed cross; the table does not.

Out-of-scope sources

Anything from a source that is not in the scope of that thread. A question reads what its thread was given, and nothing beside it.

Training data

Nothing at all goes to a model provider for training. Inference only, zero retention.

The same rule runs the rest of the product. When something breaks, the agent reads what a person would — the errors, the recent releases, the code in the path, your runbook — and its pull request carries the hypothesis, the evidence and every verdict.

4m 13sfrom the first bad signal to the merged fix — the run the landing replays, its evidence attached at every step.

Connect what you run. Ask, and read what it read.

The beta is where this runs against your stack. One connection, one question, one answer with the evidence attached — that is the whole pitch. Every request on the waitlist is read by a person.