The plan asked 357 questions
Part 1 of five in StellarView Alpha, a series about delivering a solved application as an operated platform.
Everything works on a laptop.
That is the whole problem, and it is not a new one. Hello world works. A demo works. The step that breaks things is the first one away from the machine it was built on: a second tenant, a real account, somebody else’s test suite, a stranger’s support ticket.
This is a five part series about walking that step deliberately, on camera, with a control that nobody can argue with. Every failure in it is ours.
Why Conduit
Conduit is the reference application of RealWorld, and it is the most implemented demo application on the internet. Over a hundred versions exist, in every framework you can name.
That is the point. If a hundred people already built the application, the application is not the variable. Every difference between one delivery and another is whatever surrounds the app. It is a control, and controls are what make a comparison mean anything.
The people who built RealWorld said this first, and better, in their own README:
While most “todo” demos provide an excellent cursory glance at a framework’s capabilities, they typically don’t convey the knowledge required to actually build real applications with it — nor the real-world constraints a minimal demo never has to face.
Eric Simons put it more sharply when he introduced the project in 2017:
Todo apps are not good examples when you’re comparing “realistic” applications because todo apps existed long before the web did. Phrased differently, todo apps have not been one of the breakthrough applications whose mere existence required the web itself.
We are not competing with that argument. We are standing on it.
What we asked for
Not the app. A running, cloud-based, SaaS-ready platform, with the app inside it.
One document went in. 6,635 characters, which the upload card rounds to 6.5 KB. Typed by a person, into the Big Bang creator.

Nothing else was configured. No template was chosen, no phase count was set, no technology was named. Six of the seven requirement fields were still empty when the document landed, and the machine filled them by reading it.

Read that panel, because every claim in the four films after this one is judged against it. The requirement it carried, in the client’s own words on screen, includes the scoring rule:
An implementation that passes the API suite and ships nothing else scores one dimension out of eleven.

Ten phases, and only three of them are the app

Add them up:
| phase | work units | |
|---|---|---|
| 1 Tenant-Isolated Data Layer and Conduit Identity | 11 | the app |
| 2 Conduit Publishing Core | 10 | the app |
| 3 Conduit Reference Frontend and Tenant Admin UI | 11 | the app |
| 4 Merge-Blocking CI, API Conformance, Isolation Proof | 9 | |
| 5 Infrastructure as Code, Cloud Deployment, Executed Rollback | 12 | |
| 6 Observability: Structured Logs, Health Endpoints, Live Dashboard | 9 | |
| 7 Data Lake: Content, Events and Operational Records | 13 | |
| 8 Grounded Retrieval Over the Platform’s Own Corpus | 12 | |
| 9 Support Desk: Ticket to Code-Referenced Answer | 10 | |
| 10 Generated Wiki, Timed Cold Start and the Record | 9 | |
| 106 |
Thirty two work units are the application. Seventy four are everything else.
Phases one to three are Conduit: the data layer with tenant isolation, the publishing core, the reference frontend. Thirty two work units. That is the part a hundred people have shipped.
Phases four to ten are seventy four work units. They cover:
- merge-blocking CI with API conformance and supply chain scanning
- infrastructure as code, a cloud deployment, and a rollback that has been run
- observability: structured logs, health endpoints, a live dashboard
- a data lake where content, events and operational records land queryable
- grounded retrieval over the platform’s own corpus
- a support desk that takes a ticket to a code-referenced answer
- a generated wiki, a timed cold start, and the record
Seven of the ten phases are the step off the laptop.
A work unit is eight hours

WU-1-1, eight hours, four acceptance criteria. WU-1-2, eight hours, three. A hundred and six of them at eight hours each is eight hundred and forty eight. That number is not an estimate. It is arithmetic, and the multiplicands are on screen.
Then it stopped and asked
The part we did not expect.
Three hundred and fifty seven gaps. Eight critical. Sixty eight it believed it could settle by reading the repository. Two hundred and eighty one it would not answer at all. Answered: zero.
They are questions, not warnings. Which database role runs the migrations.
Whether a tenant setting unwinds on a rollback. Whether a liveness endpoint
belongs at /health or /api/health. Beside every one, an empty box.
A plan that guesses looks finished. It is also how you find out in week six.
The scoring rule, and the score
The requirements document does not just ask for work. It defines how the result should be judged, across eleven dimensions, and says plainly that passing the API suite alone scores one of them.
Phase ten generates the scorecard from that rule and commits it. It is checked in
at wiki/rubric.md, and it does not flatter us:
| Dimension | Score |
|---|---|
| Conduit parity | Met |
| Multi-tenancy | Met |
| Observability | Met |
| Documentation | Met |
| Support | Met |
| Data lake | Met |
| AI layer | Met |
| Security | Met |
| Infrastructure as code | Partially met |
| Deployment | Partially met |
| Continuous integration | Partially met |
Eight met, three partially met, each with named evidence files. The reasons name the constraint rather than hedging. On continuous integration:
GitHub’s branch-protection API refuses to mechanically enforce required-checks on this repository’s plan tier, so the jobs run and report red/green but cannot technically block a merge button click.
That is a generated document, published so that anyone can run the same rubric against us.
And then it stopped being a document

Eleven issues in the team’s own repository, each carrying its phase in full rather than a link to somewhere else.

And a hundred and six of a hundred and six on the board the delivery managers already use, every row carrying a link back the other way.
Nothing here has been built yet. That is the point of it.
Credit where it is owed
Conduit is the reference application of RealWorld, created in 2016 by
Eric Simons and Albert Pai and funded in its early years by
Thinkster. The project credits Dan Abramov and Addy Osmani with
helping spark the idea, and TodoMVC as its model. It was revived in 2021 by
Gérôme Grignon and Manuel Vila after its original maintainers stepped
back, and is maintained today by c4ffein and Manuel Vila under the
realworld-apps organisation. Manuel Vila also built CodebaseShow, which
indexes the community’s implementations. RealWorld is MIT licensed, © Thinkster
and © c4ffein.
We built against the published API specification and its test suite. We are not affiliated with the RealWorld project, and nothing here should be read as endorsement by its maintainers. Passing the spec’s suite demonstrates conformance to that specification and nothing more.
Thanks to everyone who has kept this spec alive, unpaid, for a decade.
Next, It read my commit: it read a Dockerfile I had committed an hour earlier, and found what I had left out.
