This is the meta-finding of the 2026-09-08 feedback export, and the reporter who spent four hours driving a real CAD/CFD app named it as the single highest-leverage change we could make:
The single highest-leverage change would be a corpus of deliberately awkward real apps in CI — file upload, >20s endpoint, WebGL canvas, 401-refresh-retry, noisy localStorage, unnamed icon buttons. Every blocking defect I hit would have been caught by one of those before release, and the pattern of failures suggests the current test surface is simpler than the apps you are aiming at.
Their overall verdict, which is worth quoting because it is the map: "the observation layer is genuinely very good; the automation and replay layer is not production-ready. A good instrument bolted to a weak robot." Reading state, reading network bodies, and grading honestly are the hard, valuable parts and they are strong. Driving an app and replaying journeys need breadth of real-world exposure, and they read like they have been exercised against simple demo apps.
The split was not random. Every single thing that broke was a property of a real application:
| property |
what it broke |
| a file upload |
recorder wrote {path}, replayer only took {name, content, type} — a recorded upload could never replay |
| a 22-second model-backed endpoint |
replay's fixed 4s wait called a pending request an absent one |
| a WebGL canvas |
invisible to every observation channel; with default sourceMapping it crashed the app outright |
| a 401-refresh-retry |
two false-red contradictions on a standard auth path |
| an app writing localStorage in a loop |
starved the buffer; the verdict then reported net.total: 0 as a fact |
| an icon-only button with no accessible name |
undriveable |
None of those is exotic. The five fixes above shipped, and none of them would have needed a field report if a corpus like this existed.
Why nothing we have covers it
Every app under apps/ is one we wrote, and each was written to exercise a feature. They are honest fixtures and they are all cooperative. apps/atlas is the closest thing to an adversarial one and it is still ours. The sibling reticle-fixtures repo installs into pristine upstream apps, which covers install COMPLEXITY — a different question from runtime hostility.
What would close this
Start with one app carrying two or three of these properties, wired into pnpm test:e2e. A corpus is the goal; a corpus is not the first PR. Good candidates, cheapest first:
- an endpoint that takes >20s (a
setTimeout in apps/api — nearly free, and it covers the replay-timeout class)
- a localStorage write loop (a few lines; covers the buffer-starvation class)
- an icon-only button with no accessible name
- a 401-then-refresh-then-retry path in
apps/api
- a file upload
- a WebGL canvas subtree
Please read apps/README.md first — it says what belongs under apps/ and why — and docs/gates.md for which gate a new fixture should join. pnpm test:e2e is ~8 minutes.
Related
#130 (a standing false-green gate against third-party apps we did not write) is the same instinct aimed at apps we do not control. This one is about apps we DO control that are deliberately hostile, which is cheaper to start and easier to keep green.
This is the meta-finding of the 2026-09-08 feedback export, and the reporter who spent four hours driving a real CAD/CFD app named it as the single highest-leverage change we could make:
Their overall verdict, which is worth quoting because it is the map: "the observation layer is genuinely very good; the automation and replay layer is not production-ready. A good instrument bolted to a weak robot." Reading state, reading network bodies, and grading honestly are the hard, valuable parts and they are strong. Driving an app and replaying journeys need breadth of real-world exposure, and they read like they have been exercised against simple demo apps.
The split was not random. Every single thing that broke was a property of a real application:
{path}, replayer only took{name, content, type}— a recorded upload could never replaysourceMappingit crashed the app outrightnet.total: 0as a factNone of those is exotic. The five fixes above shipped, and none of them would have needed a field report if a corpus like this existed.
Why nothing we have covers it
Every app under
apps/is one we wrote, and each was written to exercise a feature. They are honest fixtures and they are all cooperative.apps/atlasis the closest thing to an adversarial one and it is still ours. The siblingreticle-fixturesrepo installs into pristine upstream apps, which covers install COMPLEXITY — a different question from runtime hostility.What would close this
Start with one app carrying two or three of these properties, wired into
pnpm test:e2e. A corpus is the goal; a corpus is not the first PR. Good candidates, cheapest first:setTimeoutinapps/api— nearly free, and it covers the replay-timeout class)apps/apiPlease read
apps/README.mdfirst — it says what belongs underapps/and why — anddocs/gates.mdfor which gate a new fixture should join.pnpm test:e2eis ~8 minutes.Related
#130 (a standing false-green gate against third-party apps we did not write) is the same instinct aimed at apps we do not control. This one is about apps we DO control that are deliberately hostile, which is cheaper to start and easier to keep green.