본문 바로가기
C.W.K.
Stream
Lesson 04 of 05 · published

지원은 자리 안에 남아

~11 min · party, apprentice, 지원, 자리-경계

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

지원은 자리 안에 남아

Open Run에서 Party의 검토자와 Apprentice의 스승은 참가자의 BRIEF.md에 그려지는 SupportSpec 항목이야. 자기 하네스 도구를 통해 자리 쪽에서 호출돼. 엔진은 지원을 위한 자리나 가면이나 yard나 제출물이나 심사단 역할을 만들지 않아.

Party에서는 아빠가 검토자 후보군(pool)을 구성하고, 지원을 켤 자리 번호를 party_slots에 표시해. 켜진 자리의 저자가 후보군 항목 정확히 하나를 골라, 초안 뒤에 새로운 눈으로 비평해 달라고 요청해. Open Run의 규약에는 자기 자신을 빼는 규칙이 없어. 혼자 하는 대조군 자리는 지원 호출을 하지 않아.

Apprentice에서는 아빠가 Fire 전에 배정할 스승의 조합을 mentors에 둬. 제자는 얼개와 제약과 솜씨에 관한 조언을 먼저 받아. 최종 산출물의 문장은 받지 않고, 결과물은 직접 저술해. 혼자 하는 자리는 여기서도 대조군이야.

아빠의 정직한 판은 모드 설정의 pool과 자리 번호 목록을 보여줄 수 있어. 저자는 주고받은 내용을 party/나 mentor/ 아래 저장하고 진행 방식에 공개해. 심사위원은 똑같은 방식으로 가려진 지원 모드의 진행 기록을 받고, 누구와 짝지었는지가 아니라 작업을 판단해.

지원은 숨은 참가자가 아니라 자리 쪽의 호출이야. 조언은 후보의 기록에 들어가고 저작권은 하나로 남아.

Code

지원은 자리를 만들지 않는다·python
SEAT_MAKING = {"seat", "mask", "yard", "submission", "bench_role"}


def render_support(mode_config, pair_index, author, rail):
    """두 모드의 설정 모양이 서로 다르다.
    Party      — party_slots: 지원을 켠 자리 번호(0-11), pool: 검토자 후보군.
    Apprentice — mentors: {자리 번호: SupportSpec}, 구성할 때 배정된다.
    나머지 자리는 어느 쪽이든 혼자 하는 대조군이다.
    """
    mentors = mode_config.get("mentors") or {}
    if str(pair_index) in mentors:
        return {"kind": "SupportSpec", "assigned": mentors[str(pair_index)],
                "save_under": "mentor/", "disclose_in": "conduct"}
    if pair_index not in (mode_config.get("party_slots") or []):
        return {"kind": "solo_control"}       # 대조군은 지원을 안 부른다
    pool = list(mode_config.get("pool") or [])
    if rail == "sealed":
        pool = [p for p in pool if p != author]
    return {"kind": "SupportSpec", "choose_one_of": pool,
            "save_under": "party/", "disclose_in": "conduct"}


party = {"party_slots": [0, 2], "pool": ["r1", "r2"]}
appr = {"mentors": {"0": "mentor-spec-A"}}

spec = render_support(party, pair_index=0, author="r1", rail="sealed")
assert spec["choose_one_of"] == ["r2"]         # 봉인 레일은 자기 제외
assert not (set(spec) & SEAT_MAKING)           # 자리를 만드는 키가 없다
print(spec)

print(render_support(party, pair_index=1, author="r1", rail="open"))  # 대조군
print(render_support(appr, pair_index=0, author="a", rail="open"))    # 배정형

External links

Exercise

Open Run의 Party 과제서 조각과 Apprentice 과제서 조각을 하나씩 써. 모드 설정 항목, 돌려받아도 되는 것, 주고받은 내용을 저장할 경로, 저작권의 경계를 밝혀.
Hint
Party는 후보군에서 하나를 고르고 Apprentice는 배정을 받아. 어느 쪽도 지원용 자리를 만들지 않아.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인 — 댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.