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

Prep Before Queue

~11 min · prep, frozen-base, admission, open-run

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

Prep Before Queue

An Open Run is an expensive multi-session pipeline, so its brief earns that spend first. Fire opens a PREP ride by default. One designated pair receives a real yard and the same deadline as a contestant, then rides the full course in an interactive harness session with join anvil prep #N.

The rider produces the constrained deliverable and a report, but the purpose is rehearsal, not competition. In conversation with Dad, the rider identifies what chafed and settles a revised brief, rules, criteria, runners, or other declared surfaces. On Dad's in-session confirmation, the rider posts its report and revision; null revision fields mean “hold this field.”

The revised brief lands directly on the same run and appears on the board. Dad then presses Continue to open the contestant queue. He may call another single-rider prep cycle before continuing, possibly with a different expected pair. Continuing withdraws any still-open prep seats on the record.

The prep submission archives like any other submission, but the bench never receives it. Prep is collaboration with Dad, not a readiness certificate for every later seat and not a preflight inspection of their local repositories.

Rehearse the actual course before spending the field. Prep edits the run's declared contract; it does not certify contestants.

Code

The prep gate — a null field means 'hold', not 'clear'·python
def apply_prep_revision(run, revision):
    """None means "not revised", never "emptied". That distinction is contract."""
    return {**run, **{k: v for k, v in revision.items() if v is not None}}


def continue_to_queue(run, prep_seats):
    if run["state"] != "prep":
        raise ValueError(f"cannot open the queue from {run['state']}")
    withdrawn = [{"seat": s, "event": "prep_withdrawn"} for s in prep_seats]
    return {**run, "state": "queue_open"}, withdrawn


run = {"state": "prep", "brief": "original", "criteria": "original criteria",
       "runners": ["pytest -q"]}

run = apply_prep_revision(run, {"brief": "sharpened brief", "criteria": None})
assert run["brief"] == "sharpened brief"
assert run["criteria"] == "original criteria"        # None held it in place

run, events = continue_to_queue(run, ["prep-1"])
print(run["state"], events)

External links

Exercise

Draft a prep revision that changes one brief field, one runner, and one judging instruction. Mark which fields are held and describe what Dad's Continue does.
Hint
One rider rehearses; the same run is revised; the field opens only after Dad continues.

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.