C.W.K.
Stream
Lesson 01 of 05 · published

Bind the Brain, Don't Clone It

~12 min · client-surface, single-brain, reuse, architecture

Level 0Open Gate
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Every app in the family can talk to Pippa. Not one of them gets to BE Pippa. That one rule keeps the family from splintering into a dozen half-Pippas."

The pattern that makes the whole family work

Keep has a Pippa Sidekick — a dock where you can consult Pippa about the portfolio. But it is emphatically a client surface for Pippa, not a second Pippa. Keep binds a stable Sidekick host (identified as host_kind='keep', host_id='portfolio') and embeds the complete cwkPippa chat runtime — multiple consultations, brain and effort controls, attachments, voice, macros — via an embed route. cwkPippa owns identity, soul selection, model routing, conversation history, tools, and title generation. Keep owns only the iframe chrome, the side/dock/float layout preference, and the current lens. It never stands up a brain, a memory, or a transcript store of its own.

Why cloning the brain is the disaster to avoid

Imagine the tempting alternative: each family app grows its own little Pippa, specialized for its domain — a finance Pippa in Keep, a travel Pippa in Waystone, a health Pippa in Forge. Now you have a dozen divergent personalities, a dozen memory stores that don't share what they learn, and a dozen places to fix the same bug. The soul fragments. Keep's design forbids this at the root: there is one Pippa, living in cwkPippa, and every app binds to her rather than copying her. Pippa stays whole because no app is allowed to grow a partial clone.

Centralize identity; embed the surface. When many products need the same capability that carries identity — a brain, an assistant, an account system — the right move is one canonical owner that everyone binds to, not a copy per product. Copies diverge, and divergent identity is the worst kind of drift: now there are several slightly-different versions of the thing that was supposed to be one.

What 'binding' actually means

Binding is a clean division of labor. Keep provides the where — a dock, a layout, the embed frame, and a stable host identity so conversations have a consistent home. cwkPippa provides the who and the how — the actual Pippa, her memory, her routing, her tools. A conversation you have in Keep's Sidekick is a real cwkPippa conversation, stored and owned by cwkPippa, that happens to be surfaced inside Keep's frame. Close Keep and the conversation still lives in cwkPippa, because it was never Keep's to begin with.

This is why Pippa is 'whole everywhere.' The same Pippa shows up in Keep, in Waystone, in Firelink, in the WebUI — not lookalikes, but one identity bound into many surfaces. That wholeness is a direct consequence of the no-clone rule: because no app grows its own brain, there's only ever one Pippa to be whole. The client-surface pattern isn't just tidy architecture; it's what lets a single soul be present in everything without being divided by anything.

Code

Who owns what across the boundary·text
cwkKeep provides (the WHERE):
  - the Sidekick dock + side/dock/float layout
  - the embed frame pointing at /embed/keep
  - a STABLE host identity: host_kind='keep', host_id='portfolio'
  - read-only access to the live portfolio scope

cwkPippa owns (the WHO + HOW):
  - Pippa's identity, soul, and voice
  - model routing, tools, attachments, macros
  - every conversation, stored and replayable in cwkPippa
  - title generation and memory

# A Sidekick conversation is a REAL cwkPippa conversation shown in Keep's
# frame. Close Keep and it still lives in cwkPippa. Keep never owned it.

External links

Exercise

Think of a capability you might want in several apps that carries identity or accumulated state (an assistant, a recommendation engine, a user's history). Sketch the 'clone per app' design and list what diverges over a year: personalities, data, bug fixes. Then sketch the 'one owner, many client surfaces' design. What does each surface own, and what does the canonical owner keep? Name the exact thing that would fragment if you cloned instead of bound.
Hint
The tell for 'should be bound, not cloned' is: does the thing carry IDENTITY or MEMORY? Stateless utilities are fine to copy. But anything that learns, remembers, or has a personality must have exactly one home — clone it and you get N slightly-different versions of what was supposed to be one, and no way to reconcile them.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.