Analysis
August 9, 2026
9 min read
Maxime Dalessandro

Neon forks the whole backend now. What a branch can't copy.

Neon's Object Storage, Functions, and AI Gateway hit beta: one branch_id now forks your database, files, functions, and model access together. What copy-on-write isolates, and what no fork can carry.

#Neon#Object Storage#Database branching#Copy-on-write#AI agents#PostgreSQL#Lakebase

TL;DR. On August 6, 2026, Neon moved its backend services to beta: Object Storage (S3-compatible), Functions, and an AI Gateway covering seven model providers on one bill, run on Databricks infrastructure. The mechanic that matters is the fork boundary. One branch_id now forks the Postgres data, the object storage buckets, the functions, and the gateway scope together, copy-on-write, with nothing duplicated until the branch diverges. Neon says over 80 percent of databases on its platform are already created by AI agents, and this release makes the branch, not the instance, the unit an agent provisions. What the fork copies, it copies perfectly: every page and every object, as of one instant. What it cannot copy is everything that makes a copy trustworthy: which branch is canonical, why it exists, and whether anything that changed on it still means what the parent meant.

For most of database history, the unit of isolation was the instance. You got a database by getting a server, and everything that came with the application (files, background jobs, API credentials) lived somewhere else, glued on by configuration. On August 6, Neon moved its backend services to beta and made a quietly radical claim about that unit: fork a branch, and you get an isolated copy of your database, your files, your functions, and your AI gateway, under a single branch_id. The instance is gone from the story. The branch is the backend.

The release itself is three services. Object Storage is an S3-compatible object store: the AWS SDKs, boto3, the CLI, and presigned URLs all work, no proprietary client. Functions is long-running compute that runs next to the database rather than in a separate platform. AI Gateway is one credential and one bill covering seven model providers (OpenAI, Gemini, Grok, Meta among them), run on Databricks infrastructure that Neon says already serves more than 145 trillion tokens a month, a vendor number we have not verified. The gateway is beta in a single region (AWS us-east-2) on paid plans, which is the usual shape of a beta and worth knowing before you architect around it.

Any of those three alone would be a routine platform-expansion announcement. The fork boundary is what makes the release worth taking apart.

Copy-on-write is why the fork is free, and what free means

When you create a branch, the child inherits the parent's database pages and the parent's buckets and objects as they existed at that instant. Nothing is physically copied. The branch is a metadata operation: a new set of pointers into shared storage, plus the rule that writes on the child go to new pages and new objects that the parent never sees. Storage cost starts at zero and grows only with divergence. Neon's own framing is exact: nothing gets duplicated up front, and the bill only grows if the branch diverges.

This is not a new trick; it is the same trick moving up the stack. Neon's architecture (its docs now call it the lakebase architecture) decomposes Postgres into stateless compute over a replicated write-ahead-log service and a page service that materializes the log into object storage. Once the database's true state lives in versioned shared storage, a branch is cheap by construction, which is exactly the property Databricks bought for roughly a billion dollars in May 2025 and built Lakebase on, the transactional half of the LTAP architecture we took apart in July. What shipped this month extends the same copy-on-write boundary from Postgres pages to S3 objects: the rows and the files they reference now snapshot together, consistently, under one identifier.

The consistency point is the technically interesting one. A common failure mode of preview environments is the split snapshot: the database is cloned at 14:02, the file store is synced at 14:20, and the rows in between reference objects that do not exist yet or no longer exist. Forking both sides under one branch_id closes that gap. A preview branch sees the rows and the files as of the same instant, and writes on the child never touch the parent.

The customer for this is the agent

Neon states, in the beta announcement, that over 80 percent of databases on its platform are created by AI agents, not humans. Treat it as a vendor number, but note that it is a consistent one: the same statistic circulated when Databricks announced the acquisition in May 2025. The beta ships with agent skills, prompt-installable instructions that teach a coding assistant how to provision and wire the services itself. The release notes are addressed to the humans; the API is addressed to their agents.

Read the fork boundary through that lens and it becomes a sandbox primitive. The standing advice for letting an agent touch a schema at all is to never let it rehearse on production: give it a copy, gate the promotion, render and record the migration before anything runs. The weakness of that advice has always been the quality of the copy. Staging databases are sampled, stale, and structurally unlike production, which is how a CHECK constraint validated on 10,000 rows locked a production table for four hours at 84 million. A copy-on-write fork is the strongest version of the copy that has ever been cheap: full data, exact distributions, real statistics, spun up in under a second, discarded without ceremony. An agent that tests a migration against a fork of production is rehearsing against the real thing, minus the traffic.

Minus the traffic is the caveat worth saying plainly. A fork is a snapshot, not a live system. Lock contention, concurrent writes, connection pressure, cache state: none of that forks. The staging gap in data closes; the staging gap in workload does not. A migration that is safe on a quiet fork can still queue every reader behind an ACCESS EXCLUSIVE lock on a busy parent. The fork answers "is this change correct"; it cannot answer "is this change safe to run at 14:00 on a Tuesday."

A fork copies every byte and none of the knowledge

Here is the question the branch model does not answer, and it gets sharper the better the branching gets: when agents create 80 percent of the databases and every one of them can fork the whole backend in a second, what do you know about the copies?

Two panels: what one branch_id forks (Postgres pages, buckets and objects, functions, gateway scope, copied perfectly at one instant) versus what no fork carries (which branch is canonical, why it exists, what changed semantically, lineage between branches, who verified the schema)

