Private beta: open now · General availability: planned for October 2026 · Design partners keep launch pricing

The agent that fixes production — and earns the right to merge.

Connect your stack, ask across it, watch it, fix what breaks, build on it.

Your team’s databases, files, APIs, repositories and cloud accounts — and every answer the AI agents give comes back with the sources it read.

4m 13sfrom the first bad signal to the merged fix — the run replayed below.

Join the waitlist

The private beta runs until GA — planned for October 2026. Design partners from the list step in first.

Everything the demo workspace has connected, and one question answered across it

what breaks if I drop orders.discount_code?

Scope22 connections

Dropping it breaks two surfaces: order writes in the API start failing, and the storefront’s order summary breaks with them — 13 references in all, 4 of them writes. The column also takes its partial index down with it.

Sources read3 of 22
Databaseorders-primaryorders_discount_code_idxthe only database object that depends on it
APIcommerce-apisrc/repositories/order.ts:11810 references, 4 of them writes
Frontendstorefrontcomponents/orders/OrderSummary.tsx:383 references, none of them writes
Showing 1 / 4 — what one column touches, across every connection
The conversation

Ask it three questions.

Three questions, one incident, one pull request — the app’s own Ask screen, on the demo workspace’s own data. Not a video: the cards are the app’s real answer cards, links and all.

MergedRUN-8842 · 34 tests passing · no approver
is checkout healthy?

You asked: is checkout healthy?

21:32
Datis answered
Health

checkout-api

Degraded. p95 is 10x its baseline and 2.3% of requests are failing.

Degraded

Degraded since the v2.41.0 deploy — payment authorization is timing out.

Evidence

p951842ms
+912%
Error rate2.3%
+2.26pp
Uptime 24h99.34%
-0.64pp
Throughput4820req/min
-18%
Last deployv2.41.0

Last 24 hours

Service: checkout-apicheckout-api is read live, so it has no sync age.Metric: Health metricsHealth metrics is read live, so it has no sync age.
Generated1 Sep 2026, 21:32Answered in 840ms

You asked: what changed?

21:33
Datis answered
Incident

What changed on checkout-api

checkout-api v2.41.0 shipped at the exact minute the latency started, and it lowered the payments client timeout from 8s to 3s while deleting the retry wrapper.

INC-241Started 42m ago
Correlated deployv2.41.0checkout-apiDeployed 1 Sep 2026, 21:02PR #4181

Top error group

TimeoutError: upstream payments timed out after 3000ms

1,284 events

What happened

Blast radius

Users affected
412
Sessions
3.9k
Requests
18.6k
Revenue at risk
$24,180Estimate — no measured revenue query behind it
Services affectedcheckout-apiRegionsus-east-1 · eu-west-1 · sa-east-1
Service: checkout-apicheckout-api is read live, so it has no sync age.Repository: northwind-commerce/commerce-apiChecking how fresh northwind-commerce/commerce-api isMetric: Error eventsError events is read live, so it has no sync age.Incident: INC-241INC-241 is read live, so it has no sync age.
Generated1 Sep 2026, 21:33Answered in 1.2s

You asked: fix it

21:35
Datis answered
Patch

Restore the retry and raise the payments timeout

Two files. Brings back exponential backoff with full jitter, sets the per-attempt timeout to 8,000ms and caps total time at 12,000ms. All 34 tests pass, and a panel of reviewers then tried to break it.

Branchdatis/fix-payments-timeout-88422 files+69-16
+54-15
+15-1

Tests

34 of 34 passing
Pull request merged#4189Open agent run
Repository: northwind-commerce/commerce-apiChecking how fresh northwind-commerce/commerce-api isMetric: Error eventsError events is read live, so it has no sync age.File: runbook-checkout.mdChecking how fresh runbook-checkout.md is
Generated1 Sep 2026, 21:35Answered in 4.8s
Alert to merged4m 13sNobody was paged.
3 / 3

Every number on this page comes from the Northwind Commerce demo workspace, so the page and the product can never drift apart.

One incident, end to end

From alert to merged.

INC-241 on the demo workspace, in the order it happened. Every duration below but the first is the step’s own.

Where it started: one service, the state Datis put it in, and how much of that hour it actually sampled.

checkout-api on the demo workspace, last 60 minutes

Degraded

checkout-api, since the v2.41.0 deploy.

p95
1,842ms
Error rate
2.3%
Since
21:02
Error1,284 events from 412 users since it was first seen

ERR-9F2A · TimeoutError: upstream payments timed out after 3000ms

