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

Workshop, Debate, Red Team

~11 min · workshop, debate, red-team, critique

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

Workshop, Debate, Red Team

Workshop is a critique circle. Everyone drafts independently, then each draft goes to a deterministic ring of K anonymous reviewers from the same participant pool. A reviewer may unknowingly critique its own brain's draft; that signal is recorded. Every author receives the critiques on its own draft and revises its own work. Nobody is eliminated, and the final bench scores the latest revisions.

Debate assigns positions rather than asking everyone to make the same artifact. Participants argue their assigned side, read opposing masked arguments, and answer through bounded rebuttal rounds. The bench rules which position won and what conclusion follows. Its product is the conclusion, not a prettiest-prose winner.

Red Team begins with candidate artifacts. Participants attack the other masked entries with concrete failures, tests, edge cases, or contradictions. Each author then gets one full defense-and-revision pass. The final bench scores the revised artifacts for how well they survived attack, while a separate attacker score records the strongest destructive analysis.

All three modes expose response to pressure, but the pressure source differs: peers improve every draft, assigned opposition sharpens a decision, and adversarial attack tests robustness.

Critique, collision, and attack have different products. Preserve who revises what and what the bench is asked to decide.

Code

The sealed random draw vs the Open Run ring·python
import random


def sealed_reviewers(seats, k, seed, leg):
    """Sealed rail: drawn at random from every contestant seat — the
    author's own seat included. Blind self-review is not a hole to plug;
    it is the instrument, the same one the judge draw uses in
    "Judgment Without Rank".
    """
    rng = random.Random(f"{seed}:reviews:{leg}")
    count = min(k, len(seats))
    return {target: sorted(rng.sample(seats, count)) for target in sorted(seats)}


def open_run_ring(seats, k):
    """Open rail: a deterministic ring over seat order, so nobody self-reviews."""
    n = len(seats)
    if n < 2:
        return {s: [] for s in seats}
    k = max(1, min(k, n - 1))
    return {seats[i]: [seats[(i + j) % n] for j in range(1, k + 1)]
            for i in range(n)}


seats = ["a", "b", "c"]

sealed = sealed_reviewers(seats, 2, seed="run-1", leg=0)
opened = open_run_ring(seats, 2)

# This is exactly where the rails part: one can draw you, the other cannot.
assert any(t in rs for t, rs in sealed.items())          # self-review possible
assert all(t not in rs for t, rs in opened.items())      # self-review impossible
print("sealed:", sealed)
print("open:  ", opened)

External links

Exercise

Take one architecture decision and specify how Workshop, Debate, and Red Team would process it. State the final judged object in each mode.
Hint
Workshop ends with revised artifacts, Debate with a conclusion, Red Team with defended revisions plus attacker scores.

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.