curiosity

Article · Coding agents

What does a coding agent need from a platform?

A coding agent can write an internal app from a description. Whether the app ships depends on what it stands on: data, permissions, tests on real records, deployment, an audit trail and docs it can read. A platform supplies those once, so the agent writes only the part that is new.

Topic Coding agents Reading time 7 min References 7 Updated October 2026

In short

A coding agent needs a platform that already holds what an enterprise app stands on, so the agent writes only the part that is new. They are data, a data model, sign in and permissions, tests on real records, deployment, an audit trail and docs the agent can read.

A platform is not the agent’s harness. The harness is the program that runs the model: its terminal, its sandbox and its permission prompts. It decides what the agent may do while it writes. The platform decides what the app may do once people use it. Nor is it a repository, which holds the code and none of the records the code reads.

The code is the cheap part

Coding agents now read a code base, edit files, run commands and open pull requests, in a terminal, an IDE or a cloud environment. Writing an app’s screens and endpoints is the part they do well.

What an agent writes from scratch has not been reviewed the way a platform was. Veracode tested code from more than 100 language models and reported in July 2025 that 45% of the samples failed security tests. Newer models wrote code that worked more often, but not code that was more secure. In a user study by Perry and colleagues, people with an AI assistant wrote less secure code than people without one. They were also more likely to believe it was secure.

So the work moved. An app the agent builds from an empty folder needs its own connectors, login, access checks and server. Each is one more thing to review. Our paper The app is the easy part follows that into documented incidents.

Seven things an app stands on

  • Data, connected and current. Records from the systems that own them, synced as they change, deletes included. An agent that copies an export into its app has a snapshot, not data.
  • A data model. Types and the links between them, as files the agent reads before it writes a query. Without one, each app invents its own, and ten apps disagree about what a supplier is.
  • Sign in and permissions. The company’s single sign on, and access checked by the platform on every record the app reads. Code checks access only where it remembers to. Anthropic’s advice for Claude Code says the same about the agent’s own rules: “If something has to happen every time, make it a hook, a deny rule, or a managed setting.” For an app, that place is below the code.
  • A way to test on real records. A build against the real schema, and tests that run on the records the app will read. The same guide names the risk: “Claude stops when the work looks done.” A check that comes back pass or fail is what tells it otherwise.
  • Deployment. Somewhere to run that is already inside your network, patched and backed up.
  • An audit trail. Who asked for a change, who approved it, and what people did with the app afterwards.
  • Documentation the agent can read. The platform’s API and house conventions, as files that match the version you run. AGENTS.md calls its own file “a dedicated, predictable place to provide the context and instructions to help AI coding agents work on your project.” A platform needs the same for its surface.

Alone or on a platform

Eight parts, or one

The same app, built by an agent from an empty folder or on a platform. Pick a step to stop the drawing and read it.

What an app stands on, alone or on a platform Two columns. On the left, a coding agent alone writes the app and seven parts under it: connectors, a data model, sign in and access checks, test fixtures, its own notes, servers and logging, all for your team to run. On the right, on a platform, the agent writes only the app; data from 70+ systems, one typed graph, SSO and per record access, builds on your records, skills and SDK, hosting and approved changes are already there. AGENT ALONEON A PLATFORMYour appYour appYOUR APPConnectors it writesDATA70+ systems, in syncA schema per appDATA MODELOne typed graphChecks it must recallSIGN IN · ACCESSSSO, access per recordFixtures it inventsTESTSBuilt on your recordsWhat it remembersDOCSSkills, SDK, schemasServers you runHOSTINGYour servers, backed upLogging, if askedAUDIT TRAILEvery change approved8 parts to own1 part to writeYOURS TO WRITE AND RUNCOMES WITH THE PLATFORM
What an app stands on, alone or on a platform Two columns. Alone, a coding agent writes the app and seven parts under it, all for your team to run. On a platform, the agent writes only the app; data, the data model, sign in and access, tests on your records, documentation, hosting and approved changes are already there. ALONEON A PLATFORMYour appYour appDATAConnectors it writes70+ systems, in syncDATA MODELA schema per appOne typed graphSIGN IN · ACCESSChecks it must recallSSO, access per recordTESTSFixtures it inventsBuilt on your recordsDOCSWhat it remembersSkills, SDK, schemasHOSTINGServers you runYour servers, backed upAUDIT TRAILLogging, if askedEvery change approved8 parts to own1 part to writeYOURS TO WRITE AND RUNCOMES WITH THE PLATFORM
  1. 01

    The agent writes the app

    A screen and an endpoint for a supplier review. On its own or on a platform, this part looks the same.

  2. 02

    It needs data

    Records from the systems that own them, kept current, and a model of what they are. Alone, the agent writes both.

  3. 03

    And who may see it

    Sign in through the company’s identity provider, and access checked on every record the app reads.

  4. 04

    And proof it works

    Tests on real records, and documentation of the platform it builds on, at the version you run.

  5. 05

    And somewhere to run

    A server that is patched and backed up, and a record of who changed what.

  6. 06

    Eight parts, or one

    Alone, your team owns all eight. On a platform, the agent writes the app and inherits the rest.

