Skip to content
C.W.K.
Stream
Lesson 01 of 04 · published

No Brain of Its Own

~12 min · brain, client, ownership, reuse

Level 0Trace
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

Needing a capability does not grant ownership

A memory app needs questions and revision proposals, so adding a provider client, prompt store, and conversation table seems natural. That quietly creates a second Pippa backend.

The family already has a canonical owner for identity, brain registry, conversation history, fallback, and Sidekick. Vestige should send target soul, context shape, and instruction through that plumbing, then receive results through its mediated writer.

A second brain splits history

Separate Vestige and Pippa conversations force one soul's decisions into two places. Model settings and safety rules drift, and identity changes in one surface fail to reach the other.

Reuse is not merely fewer API calls. It keeps identity continuity and provenance together. A client may look independent while brain state returns to its owner.

The boundary simplifies failure

If the brain owner is unavailable, Vestige can still serve Browser, Trail, Weight, search, and direct edit while consultation fails. If Vestige is unavailable, a living brain cannot bypass its memory writer.

Each outage removes only its responsibility. An owned brain or direct brain-to-vault write lets failure spread across boundaries.

Version the contract

Unstructured prompts hide coupling. Use typed host kind, curator identity, conversation binding, allowed actions, and result schema with a deployment order.

A consumer adopts the new contract after the owner deploys and treats unknown fields explicitly. Sharing plumbing does not remove versioning responsibility.

A surface that needs a brain is not automatically the product that should own one. Keep identity and conversation under one owner while Vestige remains a bounded client and write gate.

Code

Let the client select context shape only·python
request = {
    "host_kind": "vestige",
    "curator": "pippa",
    "mode": "light",
    "operand_hash": "abc123",
    "instruction": "retier this note",
}
assert request["mode"] in {"light", "full"}
assert "provider" not in request  # router owns provider choice
print(request["host_kind"], request["mode"])

External links

Exercise

For one AI-enabled sibling surface, list owners of identity, conversation, provider, prompts, and writes. Collapse every double-owned row into a canonical contract.
Hint
An independent UI does not imply independent brain state.

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.