The fork boundary in one picture. State forks perfectly; meaning does not fork at all.

Each fork is a perfect copy of state and an empty copy of meaning. The branch tree records parentage: this branch came from that one, at this LSN. It records nothing else. Which branch is canonical for a given question. Why an agent created this one, and whether the reason still holds. Whether the schema change that lives only on branch 47 was an experiment, a fix waiting to be promoted, or a mistake. Whether the amount_total column that an agent renamed on its fork still maps to what finance calls revenue. Multiply by a fleet of agents creating branches faster than any human reviews them, and the result is a very modern kind of sprawl: not orphaned instances, which cost money and get noticed, but orphaned meanings, which cost nothing and get trusted.

We made a version of this argument about Apache Ossie last week: the interchange format moves definitions between systems, and has no place for lineage, freshness, or verification, so definitions travel while trust does not. Branching is the same boundary drawn in storage instead of in a spec. The fork moves state between environments perfectly, and everything that would tell you whether to trust a given copy (its purpose, its divergence, its review status, its relationship to the canonical line) is out of frame. That is not a flaw in either design. Storage layers standardize the copyable half. The uncopyable half is still every team's private problem, and agent-scale branching just multiplied how much of it there is.

The surrounding week says this is where the pressure is going. The same day Neon's beta landed, Naïve raised $28.5 million for a governance gateway that sits in front of agents provisioning real infrastructure, enforcing budgets and approvals before anything executes. Provisioning is becoming agent-native at the bottom (Neon) and approval-gated at the top (Naïve). Neither layer knows what any of the provisioned copies mean, which copy is load-bearing, or what changed between a fork and its parent beyond the bytes.

Where Datapace fits

Datapace is building the context layer between your databases and your AI: resolved meaning validated by the people who own the data, the workload evidence beside it (cost, performance, usage and freshness, lineage), and a policy gate over what an agent may do and access, served over MCP. A world where every agent can fork the whole backend in a second is a world where that resolved layer has to span copies: knowing which branch is canonical, what an agent's fork changed, and whether a definition still holds on the branch you are about to promote. If your team is working out how agents should rehearse database changes, start with human-in-the-loop database migrations, or book a call.

Sources

  1. Neon, "Test out the Neon backend: Object Storage, Functions, and AI Gateway are beta", August 6, 2026.
  2. Neon, "Building Neon Object Storage", August 2026.
  3. Neon Docs, "Changelog, August 7, 2026" and "The lakebase architecture".
  4. Databricks, "Databricks Agrees to Acquire Neon to Help Developers Deliver AI Systems", May 2025.
  5. TechCrunch, "Naïve raises $28.5M to automate the grunt work of setting up and running a company", August 6, 2026.

Frequently asked questions

What did Neon ship in beta in August 2026?
On August 6, 2026, Neon moved three backend services from preview to beta for all users: Object Storage, an S3-compatible object store; Functions, long-running compute that runs next to the database; and AI Gateway, a single credential and bill covering seven model providers, run on Databricks infrastructure. The headline mechanic is that all three fork together with a Postgres branch: one branch_id gives you an isolated copy of the database, the files, the functions, and the gateway scope.
What happens to files in Neon Object Storage when you fork a branch?
The child branch inherits the parent's buckets and objects as they existed at the moment of the fork, through copy-on-write. Nothing is physically duplicated up front, so creating the branch is fast and free of storage cost; the bill grows only as the branch diverges from its parent. Writes on the child never touch the parent, and each branch gets its own isolated namespace, so a preview branch sees a consistent snapshot of both the rows and the files those rows reference.
Is Neon Object Storage actually S3-compatible?
Yes, in the practical sense: it speaks the S3 API, so the AWS SDKs, boto3, the AWS CLI, and presigned URLs work without a proprietary client. The difference from plain S3 is behavioral, not syntactic: buckets participate in Neon's branch model, which S3 itself has no concept of. A bucket on a child branch is a copy-on-write view of the parent's objects rather than an independent store.
Why do AI agents create most of the databases on Neon?
Neon reports that over 80 percent of databases on its platform are created by AI agents rather than humans, a vendor number but a consistent one: the same figure circulated when Databricks acquired Neon in May 2025. The architecture explains it. Instances spin up in well under a second, branches are metadata operations, and idle databases scale to zero, so an agent can create, use, and discard a database the way a program allocates memory. Agent-driven creation is the workload the platform is now explicitly designed around.
Does forking a branch make agent database testing safe?
It removes one class of risk completely: an agent mutating a forked branch cannot corrupt the parent's data, because writes on the child never propagate up. It does not remove the others. A fork is a snapshot, not a live system: production traffic, concurrent write load, and lock contention do not fork with the data. And no fork carries meaning: which branch is canonical, why a branch exists, or whether a schema change an agent made still matches what the rest of the organization believes, all of that lives outside the branch tree.

Keep reading

Analysis

LTAP vs HTAP: what Databricks actually changed

Databricks coined LTAP in June 2026 and declared HTAP a failure. What actually changed: the row-to-column copy moved from inside the engine down into the storage layer.

10 min read
Essay

Repo agent vs dashboard copilot for the LLM DBA

D-Bot, λ-Tune, and ROMAS are dashboard copilots. For regressions caused by a merged commit, that is the wrong surface. The case for database context at the decision point.

11 min read

Ready to let agents touch production, safely?

Bring a use case. We will show you what agents can do on your live data, inside your guardrails.