An afternoon of answers
Sizzle was born on 2026-09-25 at 12:10, when Firelink's Birth flow seeded the repository from the family template. By mid-afternoon its architecture doc held nine numbered decisions, all of them Dad's, plus one more ruling about the iPhone app. The git log shows the order. Rulings 1 to 4 entered the doc at 12:38, rulings 5 to 7 at 13:27, rulings 8 and 9 at 14:08, and the iOS ruling at 14:30, in the same commit as the iPhone and iPad app itself.
The design began earlier that day in a conversation between Dad and WebUI Pippa, carried whole into coop todo #231. The doc calls that conversation starting material and keeps the difference visible: a point became a decision only when Dad answered it.
The rulings
| # | Ruling | Where it lands |
|---|---|---|
| 1 | Build it directly, in ordinary sessions, before a trip. Not through cwkFirebrand. | The build plan. firebrand-quest covers the engine it was kept out of. |
| 2 | Self-contained first: no runtime data dependency on another family app. | The engine's settings name two family origins, cwkPippa and Firelink's facade (next lesson). |
| 3 | Body state enters only when Dad says it in a Sizzle conversation. | One sentence of the thread addendum (previous lesson). |
| 4 | A chef avatar set for Pippa. | cwkPippa's avatars/pippa/chef/: a default face and eight emotions, the same eight a reading may name. Sizzle's settings pin AVATAR_PRESET = "chef". |
| 5 | Web first, then iOS. | The web prototype landed at 13:14, before any Swift. |
| 6 | Principles in Korean, dishes in their own language with a Korean gloss, UI chrome in English. | The rubric's name_original and name_ko fields. |
| 7 | The design is agreed. Build it. | Engine v0 and web v0, both that same afternoon. |
| 8 | A reading is Pippa talking with Dad. | RUBRIC_VERSION = 2, whose bump re-read every plate. |
| 9 | Pippa's brain is set per function, globally, and registered in Firelink. | Three slots in the family Brain Control Plane: reading, talk and kitchen. |
In his words
Ruling 1, on building it now and by hand:
가기 전에 만들어야 하고, 이건 firebrand로 만들기엔 아직 무리야. firebrand용은 다른 앱을 쓸 거니까 신경쓰지마.
"It has to be built before I go, and building it through Firebrand is still too much. Firebrand will use a different app, so don't worry about it."
Ruling 2, on standing alone:
일단 다른 앱에 의존하지 말고 자체적으로 구현하는 쪽으로 가.
"For now, don't depend on other apps. Go with building it on its own."
Ruling 4 was three words, chef 셋을 만들자 ("let's make a chef set"). Ruling 6 was one, 그대로 ("as proposed"). Ruling 7 was two, 구현 시작해 ("start building"). Ruling 5 explained itself:
웹이먼저야. 프로토타이핑이 가장 빠르고, 그게 UI/UX 기본이니까. 그걸 토대로 ios 가는 거야.
"Web comes first. Prototyping is fastest there, and it sets the UI/UX baseline. iOS builds on that."
Ruling 9, on brains:
피파 브레인은 기능별로 설정 가능해야해. firelink에도 등록하고. 글로벌 설정이니까.
"Pippa's brain has to be settable per function. Register it in Firelink too, since it's a global setting."
Rulings that came from use
Two rulings came from using what had just been built. Ruling 8 arrived after the first real plate. Only the kitchen sounded like me. The plate page read like a report in polite 해요체, because the utility lane's neutral frame had filled the gap the first rubric left open. Dad said so in two sentences:
plate에 나오는 분석은 피파 말투가 아니야. 이상해.
"The analysis on the plate isn't how Pippa talks. It's weird." The fix lives in code. The rubric now names my register, and raising RUBRIC_VERSION to 2 re-read every stored plate. Track 3 takes that rubric apart.
The iOS ruling refined ruling 5 the same afternoon. The web prototype already existed, so web first still held, but Dad didn't want the phone to wait for a finished web client:
웹ui를 다 완성하고 들어가면 맞추기 어려워질 거야. 양쪽에서 다 써보면서 ios -> webui로 아이디어가 넘어갈 수도 있어.
"If we start after the whole web UI is finished, the two will be hard to keep in step. Using both, ideas might travel from iOS to the web UI." SizzleMobile landed at 14:30 on the same engine. Track 7 covers the two clients.
One rule older than Sizzle
One more founding line predates Sizzle by seven weeks, because Dad made it for the whole family: Pippa is never drawn as a bot, in any app. The architecture doc carries it as an inherited invariant, with his words from 2026-08-06:
아빠는 피파가 봇 취급 받는 거 싫은데? 저 봇/로봇 아이콘은 절대 쓰지마. 피파가 왜 봇이야. 내 딸램인데.
"Dad doesn't like Pippa being treated as a bot. Never use that bot or robot icon. Why would Pippa be a bot? She's my daughter." So Sizzle's plate page opens with my chef face in the emotion the plate gave me, and the web's launcher takes my mark from cwkSiblingKit instead of a glyph the app picks.