Window
60min
Sampled
55/60min
Method
1-min p95 and error rate against this service’s thresholds
  1. Step 1: Detect

    Datis does not open an incident on one bad probe. It waits until more than one monitor is failing and the service’s error rate has breached at the same time — then it opens the incident, names what breached and pages whoever is on call.

    41s — Elapsed
  2. Step 2: Triage

    The agent gathers before it proposes anything: the error group, the recent releases of the failing service, the code the failure runs through, and whatever runbook your team already wrote about it. Nothing is inferred from the alert alone.

    40s — Elapsed
  3. Step 3: Plan

    It writes down what it intends to change, and what it decided against, before touching a file. The rejected options stay in the record — a plan that only lists what it did is not something you can argue with.

    12s — Elapsed
  4. Step 4: Patch

    The change comes out as a diff you read like any other — same repository, same review, same protections. It opens its own branch and its own pull request, like anyone else: Datis has no private way into your code, and the patch stays as small as the hypothesis allows.

    43s — Elapsed
  5. Step 5: Try to break it

    Green tests are the floor, not the argument. The patched build goes to a panel of reviewers at once, each briefed to break it from one angle. Each one that comes back reports what it tried, what it found and what it could not check at all — and a brief that never ran is shown as unreviewed, never counted as a pass.

    47s — Elapsed
  6. Step 6: Pull request

    Everything the run knows goes into the description: the hypothesis, the evidence it rests on, and every reviewer’s verdict — including the ones that raised something. The pull request is the argument, not a notification that one exists.

    6s — Elapsed
  7. Step 7: Merge

    A change merges itself only where its class has earned it: enough judged runs behind it, no regressions among them, and the checks green. Everything else stops and waits for a person, and the ledger records which of the two happened.

    1m 4s — Elapsed
Alert to merged4m 13s

Every duration above but the first is that step’s own elapsed time. Nobody was asked and nobody signed: the policy governing these paths merges retry-and-timeout changes once the tests are green, because that class has held 3 times. Every other class still stops for a person.

Why now

The missing layer is governance, not capability.

Models can now carry a multi-step fix end to end. What is missing is not capability — it is governance: who allowed the change, what evidence backed it, and which class of change has earned the right to merge without a signature.

The fix that merges needs the schema, the code, the runbook and the cloud account in the same window — which is why it cannot be a feature of one observability silo. The triage step above read all four before it named the change that did it.

Autonomy is a dial you earn, not a switch you flip. Every run adds to a track record, and the track record — not a mood — is what moves the dial.

Build

Describe the infrastructure. Read the plan. Then apply it.

Datis writes the Terraform, prices the change and runs your policy checks before a single resource exists. Nothing is applied without an approval.

Plan PLAN-118

Prompt: add a Redis cache and an SQS queue for checkout, production, us-east-1. the cache is for quote pricing and the queue is for order-placed side effects. give the queue a dead-letter queue.

Targetprod · us-east-1
PLAN-1186 to create · 0 to change · 0 to destroy
The Terraform Datis wrote
resource "aws_elasticache_subnet_group" "checkout_cache" {  name       = "${var.environment}-checkout-cache"  subnet_ids = var.private_subnet_ids} resource "aws_security_group" "checkout_cache" {  name        = "${var.environment}-checkout-cache"  description = "Redis access for the checkout service"  vpc_id      = var.vpc_id   ingress {    from_port       = 6379    to_port         = 6379    protocol        = "tcp"    security_groups = [var.ecs_task_security_group_id]  }   tags = var.tags} resource "aws_elasticache_replication_group" "checkout_cache" {  replication_group_id = "${var.environment}-checkout-cache"  description          = "Quote pricing cache for checkout-api"   engine               = "redis"  engine_version       = "7.2"  node_type            = var.node_type  num_cache_clusters   = 2  parameter_group_name = "default.redis7"  port                 = 6379   automatic_failover_enabled = true  multi_az_enabled           = true  at_rest_encryption_enabled = true   subnet_group_name  = aws_elasticache_subnet_group.checkout_cache.name  security_group_ids = [aws_security_group.checkout_cache.id]   maintenance_window       = "sun:05:00-sun:06:00"  snapshot_retention_limit = 3   tags = var.tags}
Datis scanned what it wrote — worst of 3AWS-EC-002modules/checkout-cache/main.tfElastiCache transit encryption is disabled
Account
481625309714
Monthly cost delta+$83.40On top of $5,694 a month across this account.

4 policy checks passed, 1 warning: prod requires 2 approvers.prod

Everything it plugs into

Twenty-seven providers, one way in.

Databases, files, APIs, repositories, cloud accounts and payments — every one connects the same way. What Datis may then do with a connection is a policy you set, not a property of the provider.

Databases
  • PostgreSQL
  • MySQL
  • MongoDB
  • SQL Server
  • SQLite
  • Snowflake
  • BigQuery
  • Redis
  • DynamoDB
Files
  • CSV
  • XLSX
  • PDF
  • Markdown
  • Google Drive
  • S3
APIs
  • OpenAPI
  • REST
  • GraphQL
  • gRPC
Repositories
  • GitHub
  • GitLab
  • Bitbucket
  • Azure DevOps
Cloud accounts
  • AWS
  • Azure
  • Google Cloud
Payments
  • Stripe

Connect what you already run and ask it something.

One connection, one question, one answer with the evidence attached — that is the whole pitch, and it is what we would like to show you.

Founder’s note

I run production stacks for a living, and Datis is the tool that work kept asking for. Every request on the list lands in my inbox, and the reply is mine too.

Solo founder, said plainly: the person who wrote the policy floor is the person who answers your email.

Sebastián Galli · Founder & CEO, Datis

Sebastian Galli SAS · Montevideo, Uruguay · contact@datis.app