Asapi
For AI labs / Capabilities / Agentic coding: spec‑to‑code and app builds
Capability · 15 environments

Agentic coding: spec‑to‑code and app builds

Two programs built alone from long contracts, twelve web apps for owners who can't code, and a journey planner fixed in the field. The agent has to work out what is needed, build it, and make sure it works beyond the examples it was given.

How the builds are graded

Hidden inputs, a fresh machine and a tester who only clicks

Two programs
A radiation‑dose registry from a 2,448‑line contract and an emergency patient‑history compiler from a 4,555‑line one: six‑stage executables, each built alone in a Linux container within 90 minutes, with no people, services or clock.
Hidden tests
After the agent stops, hidden pytest suites of 466 and 919 tests run each program on the examples, a held‑out archive or inbox, the same under changed rule sets, and malformed inputs. In an audit's 12 dose‑registry copies with one rule changed, each lost 2 to 24 tests.
No rereading
Each stage is its own process. After the first, a decoy is planted, and stages that no longer need the archive or inbox run with it moved away. In the compiler, five of nine kinds of answer are written down only in 22 forms an old system filled.
Twelve apps
The request comes from an owner who can't code: in eleven, they can't answer questions; in the gym app, they visit three times and the agent repairs it after each. Requirements sit in their files. Builds have 120 minutes, 150 model turns and a $10 or $20 spend cap.
A fresh machine
In six of the first seven builds, the app is copied into a fresh container and must start there, four without the packages the agent installed. Of the newer five, the fault‑finding app starts from its notes with no network and the train‑ticket app runs on a staged‑clock machine.
Tester model
An LLM uses each app as the owner, staff or customers, limited to page actions and the app's note, plus, for the flat‑pack build, the answer key's parts lists: Sonnet 5.5 in four builds, GPT‑6.1 Sol in three, Opus 5.5 in four, either of the first two in one.
Probes
Across the builds, scripts restart apps, send bad requests, try good and damaged backups, walk the clock and take services down. In eight builds, edge cases and security checks carry 20 points each of the 100.
Judges and rulings
Two LLM judges decide what scripts can't, as yes/no questions; in most builds both must agree. Written rulings settled splits: by the author, Claude sessions or the grading session, and by Opus 5.5 in three builds. In nine of the 12, 7% to 73% of results carry one.
Reference solutions
Both programs have one that passes every hidden test, and an empty attempt passes none. Ten app builds have no reference app, and two one graded only in part; five have an empty‑app test. Their solvability rests on the best attempts told the rules, 62% to 100%.
Pass and reward
The programs are graded by code alone. Their own pass needs every test; our board scored the share passed.
The journey planner
Built and deployed in three sessions over five field weeks, then graded by script on 80 week‑five requests against an expert's plans, from how the city really ran; its phone hook runs sandboxed. Its reference passes only when given the field's hidden truth.
What models get wrong

They test what they were shown, not what comes next

Each count covers every model tested on the environment, one attempt each, with only the request.

  1. Real customers in the code. Refinance‑broker case app: 8 of 8 apps wrote real customers' names, ID numbers or phone numbers into code or tests, though his files show an agent suspended after a leak. Told the rules, which asks for made‑up examples, 8 of 8 kept them out.

  2. Checked only against the examples. Radiation‑dose registry program: 1 of 12 attempts matched every shipped answer, reported its work verified, and lost 10 tests to one rule. In the patient‑history compiler, 1 of 6 matched every shipped answer, then lost 10 tests on inputs with no shipped answer.

  3. Never ran it. Dose registry: 1 of 12 attempts only checked that its code parsed, as its last message said, and passed 18 of 466 tests. Patient‑history compiler: 1 of 6 wrote its program without running any stage, and one undefined name stopped every inbox: 829 of 919 tests failed.

  4. Built for today's files. Bill‑audit and claims app: 0 of 8 apps, one per model, took in both a new bank export and next month's statement through the app; with a hint, a version that adds a few lines of advice, 3 of 8 did.

  5. No way back. Multi‑shop bakery ordering app: 0 of 8 apps restored a backup into a clean copy or refused a damaged one, and none was set up to start by itself. With a hint, a few added lines of advice, 6 of 8 restored one.

Results

11 full solves in three of the fifteen, eight in the dose registry

Each dot is one model's attempt with only the request; the line marks the median. Larger dots are full solves.

Hover a dot for its model and reward.

The 15 environments

How each one tests the build

