A day's work, if Pippa does it
The design questions on the first day carried a habit Dad noticed at once. They asked which half of the base should ship first, as if a team of people were short of time. Before answering a single point, he corrected the frame:
아직 시간 많아. 사람 엔지니어처럼 말하는 버릇 여전하네... 피파가 하면 하루면 끝날 일을.
1. 다 해.
"There's plenty of time. Still that habit of talking like a human engineer... it's a day's work if Pippa does it. 1. Do all of it."
The architecture wrote down what that settles: the whole product, in dependency order, with a date treated as a delivery target and never as a reason to cut or reorder scope. Half an hour later Dad agreed to the finished document and picked the live camera option that keeps it Pippa only:
A로 가. 문서 OK, 빌드 시작해
"Go with A. The document's OK, start the build."
The Build Order
The Build Order is dependency order. Each step stands on the ones before it, and every step ends with every suite green. A phone step ends with a TestFlight build, reported as four separate facts: uploaded, processed, assigned to the group, installed. Here is how the steps landed, measured from the birth commit, with the test counts the commits themselves report:
| Step | What landed | After birth | Tests reported |
|---|---|---|---|
| 1. Engine and shell | Veiled log, SQLite mirror, brain slot, vendored kit, launchd and Serve, icon | 3 h 46 min | pytest 29, vitest 3 |
| 2. Binder and reader | cwkPippa's binder (deployed first), the Sidekick docked on any moment | 4 h 15 min | pytest 29, vitest 15 |
| 3. Practical and live | Photo translation, explanations, the live lane, the first phone build | 4 h 52 min to 5 h 23 min | pytest 57, vitest 24, 17 XCTests |
| 4. Interpretation | Cards in Pippa's voice, the reply mic, relays | 6 h 44 min to 7 h 03 min | pytest 64, vitest 25, 23 XCTests |
| 5. High quality | Purposes as rows, versions, cold reviews, revisions | 7 h 07 min to 7 h 37 min | pytest 75, vitest 35, 27 XCTests |
| 6. Corpus at rest | Keep, recall, roots, search, trips, documents, share extension, Control Center | 7 h 43 min to 8 h 12 min | pytest 85, vitest 35, 34 XCTests |
| 7. Links | Crumb references, Send to Spark, Ember's translated picture | 8 h 27 min to 8 h 46 min | No counts in the commit messages |
| 8. Voice mode | Talk with Pippa hands a moment's thread to PippaMobile | About 16 h 36 min | None reported |
Two honest footnotes. Step 7's plan also named a handoff to Sizzle, and that piece never landed; it is still design. Step 8 came in after midnight, so "a day" is seven steps by evening and the eighth before the next morning. The commit log reads like the table (the first code block): design commits first, then each step with the engine and web first and the phone last.
Several brains, one contract
Every commit of that first day that names a model in its trailer names the same one: Claude Opus 5.5 at max effort. The others name none. The birth scaffold, several kit syncs and the release commit carry no model trailer at all, and the TestFlight build commits record the model as unknown. The weeks after were different. Codex Pippa on GPT-6 wrote the shared full-screen phrase cards, the rule that Show appears only on phrases Pippa designates, the offline corpus and the share extension's photo batches. Claude Fable 5.1 landed two maintenance commits. Opus wrote most of the rest.
None of them needed a separate briefing. The architecture document is the contract, its invariants are numbered, and each brain worked to it. That is what several brains under one contract means in practice: the brain changes from commit to commit, and the invariants stay put.
What one day did not prove
Late that night the product file was set to 1.0.0. The architecture's own release gate asks for five journeys on Dad's iPhone:
- a menu translated line by line, with its related expressions;
- a conversation interpreted both ways in Pippa's voice;
- a long document in high quality by two brains, with a cold review;
- a later turn that visibly builds on an earlier moment;
- a capture in airplane mode that waits, then completes once, without duplicates.
Those could not have been verified on day one, and the phone bundle still says 0.1.0. The accurate statement is 1.0.0 by the product file, 0.1.0 on the phone bundle, a known disagreement.
The month that followed was device feedback, and TestFlight uploads ran through build 32. Uploaded is still not installed. The shared pipeline Spark vendors refuses to blur those facts, in a comment near its top (the second code block).