How it goes wrong

  • A copy per app. Each app loads its own extract of the data. The extracts drift apart and outlive the records they came from.
  • A forgotten access check. One endpoint without it is enough to show a record to someone who should not see it.
  • Tests on invented data. The app passes on fixtures the agent wrote and fails on the first real part number.
  • A package that does not exist. Spracklen and colleagues generated 576,000 code samples with 16 models. On average, at least 5.2% of the packages commercial models named did not exist, and 21.7% for open source models. An attacker can publish a package under such a name.
  • The agent’s rights, not the user’s. An agent given a service account builds an app that reads as that account, for everyone.
  • Changes that apply themselves. A deploy nobody read leaves an auditor nothing to look at.
  • An API from memory. The agent writes against the version it was trained on, not the one you run.

How to evaluate a platform for coding agents

Ask these of any platform an agent builds on, ours included:

  • Which records can the app read on its first day, and how do they stay current?
  • Can the agent read the data model as files before it writes?
  • Who checks access on each read: the platform, or the code the agent wrote?
  • Does the agent work with its own rights or the user’s, and can it approve its own change?
  • Can the agent build and test against real records without touching what runs?
  • Where does the app run, and who patches it?
  • What record does a change leave: who asked, who approved, what changed?
  • Does the documentation the agent reads match the version you run?

When the agent alone is enough

Not every app needs a platform. A coding agent on its own is the right tool when the application already has its data, sign in and hosting. It is enough for a tool that reads one system or none, and for a prototype nobody runs on production records. Our comparison pages for coding agents say so for each agent.

One change

Written by the agent, approved by a person

A coding agent adds an endpoint through a platform session. Pick a step to stop the drawing and read it.

One change from a coding agent to production Three lanes: the coding agent, a platform session and a person. The agent reads a skill and the schema from the platform, writes a file into its session, gets a build with no errors, and asks for a commit. The platform stages it and waits. A person approves it, and only then is the change live. Coding agentPlatform sessionA personSkill: add-code-endpointSchema: Part.csWrites open-notices.csBuild: 0 errorscommit -m “Open notices”Staged, waiting for youApprovedNOT LIVELIVE
One change from a coding agent to production Three lanes: the agent, the platform and a person. The agent reads a skill and the schema, writes a file, gets a clean build and commits. The platform stages the commit. A person approves it, and only then is the change live. AgentPlatformPersonSkillSchemaFileBuild okCommitStagedApprovedNOT LIVELIVE
  1. 01

    It reads how things are done here

    Before it writes, the agent reads the platform’s skill for the job: how an endpoint is written in this workspace.

  2. 02

    It reads the data model

    The schema of the records it will query, as a file, at the version that runs.

  3. 03

    It writes the change

    Into its own session. Nothing live has changed.

  4. 04

    The platform builds it

    The change compiles against the workspace. An error goes back to the agent, not to production.

  5. 05

    It stages a commit

    The agent asks for a commit. The platform stages the diff and waits for a person.

  6. 06

    A person approves it

    Someone reads the diff and approves it. Only then does the change run.

How Curiosity does it

Curiosity Studio is the platform, and curio is how a coding agent reaches it. curio is a command line, so Claude Code, OpenAI Codex, GitHub Copilot or any agent that runs shell commands can work through it. curio skills install puts one skill where the agent looks for skills. It lists Sudo’s skills and the commands that read them, so the agent follows the conventions of the version you run.

The agent works in a session of Sudo’s sandbox. It reads the schema as files under /workspace, and the API reference under /sdk and /docs. It writes its change there, and build compiles it against the workspace. commit stages it, and a person approves the diff on Sudo’s review screen. Signed in without the approve right, the default, curio cannot approve anything itself. The coding agents guide has the setup for each agent.

The rest is already there. Records from more than 70 systems sit in one typed graph. Access is synced from the source systems and checked per record. Sign in runs through your SSO or SAML provider, and the audit log records the actions an administrator turns on. Studio runs on your servers or in your private cloud, and commits every configuration change to git.

What the agent adds is a small piece of code on top. The paper Count the seams first sets that against a stack you assemble yourself.

FAQ

Questions people ask

Can a coding agent build an enterprise app on its own?

It can write one. Whether it should run on its own depends on what the app stands on. If the app already has its data, sign in and hosting, or reads one system, the agent alone is enough. If it needs records from several systems, access per record and an audit trail, build it on a platform that holds those.

Where should access checks live in an app a coding agent writes?

Below the code, in the platform the app reads through. A check written into each endpoint holds only where the agent remembered it. In Curiosity Studio, access is synced from the source systems and checked per record on every read. Code built on it inherits what each user may see.

How does a coding agent learn a platform’s API?

From documentation it reads while it works, not from memory. Through curio, an agent reads Sudo’s skills and the API reference of the Studio version you run. Its change is compiled against the workspace before it is staged.

Can a coding agent approve its own changes in Curiosity Studio?

Not by default. curio signs in without the approve right unless you choose otherwise. The agent stages a commit, and a person approves the diff on Sudo’s review screen.

Your data. Your infrastructure.

Build on it with the agent you have.