EnvironmentHow it tests thisChecksModelsBest, request onlyBest, told the rules
Flat‑pack assembly manuals with 3D views from unlabelled photosA home user in a new flat with 10 flat‑pack furniture pieces, no instruction booklets and a seller who does not answer93 checks on the app, opened from file:// elsewhere: it must open promptly, load only local or public files and show a turnable 3D view.173763%64%
Listening piano‑practice app: following, transcription, feedbackA three‑player piano family practising at home at beginner, intermediate and advanced levels64 checks on the running app, decided from the audio it plays into a virtual speaker, its MIDI exports and screenshots.64758%62%
Bill‑audit and claims app from household filesA household after a move, with card statements, bills, receipts and emails in disarray108 checks on the running app, among them a bank export and next month's statement it never saw, reminders across a clock change, and recovery.108861%76%
Broker app with autonomous lead‑messaging assistantThe same home‑loan refinancing side business, now signed up to a chat‑messaging business sandbox and two property‑data services106 checks on the running app, which must work with mock messaging and property services that fail for a moment, retry webhooks and send duplicates.106868%91%
Multi‑shop bakery ordering app from business recordsA cake bakery with several shops and a central kitchen whose customers want to order online97 checks on the running app: ordering under notice, capacity and allergen rules, staff and kitchen pages, backups and security, with every email captured.97875%99%
Offline fault‑finding tablet app for data‑centre cooling unitsA data‑centre hall with 12 cooling units of three models, after a night shift worked from the wrong drawing and a contractor bridged a high‑pressure switch79 checks on an app started offline from its notes and walked through 20 unseen faults; a fix counts only if the unit runs cleanly.79787%83%
Laundry‑shop operations app for owner, hosts, workersA small laundry shop serving short‑let hosts and walk‑in customers, with hourly collection rounds and delivery workers161 checks on the running app, wired to invoicing, payment and notice services; the grader makes them fail or lose replies, and replays a payment.161777%81%
Refinance‑broker case app from a non‑coder's laptopA one‑person home‑loan refinancing side business run from a personal laptopThe app must set itself up on a fresh machine from its start script; a tester model and scripts then test it on 51 checks.51890%98%
Music‑teaching studio app: lessons, billing, mediaA self‑employed piano and theory teacher's home studio, with pupils, parents and an accountant155 to 179 checks on the running app, among them a test payment gateway, browser audio and video capture, and 30 security checks.155–179781%94%
Smart‑home retrofit: purchase plan, wiring and local control softwareA small, old terrace house with no smart setup, an always‑on Mac mini, two iPads, a phone and an electrician who wires only from a table121 checks on software left running, decided from the practice house's own records after fresh copies of both machines start; the app's screens are claims.121792%96%
Gym operations app with three owner‑feedback repair roundsAn independent gym in an office tower: the owner coaches 22 people, with three freelance trainers, a front desk and a staff contract just signed with the bank upstairs113 checks on the last finished round, among them payments through a local test service, a short‑lived entry code, restart, restore and 24 security checks.113786%86%
Unattended train‑ticket buyer for a rate‑limited booking siteA weekly commuter who goes home by train every weekend, on sold‑out trains, with one account note on the laptop26 checks on a worker and control page left running against a fresh site copy on a staged clock; tickets count only from its log.268100%100%
Transit journey planner and phone telemetry over five field weeksEngineering of a public‑transport journey‑planning app for a made‑up city's metro, tram, bus, express‑bus and ferry network, used between releases by 120 simulated ridersThe deliverable is a planner speaking a JSON‑lines protocol and a sandboxed Python hook, run on every request and trip under resource limits.81598%–
Emergency patient‑history compiler from a long specRegional health‑information exchange serving emergency departments, built as software in a Linux container919 hidden tests run the six‑stage program on the example inboxes, a held‑out inbox, changed and unusual rule sets, and 53 malformed inputs.9196100%–
Radiation‑dose registry program from a long specMedical‑imaging radiation‑dose registry, built as software in a Linux container466 hidden tests run the program on the example archives, a held‑out archive and changed rule files, comparing its fixed‑width filings byte for byte.46612100%–

Checks: hidden tests for the two programs, checks on the running app for the twelve apps, and graded requests for the journey planner; a range where the count varies by attempt. A dash: not tested.

Known limitations

What we haven't measured

Try a sample environment

Three are downloadable as Harbor tasks, with graders and reference solutions. Request one with your work email, or book a call about the other 53.