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

Why an Open Rail

~11 min · open-run, live-harness, constraint, boundary

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

Why an Open Rail

The sealed rail can call brains through cwkPippa, but a coding harness already has a live brain, terminal, repository context, and a human relationship. Calling another hidden model behind that session would duplicate agency and erase the very conditions that make coding work inspectable. Open Run carries Anvil’s pressure model into those live sessions instead.

That makes Open Run a pure harness rail. Anvil coordinates seats, phases, yards, submissions, evidence, judges, and verdict state; it does not perform a cwkPippa sibling-door model call in the run path. The participant is the live session that Dad can already see and address.

Openness here does not mean public or unbounded. It means the participating sessions are not internal invisible calls. Full isolation cannot be enforced across independent terminals, so the protocol declares boundaries, uses explicit tells and norm masking, and records compliance. Honest limits replace a theatrical claim of perfect containment.

The design preserves Anvil’s product object. The live session still produces an artifact. The rail still owns pressure and trail. What changes is the execution transport and the operational truth Dad can observe.

Open Run moves agency into visible sessions. Keep Anvil’s pressure and evidence; remove the hidden internal model call.

Code

Two rails, one product object·python
def sealed_turn(anvil, pippa_door, seat, prompt):
    """Sealed rail: execution passes through the sibling door."""
    result = pippa_door(prompt=prompt, brain=seat.brain)
    return anvil.record(seat, result["result"])


def open_turn(anvil, seat):
    """Open rail: execution happens outside Anvil, in a live session.

    Anvil owns the seat, the phase and the archive — no model call at all.
    """
    submitted = seat.harness_session.produce()      # a session a human sees
    return anvil.archive(seat, submitted)


# Pin down what the two paths share and where they diverge.
ANVIL_OWNS = {"seat", "phase", "yard", "submission", "evidence", "verdict"}
SEALED_ONLY = {"sibling_door_model_call"}

assert SEALED_ONLY.isdisjoint(ANVIL_OWNS)
print("shared by both rails:", sorted(ANVIL_OWNS))
print("sealed rail only:", sorted(SEALED_ONLY))

External links

Exercise

Take a sealed model-call workflow and redesign it for live harness sessions. Name what stays in Anvil and what disappears.
Hint
Modes, phases, artifacts, trail, and verdict stay. Internal brain invocation disappears.

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.