AI App Builder Spec Gaps 2026: 834 From 26 Build Tests
We had an AI builder build 26 internal tools from their own specs and checked 636 acceptance items in a browser. The builds exposed 834 spec gaps (median 19 per build); the most common kind was ambiguous wording (26%).
Key findings
- 26 of our 37 internal-tool blueprints have been built by an AI builder from their own phase prompts, and all 636 acceptance checks passed in the final browser runs (70% of blueprints build-tested). Link to this finding
- Those 26 builds exposed 834 gaps in the specs, places where the AI builder had to guess because the spec was silent, ambiguous or contradicted itself: a median of 19 per build, from 5 (Bug Tracker) to 84 (Shift Scheduling). Link to this finding
- The most common kind of spec gap was ambiguous wording: 214 of 834 gaps (26%). Link to this finding
- Three kinds of gap, ambiguous wording (214), missing fields and definitions the rules depend on (175) and undefined edge cases (154), made up 543 of 834 spec gaps (65%). All three are things a written spec can prevent before any code is written. Link to this finding
- The least common kind of spec gap was phases in the wrong order: 24 of 834 (3%). Link to this finding
- Across the 26 build tests there were 1.3 spec gaps for every acceptance check (834 gaps, 636 checks), so a spec that passes its own checks can still leave many decisions to the builder. Link to this finding
Spec gaps by kind
| Kind of gap | Gaps | Share |
|---|---|---|
| Ambiguous wording | 214 | 26% |
| Missing fields and definitions the rules depend on | 175 | 21% |
| Undefined edge cases | 154 | 18% |
| Formats, schedules and integrations | 111 | 13% |
| Sections that contradict each other | 86 | 10% |
| Checks that depend on data or timing | 43 | 5% |
| Missing people-management actions | 27 | 3% |
| Phases in the wrong order | 24 | 3% |
| All kinds | 834 | 100% |
Results by build
Sorted by spec gaps, most first. Download the table as CSV.
| Blueprint | Tested | Acceptance checks passed | Automated tests | Spec gaps | Platform capabilities needed |
|---|---|---|---|---|---|
| Shift Scheduling | 2026-11-07 | 20 of 20 | 66 | 84 | a scheduled job, sending email |
| Invoice Reminders | 2026-11-06 | 18 of 18 | 113 | 83 | a scheduled job, sending email |
| Equipment Tracker | 2026-11-10 | 21 of 21 | 116 | 82 | a scheduled job, sending email |
| OKR Tracker | 2026-11-08 | 19 of 19 | 136 | 72 | a scheduled job, sending email |
| Link Shortener | 2026-11-04 | 19 of 19 | 151 | 69 | a scheduled job, sending email, links that work without a staff sign-in |
| Performance Reviews | 2026-11-09 | 17 of 17 | 122 | 64 | a scheduled job, sending email |
| Inventory Tracker | 2026-11-05 | 21 of 21 | 137 | 63 | a scheduled job, sending email, private file storage |
| Status Page | 2026-11-03 | 18 of 18 | 114 | 58 | a scheduled job, sending email, links that work without a staff sign-in |
| Employee Onboarding | 2026-11-02 | 20 of 20 | 109 | 44 | a scheduled job, sending email |
| Internal Knowledge Base | 2026-11-01 | 31 of 31 | 155 | 30 | a scheduled job, sending email, a Slack integration |
| Help Desk | 2026-10-15 | 24 of 24 | 64 | 21 | a scheduled job, sending email, links that work without a staff sign-in, receiving email or webhooks |
| Timesheets | 2026-10-30 | 21 of 21 | 123 | 21 | a scheduled job, sending email |
| Customer Feedback Inbox | 2026-10-28 | 25 of 25 | 157 | 20 | a scheduled job, sending email, receiving email or webhooks |
| Client Onboarding Tracker | 2026-10-29 | 28 of 28 | 119 | 18 | a scheduled job, sending email, links that work without a staff sign-in |
| Hiring Pipeline | 2026-10-15 | 29 of 29 | 65 | 18 | a scheduled job, sending email, links that work without a staff sign-in |
| Testimonial Wall | 2026-10-17 | 32 of 32 | 42 | 11 | a scheduled job, sending email, links that work without a staff sign-in |
| Commission Calculator | 2026-10-15 | 24 of 24 | 48 | 10 | none |
| Approval Workflow | 2026-10-12 | 20 of 20 | 38 | 9 | a scheduled job, sending email, a Slack integration |
| Expense Reports | 2026-10-15 | 24 of 24 | 59 | 9 | a scheduled job, sending email, private file storage |
| Content Calendar | 2026-10-15 | 27 of 27 | 63 | 8 | a scheduled job, sending email |
| Quote Builder | 2026-10-15 | 29 of 29 | 47 | 8 | a scheduled job, sending email, links that work without a staff sign-in |
| Simple CRM | 2026-10-15 | 27 of 27 | 91 | 8 | a scheduled job, sending email |
| Time-Off Tracker | 2026-10-15 | 32 of 32 | 71 | 7 | a scheduled job, sending email, links that work without a staff sign-in |
| Project Status Board | 2026-10-16 | 28 of 28 | 64 | 6 | a scheduled job, sending email |
| SaaS Spend Tracker | 2026-10-16 | 31 of 31 | 99 | 6 | a scheduled job, sending email |
| Bug Tracker | 2026-10-17 | 31 of 31 | 56 | 5 | a scheduled job, sending email, links that work without a staff sign-in |
Methodology
- Source: our own build tests. Each blueprint was given to an AI builder (Claude, working in Type) as a single Markdown file. The builder followed the four phase prompts in order and built only what each phase asked for. Every acceptance check was run in Chromium as the named user, and after the last phase every check ran again on fresh seed data.
- What counts as a spec gap: each place the builder reported having to interpret, guess or work around the spec (every phase prompt ends by asking it to list them), plus contradictions found while checking. Each gap was fixed in the published blueprint and counted once. Kinds are assigned by hand, using the eight kinds in What AI app builders get wrong.
- Denominators: shares of gaps use all 834 classified gaps; per-build figures use the 26 build-tested blueprints. Blueprints with a spec but no build test are excluded.
- Platform capabilities are what a blueprint needs beyond a database and sign-in (a scheduled job, sending email, file storage, public links, inbound email or webhooks, Slack), taken from each spec.
- Limits: one AI builder, one test harness, specs written by us. This is evidence about these specs, not a comparison of AI builders. Production sign-in, real email delivery and hosting were not tested (how we test).
- Refresh: updated whenever a new build test is published. Last data change: 2026-11-10. Percentages are rounded to whole numbers.
How to cite this
Quote any finding with a link to this page (or to the finding's own anchor). Suggested citation:
AI App Builder Spec Gaps 2026: 834 From 26 Build Tests. Personal Software Factory, November 2026. https://personalsoftwarefactory.com/research/spec-gaps
Get new blueprints by email
One email when a new blueprint is published. Nothing else.