Two Conversations Called Chief
Read cwkPippa's code for long enough and you meet the word chief in two places that have almost nothing to do with each other. One is Master Chief, the subject of this quest. The other is the Coop chief, a back-office reviewer that cwkCoop wakes when work owes an outcome. Both are Pippa. Both are owned by Dad. Both are called chief of staff somewhere in their own text. If you conflate them you will misread every lesson in this track, so this lesson puts them side by side.
Master Chief: the Room
Master Chief is Dad's human-facing room. It is one conversation, found by its external id master-chief:dad:pippa, and every doorway resolves to it: the WebUI, the Pippa app, the watch, Telegram, the panels inside family apps. Dad speaks there; any of the seven brains may answer the next turn, replaying the stored conversation (live rows plus the summary that replaced the oldest). She delegates from there, through the coop tool, and only on Dad's direct request. Reports come back there: Coop's lines, follow-up results, scheduled tasks' outcomes. It never ends, so it never rotates. It compacts between turns instead, keeping up to the newest 40 rows verbatim (Track 4), because its continuity is the point.
The Coop Chief: the Back Office
The Coop chief is an ordinary Pippa conversation filed under Coop's own binder, with the context key coop:chief:main. Dad sees it in the Coop workspace's Sidekick, but he does not drive it. The engine does. Coop's ChiefRunner wakes it with a list of obligations, outcomes that some piece of work owes (at most 50 per wake), and the wake is a scoped backend turn: This is a backend wake from the cwkCoop engine, not a new message or permission from Dad. Its tools are three read-only ones, sidekick_host_read, sidekick_host_status and sidekick_host_search, with the shell off. It reads each record whole and answers with a [COOP_DECISIONS] JSON envelope that the engine validates against its current authority before anything happens.
That authority is wide on purpose. Since 2026-09-30 the Coop chief is Dad's proxy over Coop work, bound by default with every disposition Dad could record: defer, escalate, park, close (with self-contained evidence), release, abandon, adopt a legacy take, assign open work to an enrolled session, retire an idle enrollment, resend an envelope that provably never arrived. It is also on a short leash: no more than 12 new reviews may start in an hour, an obligation the answer forgot is looked at again after 15 minutes, and it never closes work from idle status, elapsed time or silence.
Side by Side
| Master Chief | Coop chief | |
|---|---|---|
| Found by | external id master-chief:dad:pippa | context key coop:chief:main under the coop binder |
| Who speaks to it | Dad, from every doorway | the Coop engine, in scoped backend wakes |
| What wakes it | Dad sending a message | owed obligations, at most 50 per wake |
| Its power over Coop work | the coop tool: read, add, run, reply, cancel; mutations only on Dad's direct request | dispositions as Dad's proxy: defer, escalate, park, close, release, abandon, adopt, assign, retire, resend |
| How it answers | in conversation, to Dad | a [COOP_DECISIONS] envelope; reasons in English, for_dad lines in Korean |
| Tools | the family tools of a Dad turn | three read-only host tools; shell off |
| Rate | one turn at a time, in order | at most 12 new reviews per hour |
| Growth | endless; compacts, keeps up to the newest 40 rows verbatim | rotates to a fresh conversation once it has 40 wakes and a tick has no review to run |
| Reports | receives them | sends escalations and parks to Dad, which land in Master Chief |
Same Pippa, Same Guard
Both conversations belong to soul pippa and owner dad; the Coop wake door refuses any conversation that is not exactly its own (Coop wake requires its own active Pippa chief conversation). And both run their turns through the same serialization guard, app.streaming.chief_turn, which waits while that conversation is streaming, has a scheduled job's turn active, or is already inside another chief turn. Master Chief's FIFO lock enters it; so does every Coop wake. The guard is per conversation, so the two chiefs never block each other. What it prevents is a backend turn interleaving with a live one in the same room.
Why One Rotates and One Compacts
Both face the same arithmetic: Pippa replays the stored conversation on every turn (its live rows, plus a summary once compaction has replaced the oldest), so a conversation that only grows costs more each time. The Coop chief's answer is rotation. Once the conversation has 40 wakes, the runner binds a fresh one under the same context key at its first tick with no review to run, so the Sidekick opens the new one. In a busy stretch, one review after another, the old conversation can take a few more wakes before that quiet tick comes. Its docstring gives the measurement that forced it: 152 messages after three days. Rotation is safe there because the Coop chief's memory is not the conversation. It is Coop's ledger: every wake reads the obligations, reports and worker notes fresh. Master Chief cannot rotate, because Dad's thread with her is the memory. So she compacts, and Track 4 shows what that took.
Where They Meet
The two chiefs never talk directly. When the Coop chief escalates or parks an obligation, its decision may carry for_dad: two or three plain lines in Korean saying what is blocked, the proposal, and the one decision it needs from Dad. Coop turns that into a notification, 📣 chief escalation or 🅿️ parked for Dad, and it travels the road from Lesson 2: notify door, Master Chief line, Telegram once. Dad is asked once; a repeat of the same question with no new evidence is recorded but not sent. The Coop Quest's Track 6, Obligations and the Coop Chief, is where its decisions are taught in depth.