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

A Sibling Door, Not a Brain

~11 min · cwkPippa, utility-door, ownership, credentials

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

A Sibling Door, Not a Brain

Anvil needs model calls on its sealed rail, but that does not transfer ownership of brain identity, routing, credentials, or model transport. Those belong to cwkPippa. Anvil uses her loopback sibling utility door for a bounded completion call while keeping mode, phase, artifact, and verdict semantics on its own side.

The request shape is narrow and concrete: prompt, system_prompt, brain, max_tokens, and source, with optional model, effort, persona soul, and images. cwkPippa returns ok, result, model, and effort. Provider credentials and adapters never cross into Anvil.

Anvil Brain Assignments popover listing the current brain, effort, and model for TTS summarize, Pippa Recommends, Auto title, and Compose assist, with a central revision indicator.
Anvil surfaces synced assignments and their central revision, while family-wide changes point back to Firelink's Brain Matrix.

Anvil constructs the prompt from the current role and allowed artifact material, then records and interprets the returned text inside its run. Opaque seat identity and the mask-to-brain mapping remain Anvil's serving concern; no “sealed display identity,” mode object, phase state, verdict state, or invented usage receipt is sent through the door.

Open Run deliberately changes this path. Live harness sessions carry their own machine-level authentication and do the contest work directly, so no cwkPippa model call belongs in the run path. Pippa remains the Sidekick beside Dad.

Borrow the model call without duplicating its owner. cwkPippa owns completion transport; Anvil owns the contest.

Code

The door's actual shape·python
DOOR_IN = {"prompt", "system_prompt", "brain", "max_tokens", "source"}
DOOR_OPT = {"model", "effort", "persona_soul_id", "images"}
DOOR_OUT = {"ok", "result", "model", "effort"}

# Anvil-side only. One of these crossing the door means the boundary grew.
ANVIL_ONLY = {"mode", "phase", "mask", "verdict", "seat", "trail"}


def call_sibling_door(**payload):
    leaked = set(payload) & ANVIL_ONLY
    if leaked:
        raise ValueError(f"Anvil state is crossing the door: {sorted(leaked)}")
    if not set(payload) <= (DOOR_IN | DOOR_OPT):
        raise ValueError(f"not on the door: {sorted(set(payload) - DOOR_IN - DOOR_OPT)}")
    return {"ok": True, "result": "...", "model": "m", "effort": "high"}


resp = call_sibling_door(prompt="fix it", system_prompt="", brain="b1",
                         max_tokens=2048, source="anvil")
assert set(resp) == DOOR_OUT

try:
    call_sibling_door(prompt="fix it", brain="b1", phase="draft")
except ValueError as exc:
    print(exc)

External links

Exercise

Separate one sealed-rail worker turn into the exact utility-door request and response fields, then list the run state that must stay in Anvil.
Hint
Prompt transport belongs to cwkPippa; modes, masks, phases, and artifacts belong to Anvil.

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.