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

One Workpiece, Many Hands

~11 min · artifact, authorship, evaluation, provenance

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

One Workpiece, Many Hands

Put the same patch, essay, or design on a table twice: once with a famous model name attached and once with no name. If the verdict changes before a single line of the artifact changes, the system is measuring reputation. Anvil therefore treats the workpiece as the unit of judgment. Workers may be different, but the judge receives an artifact-shaped claim.

Artifact-shaped does not mean context-free. On the sealed rail, a judge needs the brief, artifacts, and judging instructions. An Open Run additionally declares the choice-path report, conduct disclosure, and evidence pack as judged material. What it must not receive is material whose only effect is to make the author seem impressive: provider name, model tier, worker transcript, time spent, or a heroic account of the struggle. Those facts may belong in the trail for operators, but not in the judging packet.

This boundary also clarifies improvement. A later worker can transform a prior artifact without inheriting the prior worker’s authority. A relay is a chain of material states, not a chain of personalities. When provenance is eventually unsealed, it explains history; it does not retroactively become evidence that the judge should have used.

The practical test is brutal and useful: could you replace the worker label with A, B, or C and leave every judging instruction unchanged? If not, the design still judges hands.

The workpiece is the addressable thing. Store, compare, transform, and judge artifacts. Store worker identity separately under a seal.

Code

Split judged input from operational provenance·python
JUDGE_FIELDS = {"brief", "artifacts", "judge_instructions"}
TRAIL_ONLY = {"worker", "provider", "elapsed_s", "events"}


def judge_packet(seat_rows, brief, instructions):
    """Everything a judge receives. What is absent here is not evidence."""
    return {
        "brief": brief,
        "artifacts": [row["bytes"] for row in seat_rows],
        "judge_instructions": instructions,
    }


def operator_trail(seat_rows):
    """The same run, recorded — and never mixed into the packet."""
    return [{k: row[k] for k in TRAIL_ONLY} for row in seat_rows]


rows = [
    {"bytes": b"def solve(): ...", "worker": "w1",
     "provider": "vendor-a", "elapsed_s": 41, "events": []},
    {"bytes": b"def solve(): pass", "worker": "w2",
     "provider": "vendor-b", "elapsed_s": 12, "events": []},
]

packet = judge_packet(rows, "fix the bug", "best satisfies the brief")
assert set(packet) == JUDGE_FIELDS
assert not (set(packet) & TRAIL_ONLY)   # overlap means the boundary broke
print(len(packet["artifacts"]), "artifacts, 0 author facts")

External links

Exercise

List the fields in a review packet you use today. Mark each as artifact evidence, required task context, or author biography. Remove one biography field.
Hint
Time spent and model name often feel informative while adding no evidence about whether the artifact satisfies the brief.

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.