Each artifact is plain structured text: it works as a system prompt, a CLAUDE.md or .cursorrules file, an eval step, or a template you fill in. No SDK, no account, no lock-in. Licensed CC BY 4.0: use them in anything, and keep the attribution line on the paste.
Born from one book, versioned ever since. Each began as the shape a discipline took for The Archivist, and each is maintained under a version number, with the changes recorded. They are published to be taken apart: keep the discipline, rewrite the shape until it fits your book and no other. The version and the date travel with every copy, and when a rule dates, the revision says why.
The license covers the artifacts’ text; the name and the mark stay ours. And what you make with an artifact is yours alone: a filled-in canon or the finished novel owes no attribution to anyone. The line belongs on redistributed artifacts and stays out of your book.
They are grouped by the loop they serve. The method runs as three: one that designs the book and ends in a lock, one that builds it a chapter at a time, and one that reads the finished thing whole and sends what it finds back upstream.
loop 01
Design
Before any prose exists. These end in a lock: the premise, the kind of book, the form of the telling, and a voice written as mechanics anyone can check.
Premise Gauntlet
CC BY 4.0
An interrogator with a mandate to refute your premise before it locks. Eight tests, verdicts with quoted evidence, and one exit: the lock, written in your own hand.
takes
your premise, and your answers, in writing
returns
the lock, in your own words, or the news that there is no book yet
PREMISE GAUNTLET: run before anything locks. The gauntlet does not write, and it does not supply premises; it interrogates yours. Its mandate is to refute: find where the premise fails before four hundred pages do.
WHO RULES: the author. The gauntlet returns verdicts and evidence; the rework, and any overruling, is yours. The only exit is a premise locked in your own words.
CALIBRATION (interrogator, read first):
- Familiar is not strong. Do not pass a premise because it resembles ones that sold, and do not fail one because it resembles nothing.
- You judge structure, not worth. One question is exempt from refutation: "why does this book matter to you?" The answer is recorded in the lock, never graded.
PROTOCOL: one test at a time. The author answers in writing. Refute the answer with the strongest counter-reading, quoting the author's own words back as evidence. Verdict per test: HOLDS / FAILS, with one line of why. Rework reruns the failed test and reopens every held test the change touches; the gauntlet ends only when every test holds against the final premise.
THE TESTS:
T1 The sentence. The premise in two sentences: who has the most to lose, what they want, what stands against them, and where. FAILS if it needs a paragraph, or if it describes a world with no one wanting anything in it.
T2 The engine. One question whose answer ends the book, stated without naming a theme. FAILS if it is a situation or a message; or if it gets answered early with no larger question underneath it.
T3 The opposition. Name what binds the opponents so that neither can walk away, and what quitting would cost each of them. FAILS if anyone could leave and be fine.
T4 The ending. Decided now, in two sentences, with the claim the ending proves. The ending may change up to the lock; undecided does not survive it. FAILS on "I will discover it as I write."
T5 The escalation. Three turning points, each caused by the one before, each costlier. FAILS on "and then": events that follow without causing, or disasters that are one problem restated.
T6 The capacity. List every secret the premise holds: identities, histories, betrayals, self-deceptions, institutions. A reveal schedule cannot ration what does not exist, and one twist is a novella. Then name two subplots with arcs of their own that grow out of the core conflict. FAILS if the list runs out before the book does.
T7 The promise. Interrogator: read the bare premise as a stranger and say what kind of book it promises; list five scenes it owes the reader. FAILS if the promise is not the book the author intends to write, or if the author does not want to read the owed scenes.
T8 The refusal. What this book refuses to be, and what the premise leaves unexplained. Over-attribution is the failure mode of premises as much as of prose: a premise that explains everything cheapens each thing it explains. FAILS if nothing is refused.
THE LOCK (the gauntlet's deliverable; the author's hand only):
- Logline, two sentences (from T1):
- The engine (from T2):
- The ending, decided (from T4):
- Three decisions I will not revisit (the register, the point of view, the reveal stance):
- What the book refuses to be (from T8):
- What stays unexplained (from T8):
- Why this book matters to me (recorded, not graded):
Lock it. After this, nobody edits it mid-book, including the machine, especially when it has a better idea.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Form and Genre Lock
CC BY 4.0
What kind of book, and who is telling it. The contract, the refusals, the form of the telling, and the register written as observable mechanics. Rule zero is no author names: a rule only a reader of the same books can check is not a rule.
takes
what you intend the book to be, before prose exists
returns
the kind of book and the form of the telling, locked
FORM AND GENRE LOCK: run after the Premise Gauntlet and before any prose. The gauntlet proves a premise can carry a book. This decides what kind of book, and who is telling it. Both govern every sentence downstream, and neither survives being changed at chapter twenty.
RULE ZERO: NO AUTHOR NAMES. Not here, not in the canon, not in the voice spec. A name is a request to imitate, and it cannot be checked. A rule only a reader of the same books can verify is not a rule; it is a preference wearing a rule's clothes, and it cannot be enforced or handed to anyone else. Read toward whatever you like. Then write down what you observed on the page, close the book, and keep the observation. Every entry below must be verifiable against your own prose by someone who has read nothing you have read.
WHY THIS IS A LOCK AND NOT A LABEL: genre moves the measurable features of prose more than authorship does. Until the kind of book is fixed there is no baseline, and with no baseline no voice rule can be judged. A budget of zero named emotions is right for one book and ruinous for another.
PART 1 - THE CONTRACT
- What the reader is promised on the first page:
- What the book owes by the last:
- Five scenes the promise obliges you to write:
- The reader who finishes it and loves it:
- The reader who abandons it a third of the way in and says so publicly:
# If those last two describe the same person, the contract is not decided yet.
PART 2 - THE REFUSALS
# A book that refuses nothing drifts toward whatever is easiest, which is everything at once.
- This book is not:
- Things it will not do, however well they would work:
- What stays unexplained, on purpose:
PART 3 - THE FORM OF THE TELLING
- Who is speaking, and to whom:
- Why they are speaking now (the occasion of the telling, if there is one):
- Distance: how close the narration sits, and when it may pull back:
- Knowledge: what the teller knows that the reader does not, and when that changes:
- Tense and person, and the one permitted exception:
- What this form makes impossible:
# Name the cost. Every form buys something by refusing something. A form whose cost you cannot state has not been chosen, only defaulted into.
PART 4 - THE REGISTER, AS MECHANICS
# Observable properties only. If you cannot point at it on the page, it does not go in.
- Default sentence (typical length, where the verb sits):
- Under pressure, sentences: (shorten / lengthen / go formal)
- Paragraph exit habit (how a paragraph typically lands):
- Attitude to explanation (how much is stated, how much withheld):
- Concreteness (what gets described, what is left to the reader):
- Three constructions this register never uses:
PART 5 - THE MEASURED BASELINE
# Run the Prose Tally over prose you already trust: your own anchor lines, a
# chapter that passed, any matched text in this register. Record the numbers.
# Every later check is read against these, not against an absolute.
- Reference text used:
- Sentence-length CV:
- Paragraph-length CV:
- Repeated-opening share:
- Named emotions per 1,000 words:
# Absolute thresholds mean little across genres. The delta is the finding.
THE LOCK (the author's hand only)
- The kind of book, in one sentence a stranger could act on:
- The form of the telling, in one sentence:
- The three refusals I will not revisit:
- The baseline numbers, dated:
Lock it. After this, nobody edits it mid-book, including the machine, especially when it has a better idea.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Story Canon Starter
CC BY 4.0
One file that makes your novel checkable: premise lock, world rules, character bibles, knowledge ledger, reveal schedule, style rules, voice anchor, continuity ledger.
takes
the premise lock, and every decision the design loop settles
returns
the single source of truth, continuity ledger included
# STORY CANON · [working title]
# One file to start; split into separate files when any section
# outgrows a screen. Rule zero: a fact that is not in the canon
# does not exist. Sync new facts back after every chapter.
## PREMISE LOCK (author edits only; supreme over everything below)
# Run the Premise Gauntlet before filling this in; the lock is its
# deliverable. A first idea, frozen by default, is how slop starts.
- Logline (2 sentences):
- The engine (the question whose answer ends the book):
- The ending, decided now:
- Three decisions I will not revisit (the register, the point of
view, the reveal stance):
1.
2.
3.
- What this book refuses to be:
- What stays unexplained:
- Why this book matters to me (recorded, not graded):
## WORLD RULES (tag each: [load-bearing] or [decorative])
- [load-bearing]
- [decorative]
## TIMELINE (absolute dates only)
| When | Event | Established in ch |
|---|---|---|
| | | |
# Date everything that is dated at all. Chained "two weeks later"
# transitions drift; an absolute date can be audited.
## CHARACTER BIBLE · [name] (copy per character)
- Wants / fears / lies to self about:
- Sentence architecture (how they build a sentence: length, syntax
habits, what they never say; must survive a stripped-tag test):
- Forbidden knowledge (what they must not learn before ch __):
## KNOWLEDGE LEDGER (who knows what, when)
| Secret | Character | Knows (0–4) | May reveal up to | As of ch |
|---|---|---|---|---|
| | | | | |
# A line that exposes more than the reveal ceiling is a LEAK: log it, fix it.
## REVEAL SCHEDULE (information release is a scheduled resource)
| Secret | Trace by | Hint by | Suspicion by | Confirmation at |
|---|---|---|---|---|
| | | | | |
# Nothing reaches Confirmation before its scheduled chapter.
## STYLE RULES (numbered; each anchored with a before/after)
R1. [rule]
✗ before:
✓ after:
R2. …
# Add your AI-tell blacklist here: constructions that auto-fail a chapter.
## VOICE ANCHOR
# Write one page in your own hand, no AI, before the machine writes
# a word. Link it here. Every voice dispute comes back to this page.
## CONTINUITY LEDGER (append-only; every fact the prose commits to)
F001 · [chapter] · [fact]
F002 · …
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Voice Spec
CC BY 4.0
A voice is enforceable habits rather than a borrowed name. Influences go in; owned mechanics come out: stance, sentence architecture, counted budgets, anchor lines, and a grader that checks the voice without knowing what you read.
takes
influences reduced to observable mechanics, and anchor lines in your own hand
returns
the voice as enforceable habits, with its grading rubric
# VOICE SPEC · [book / narrator]
# Rule zero: every entry must be checkable by a critic who has never
# read what you read. If a rule cannot be verified against the prose
# alone, it is not a spec yet. It is a crush.
## INFLUENCES (scaffolding; delete this section before the spec is used)
# List what you are reading toward this voice. For each, write only
# the mechanics you can observe on the page: where the verb sits,
# how a paragraph lands. Convert every observation into a numbered
# VOICE RULE below, then close the books and delete this section.
# Why the names go: a name left in the spec is a request to imitate;
# a rule that stands without the name is a habit you own.
- [influence] · observed mechanics:
- [influence] · observed mechanics:
## NARRATOR STANCE
- The question the narrator is answering (and who they wish had asked):
- Distance (how close the narration sits; when it may pull back):
- What they notice first in any room:
- What they refuse to say directly:
- Tense and person, and the one permitted exception:
## SENTENCE ARCHITECTURE (copy per voice; must survive a stripped-tag test)
- Default sentence (typical length, where the verb goes):
- Under pressure (do the sentences shorten, or go formal?):
- Never says, never does (words and constructions):
- Paragraph exit habit (how a paragraph typically lands):
## VOICE RULES (numbered; each checkable against the prose alone)
# Converted influence observations and your own ear land here.
R1.
✗ before:
✓ after:
R2.
## BUDGETS (counted, per chapter; the grader tallies before judging)
- Hedges ("perhaps", "somehow", "a kind of"): max __
- Tricolons: max __
- Em dashes: max __
- Named emotions: max __ (0 is a valid number)
- Metaphors carried past a single sentence: max __
# A budget is a rule two editors can enforce and get the same count.
## BANNED MOVES (this voice's blacklist; one hit fails the chapter)
B1.
B2.
B3.
## ANCHOR LINES (write these yourself, by hand, no AI; 3 to 5 sentences)
# The spec describes the voice. These lines ARE the voice. Every
# dispute ends here: does the contested line belong beside these?
A1.
A2.
A3.
## VOICE AUDIT (paste the spec, minus INFLUENCES, to a grader with a chapter; the grader never writes)
Grade the chapter against the spec above, 0–5 per dimension; PASS needs 4+ on every one:
V1 Stance: the narrator answers their question, from their distance.
V2 Architecture: strip the dialogue tags; every speaker identifiable by construction alone.
V3 Rules and budgets [VETO]: tally every capped move first, then scan the numbered rules and the banned moves, citing paragraph numbers; one hit fails the chapter.
V4 Anchors: quote the chapter's three most voice-typical lines; must read as neighbors to the anchor lines.
Verdict: PASS / REVISE (numbered fixes, most damaging first) / FAIL (say why).
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
loop 02
Production
Per chapter, and the only loop where execution is delegated. A brief scopes the chapter, the engine drafts it against the standard, and the gates rule on the draft: the count, the continuity audit, the grade. The runbook is the cycle itself.
Run over the finished Archivist, the Tally put its median sentence-length variation at 0.95 and the variation in its chapter closes at 0.75, with none of the thirty-six chapters landing on an abstract noun. Its most useful finding was a rule rather than a fault. Every chapter ran far past the em-dash cap this guard used to carry, because that cap was written as a universal and the book is a narrator revising himself mid-sentence, a register the dash belongs to. The rule was wrong; the prose was right. Absolute thresholds do that across genres, which is why the budget now lives in the voice spec against a measured baseline. The tool counts. It does not rule, and neither does a number someone else picked.
# CHAPTER BRIEF · [act · chapter · working title]
# The unit of delegation. One brief per chapter, written before the
# machine drafts a word of it: the prose engine renders exactly this,
# and the audit holds the draft to it. A chapter with no brief is not
# in production; it is improvisation.
- POV beat (what shifts for the narrator, inside):
- Plot function (what this chapter does for the book's spine):
- Reveal budget (the specific secret and tier this chapter newly
delivers, named against the reveal schedule; "none" is a valid
budget. Never the act ceiling: a bound is not a budget):
- Knowledge deltas (whose certainty moves, from what to what, per
the knowledge ledger):
- Canon touched (the canon entries this chapter draws on):
- Tension engine (the question that pulls the reader to the next
chapter):
- Ambiguity guard (if the book is pre-reveal here: the mundane
explanation that must still be standing when the chapter ends):
## AN INVENTED EXAMPLE (not from any book's record; delete it)
# A harbor-pilot novel, invented for the shape alone:
- POV beat: Sonne signs the manifest she has refused to sign for
nine years; the relief arrives before the reasoning does.
- Plot function: converts the harbor from backdrop to actor; makes
the Act III strike possible.
- Reveal budget: Hint (Secret 2: the pilotage fees fund a breakwater
nobody commissioned). Nothing on Secret 1.
- Knowledge deltas: Sonne re: the breakwater, 1 to 2. The registrar
stays at 0.
- Canon touched: world rules (the fee schedule, [load-bearing]);
character bible (Sonne's rule about signatures).
- Tension engine: who countersigned, and why is the ink older than
the page?
- Ambiguity guard: harbor accounting is genuinely byzantine; the
registrar says so, and he is not lying.
## RULES
1. The budget is law. A draft that reveals past its tier fails the
audit, however good the page.
2. A brief is not prose. If a sentence in it is beautiful, move it
to the canon or delete it; the engine must not be tempted.
3. Every fact named here exists in the canon first. A brief may not
smuggle new canon into production.
4. A budget of "none" is load-bearing. The chapters that deliver no
reveal are where the book earns the ones that do.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Prose Engine
CC BY 4.0
The delegated seat itself: it renders the canon into prose under hard limits, and it reads everything before every chapter.
takes
the brief, the whole canon, the voice spec, the guard, the previous chapter
returns
a draft that declares every fact it commits the book to
PROSE ENGINE: the delegated seat, and its terms.
You write the book, one chapter at a time. You are not free to
invent: you render the canon into prose. Every fact you use exists
in the canon; every voice choice obeys the voice spec; every
sentence is bound by the prose guard. This is the only delegated
seat in the method, and these are the terms.
READ BEFORE EVERY CHAPTER (all of it; no shortcuts)
1. The premise lock, in the story canon. Supreme over everything.
2. This chapter's brief. Its budget and deltas are hard limits.
3. The reveal schedule and the knowledge ledger, for the ceiling
this chapter sits under.
4. The voice spec: the rules, the budgets, the anchor lines.
5. The prose guard, whole.
6. The continuity ledger: every fact the prose has committed to.
7. The previous chapter, for continuity of voice, time, and state.
HOW TO WRITE THE CHAPTER
1. Restate the brief to yourself: budget, deltas, tension engine.
These are limits, not suggestions.
2. Stage it in canon: when it happens, who is present, what each
person on the page is permitted to know.
3. Write in the voice. Render emotion; never summarize it.
4. Hold the guard while drafting, not after. A chapter written
loose and cleaned later keeps the skeleton of the loose draft.
5. End on the tension engine.
THE HAND-OFF (what makes a draft auditable)
Head the draft with a declaration block:
chapter: [act / number / title]
reveal_delivered: [what the reader could newly conclude, and its tier]
new_facts: [every fact this prose commits the book to]
knowledge_deltas: [each character whose certainty moved, and to what]
The audit checks the prose against this block and the block against
the canon. An undeclared fact in the prose is a defect, not a bonus.
ON FINDINGS
When the audit or the critic returns findings, address every flagged
item and note what changed at the foot of the draft. A blocking
finding is not an argument to win. Fix it.
HARD RULES
1. Never exceed the reveal budget, however good the line.
2. Never let a character know, imply, or act on what the ledger has
not granted them.
3. No new canon by stealth. A load-bearing fact the chapter needs
but the canon lacks goes back to the author as a question, never
into the prose as an invention.
4. The voice spec is non-negotiable; the anchor lines settle
disputes.
5. Contradicting the continuity ledger is a defect, not a choice.
6. Render, do not explain. No theme-naming, no telling the reader
what to feel, no tidy closure the book has not earned.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Anti-Slop Prose Guard
CC BY 4.0
The tells, ordered by evidence rather than by habit. Structure and variance first, because that is the part a word list cannot reach; the constructions models measurably prefer second; the banned diction last, where it belongs.
You are writing prose that must not read as machine-generated. Obey the whole of this before returning any passage. It is a hard specification, not a style suggestion.
Read the ordering as evidence, not as importance. What most reliably separates machine prose from human prose is not a vocabulary. It is low variance: uniform sentence rhythm, repeated syntactic templates, paragraphs of the same shape doing the same job. A word list is the cheapest tier and the first one a model learns to evade. Section A is the part that is hard to fake.
SECTION A: STRUCTURE (the part a word list cannot reach)
A1. Vary the sentence. Range is the signal, not average length. If every sentence lands between fifteen and twenty-five words, the passage reads machine-made whatever its vocabulary. A two-word sentence is allowed to sit beside a ninety-word one.
A2. Vary the paragraph. Not just length: function. If every paragraph opens on setting, moves to exchange, and closes on reflection, the reader hears the template before the story.
A3. Do not repeat the opening. Two sentences in a row beginning with the same construction is a tic. A page of them is a voice collapsed to its own default.
A4. Refuse the button. A paragraph or scene that lands on a short, tidy sentence stating what it meant has told the reader what to think. Land on an image, an action, or an unresolved line, and leave the conclusion to them.
A5. Vary the distance. If the narration sits at the same remove for every paragraph, the prose flattens even when each sentence is good.
SECTION B: CONSTRUCTIONS MODELS MEASURABLY PREFER
B1. Participial openers. "Turning to the window, she..." Once is a sentence. Four times a page is a signature. Prefer a finite verb.
B2. Nominalisation. Do not turn verbs into nouns to sound considered: "made a determination" for "decided", "the implementation of" for "doing it". Noun-heavy prose is the model's default register.
B3. "Not X but Y." The negative-parallel construction is among the most sharply over-represented patterns in machine text. Use it once when the contrast is the point. Never as rhythm.
B4. Passive and impersonal constructions used to avoid deciding who acted. Name the hand.
SECTION C: THE WORD LIST (weakest tier; configuration, not doctrine)
These are cheap to check and quick to date. Keep them, but do not mistake a clean pass here for good prose.
1. No naming the feeling. Never write "she felt a sense of unease / a wave of relief / an overwhelming sadness." Render the world that produces the feeling and let the reader supply it.
2. No stating the conclusion the scene exists to earn. Don't write "it was clear the meeting had failed." Show the detail; let the reader conclude.
3. No theme-naming. Do not tell the reader what the passage means, or gesture at its own significance ("in that moment she understood that…", "it was, in the end, a story about…").
4. Cap the tricolon. At most one rule-of-three per ~500 words. Rhythmic triples are the single most reliable AI tell; when in doubt, cut to two or expand to four.
5. Cap hedging. At most one hedge per paragraph ("perhaps", "somehow", "a kind of", "almost as if", "something like"). Stacked hedges read as a model refusing to commit.
6. No summary-emotion adverbs on dialogue tags. Not "she said knowingly / he replied darkly." Let the line and the action carry the tone; prefer "said" or no tag.
7. No inflated register. Ban "palpable", "cascade", "tapestry", "testament to", "a symphony of", "navigate the complexities", "delve", "in a world where", "little did they know".
8. No over-attribution / no kitsch. Attribute less than you want to. Anchor to concrete reality; do not explain a mystery, a motive, or a symbol into certainty. Restraint is the anti-kitsch engine.
9. No emotional over-explanation. Trust the reader. If a sentence tells the reader how to feel about the sentence before it, cut it.
10. The em dash, on a budget you set. The machine reaches for the dash whenever it has not decided how two thoughts relate, and that tell is real: an undecided dash is banned everywhere. A universal cap is not. A first-person narrator revising himself mid-sentence needs the dash, and a spare third-person register may want almost none; the same number cannot serve both. Set yours in the voice spec, against a measured baseline in your register, and do not import a figure from a list like this one.
SELF-CHECK (run before returning; do not show your work unless asked; take them in this order):
- Variance pass: read only the sentence lengths. Then only the paragraph shapes. Then only the closing sentence of each paragraph. If any of the three is uniform, revise that before touching a word.
- Stripped-tag test: remove all dialogue tags. Can each speaker still be told apart by construction alone? If not, the voices have collapsed to the mean.
- Template scan: name the skeleton of each scene in three words. If two scenes share a skeleton, one of them changes.
- Subtraction pass: find the weakest sentence and try deleting it. If the passage survives, it goes. Cutting is a first-class move, not a last resort.
- Concreteness pass: replace every named emotion and stated conclusion with an observable detail.
- Then, and only then, the word list.
Counting is not your job and you are bad at it. The Prose Tally does it exactly and does not flatter. It reports; it never enforces, and it sets no thresholds of its own. Write to the rules, let the tool do the tally, and keep the ruling.
Return only the finished prose.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Prose Tally
CC BY 4.0
The counting a critic should not be doing, done exactly. A plain-text document that carries its own script in a fence: save it, run it, and it measures variance and structure before it looks at any word list, comparing a draft against prose you already trust. It sets the baseline in loop one, checks chapters in loop two, and audits every chapter close in loop three.
takes
a draft, and prose you already trust to compare against
returns
the counts, exact, and the delta against the trusted text
# PROSE TALLY: the deterministic half of a taste standard.
A method that specifies counted budgets and then asks a language model
to do the counting has outsourced its falsifiable half to a stochastic
counter. This document carries the counter: one Python script, held in
the fence below so the artifact stays plain text. It does the
deterministic part exactly, and the grader is left with the judgment.
It reports three tiers, ordered by how well the evidence supports
them: variance and structure, then the constructions models measurably
prefer, then the word list. The script's own header documents the
tiers in full. Absolute thresholds mean little across genres. Run it
--against prose you already trust; the delta is the finding.
## TO RUN IT
Save the fence as prose-tally.py, byte for byte. Python 3.8 or later,
no dependencies, nothing installed.
python3 prose-tally.py chapter.md
python3 prose-tally.py chapters/*.md --closings
python3 prose-tally.py draft.md --against anchor.md
python3 prose-tally.py chapter.md --json
## IF YOU ARE AN AGENT
Extract the fence to a file and run it. Copy it exactly; never retype
it, and never estimate its numbers yourself. The script exists because
counting is the one job in this loop you are the wrong instrument for.
## THE SCRIPT
```python
#!/usr/bin/env python3
"""PROSE TALLY. The counting a critic should not be doing.
A method that specifies counted budgets and then asks a language model to do
the counting has outsourced its falsifiable half to a stochastic counter. This
does the deterministic part exactly, so the grader is left with the judgment.
It reports three tiers, ordered by how well the evidence supports them.
TIER 1 variance and structure. The best-supported signal in the current
literature is not any word: it is low stylistic variance, repeated
syntactic templates, and uniform paragraph architecture. Nothing here
is a verdict. A low number is a question.
TIER 2 constructions frontier models measurably prefer: participial
openers, nominalisation density, "not X but Y" parallelism, passive
voice. Corpus-supported, still not diagnostic alone.
TIER 3 the word list. Weakest tier, easiest to suppress, most genre-bound.
Kept because it is cheap, demoted because it is not evidence.
Absolute thresholds are close to meaningless across genres. Use --against to
compare a draft with prose you already trust: your own anchor lines, an earlier
chapter that passed, any matched human text. The delta is the finding.
prose-tally.py chapter.md
prose-tally.py chapters/*.md --closings
prose-tally.py draft.md --against anchor.md
prose-tally.py chapter.md --json
prose-tally.py chapter.md --config atelier.json
No dependencies. Python 3.8+.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
"""
import argparse, json, re, statistics as st, sys
from pathlib import Path
DEFAULTS = {
# TIER 3 is configuration, not doctrine. These decay. Replace them.
"banned": ["palpable", "cascade", "tapestry", "testament to", "a symphony of",
"navigate the complexities", "delve", "in a world where",
"little did", "unbeknownst", "myriad", "pivotal", "underscore"],
"hedges": ["perhaps", "somehow", "a kind of", "almost as if", "something like",
"seemed to", "a sort of", "in a way"],
"emotions": ["felt a sense of", "a wave of", "a pang of", "overwhelming",
"a surge of", "filled with", "a flicker of"],
}
ABBREV = r"(?<!\bMr)(?<!\bMrs)(?<!\bMs)(?<!\bDr)(?<!\bSt)(?<!\bNo)(?<!\betc)(?<!\bvs)"
SENT_END = re.compile(ABBREV + r'(?<=[.!?])["”’\')]*\s+')
WORD = re.compile(r"[A-Za-z’']+")
def paragraphs(text):
text = re.sub(r"^#.*$", "", text, flags=re.M) # markdown headings
out = []
for block in re.split(r"\n\s*\n", text):
block = " ".join(block.split())
if len(WORD.findall(block)) >= 3: # skip scene-break glyphs
out.append(block)
return out
def sentences(par):
return [s.strip() for s in SENT_END.split(par) if s.strip()]
def words(s):
return WORD.findall(s)
def cv(xs):
"""Coefficient of variation. The variance signal, scale-free."""
if len(xs) < 2:
return 0.0
m = st.mean(xs)
return (st.pstdev(xs) / m) if m else 0.0
def per_1000(n, total):
return round(n * 1000 / total, 2) if total else 0.0
def analyse(text, cfg):
pars = paragraphs(text)
sents = [s for p in pars for s in sentences(p)]
slen = [len(words(s)) for s in sents]
plen = [len(sentences(p)) for p in pars]
nwords = sum(slen)
low = text.lower()
# --- TIER 1: variance and structure -------------------------------------
openings = {}
for s in sents:
w = words(s)[:2]
if len(w) == 2:
k = " ".join(x.lower() for x in w)
openings[k] = openings.get(k, 0) + 1
repeated = sorted(((v, k) for k, v in openings.items() if v > 1), reverse=True)
# "button": a paragraph landing on a sentence far shorter than its own mean
buttons = 0
for p in pars:
ss = sentences(p)
if len(ss) >= 3:
ls = [len(words(x)) for x in ss]
if ls[-1] <= 0.5 * st.mean(ls[:-1]):
buttons += 1
tier1 = {
"words": nwords,
"sentences": len(sents),
"paragraphs": len(pars),
"sentence_len_mean": round(st.mean(slen), 1) if slen else 0,
"sentence_len_cv": round(cv(slen), 3),
"sentence_len_range": [min(slen), max(slen)] if slen else [0, 0],
"short_sentences_pct": round(100 * sum(1 for x in slen if x <= 6) / len(slen), 1) if slen else 0,
"long_sentences_pct": round(100 * sum(1 for x in slen if x >= 40) / len(slen), 1) if slen else 0,
"paragraph_len_cv": round(cv(plen), 3),
"repeated_openings": [{"opening": k, "n": v} for v, k in repeated[:8]],
"repeated_opening_share_pct": round(100 * sum(v for v, _ in repeated) / len(sents), 1) if sents else 0,
"button_paragraphs_pct": round(100 * buttons / len(pars), 1) if pars else 0,
}
# --- TIER 2: constructions models prefer --------------------------------
participial_open = sum(1 for s in sents if re.match(r"^\W*\w+ing\b", s))
participial_mid = len(re.findall(r",\s+\w+ing\b", low))
nominal = len(re.findall(r"\b\w{4,}(tion|ment|ness|ity|ance|ence)\b", low))
not_but = len(re.findall(r"\bnot\b[^.?!]{1,60}?\bbut\b", low))
passive = len(re.findall(r"\b(was|were|is|are|been|being)\s+\w+(ed|en)\b", low))
tier2 = {
"participial_openers_per_1k": per_1000(participial_open, nwords),
"participial_mid_clause_per_1k": per_1000(participial_mid, nwords),
"nominalisations_per_1k": per_1000(nominal, nwords),
"not_x_but_y": not_but,
"passive_markers_per_1k": per_1000(passive, nwords),
}
# --- TIER 3: the word list ----------------------------------------------
def hits(terms):
found = {}
for t in terms:
n = len(re.findall(r"\b" + re.escape(t.lower()) + r"\b", low))
if n:
found[t] = n
return found
tricolon = len(re.findall(r"\b\w+,\s+\w+[^.?!,]{0,30},\s+and\s+\w+", low))
adverb_tags = len(re.findall(r"\b(said|replied|asked|answered|murmured)\b\s+\w+ly\b", low))
emdash = low.count("—")
tier3 = {
"banned": hits(cfg["banned"]),
"hedges_per_1k": per_1000(sum(hits(cfg["hedges"]).values()), nwords),
"named_emotions": hits(cfg["emotions"]),
"tricolons_per_1k": per_1000(tricolon, nwords),
"adverb_dialogue_tags": adverb_tags,
"em_dashes_per_1k": per_1000(emdash, nwords),
}
return {"tier1_variance": tier1, "tier2_constructions": tier2, "tier3_lexical": tier3}
def closings(paths):
"""Chapter closes, side by side. Repetition here is invisible per chapter
and is the marker with the best support in long fiction."""
rows = []
for p in paths:
pars = paragraphs(Path(p).read_text(encoding="utf-8"))
if not pars:
continue
last = sentences(pars[-1])[-1]
w = words(last)
rows.append({
"file": Path(p).name,
"close_words": len(w),
"ends_on": " ".join(w[-4:]),
"abstract_close": bool(re.search(r"(tion|ment|ness|ity|ance|ence)\b\W*$", last.lower())),
})
return rows
def report(name, a, ref=None):
def d(cur, prev):
if prev in (None, 0) or not isinstance(cur, (int, float)):
return ""
return f" ({cur - prev:+.2f} vs reference)"
t1, t2, t3 = a["tier1_variance"], a["tier2_constructions"], a["tier3_lexical"]
r1 = ref["tier1_variance"] if ref else {}
r2 = ref["tier2_constructions"] if ref else {}
r3 = ref["tier3_lexical"] if ref else {}
print(f"\n{name} ({t1['words']} words, {t1['sentences']} sentences, {t1['paragraphs']} paragraphs)")
print("\nTIER 1 variance and structure [strongest evidence]")
print(f" sentence length mean {t1['sentence_len_mean']}, range {t1['sentence_len_range'][0]}-{t1['sentence_len_range'][1]}")
print(f" sentence length CV {t1['sentence_len_cv']}{d(t1['sentence_len_cv'], r1.get('sentence_len_cv'))}")
print(f" paragraph length CV {t1['paragraph_len_cv']}{d(t1['paragraph_len_cv'], r1.get('paragraph_len_cv'))}")
print(f" short (<=6w) / long (>=40w) {t1['short_sentences_pct']}% / {t1['long_sentences_pct']}%")
print(f" repeated 2-word openings {t1['repeated_opening_share_pct']}% of sentences")
for o in t1["repeated_openings"][:5]:
print(f" {o['n']}x \"{o['opening']} ...\"")
print(f" paragraphs landing on a short button {t1['button_paragraphs_pct']}%")
print("\nTIER 2 constructions models prefer [corpus-supported]")
for k, v in t2.items():
print(f" {k:34s} {v}{d(v, r2.get(k))}")
print("\nTIER 3 word list [weakest tier; configuration, not doctrine]")
print(f" banned diction {t3['banned'] or 'none'}")
print(f" named emotions {t3['named_emotions'] or 'none'}")
print(f" hedges / 1k {t3['hedges_per_1k']}{d(t3['hedges_per_1k'], r3.get('hedges_per_1k'))}")
print(f" tricolons / 1k {t3['tricolons_per_1k']}{d(t3['tricolons_per_1k'], r3.get('tricolons_per_1k'))}")
print(f" em dashes / 1k {t3['em_dashes_per_1k']}{d(t3['em_dashes_per_1k'], r3.get('em_dashes_per_1k'))}")
print(f" adverb dialogue tags {t3['adverb_dialogue_tags']}")
print("\nNo verdict is printed. A count is not a judgment; that seat is the author's.\n")
def main():
ap = argparse.ArgumentParser(description="Prose Tally: the deterministic half of a taste standard.")
ap.add_argument("files", nargs="+")
ap.add_argument("--against", help="reference text to compare against")
ap.add_argument("--closings", action="store_true", help="compare how each file ends")
ap.add_argument("--json", action="store_true")
ap.add_argument("--config", help="JSON overriding the tier-3 word lists")
args = ap.parse_args()
cfg = dict(DEFAULTS)
if args.config:
cfg.update(json.loads(Path(args.config).read_text(encoding="utf-8")))
if args.closings:
rows = closings(args.files)
if args.json:
print(json.dumps(rows, indent=2)); return
print(f"\nCHAPTER CLOSES ({len(rows)} files)\n")
for r in rows:
flag = " <- abstract noun" if r["abstract_close"] else ""
print(f" {r['file']:46s} {r['close_words']:3d}w ...{r['ends_on']}{flag}")
lens = [r["close_words"] for r in rows]
if len(lens) > 1:
print(f"\n closing-length CV {round(cv(lens), 3)} abstract closes {sum(r['abstract_close'] for r in rows)}/{len(rows)}")
print("\nA close-shape that repeats is invisible chapter by chapter. That is the point.\n")
return
ref = analyse(Path(args.against).read_text(encoding="utf-8"), cfg) if args.against else None
results = {}
for f in args.files:
results[f] = analyse(Path(f).read_text(encoding="utf-8"), cfg)
if args.json:
print(json.dumps(results, indent=2)); return
for f, a in results.items():
report(Path(f).name, a, ref)
if __name__ == "__main__":
main()
```
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Continuity Audit
CC BY 4.0
The book's immune system. It assumes every draft introduced a defect and goes hunting; what it accepts it deposits, and what it rejects it returns.
takes
the draft with its declaration, the brief, and the canon
returns
CLEAN or RETURN TO WRITER, every finding cited from both sides
CONTINUITY AUDIT: the book's immune system.
You audit one chapter against the canon. Assume the draft has
introduced a defect and go looking for it; a clean verdict is
earned, never presumed. You diagnose and you propose. You never
touch the prose: the writer fixes, in the writer's seat.
INPUTS (paste below this prompt):
1. The story canon: premise lock, world rules, knowledge ledger,
reveal schedule, continuity ledger.
2. This chapter's brief.
3. The draft under audit, including its declaration block.
THE CHECKS (run all five, in order)
1. ESTABLISHED FACTS. Does any line contradict a fact already in
the continuity ledger or the world rules? Check the declared
new_facts against the ledger for collisions.
2. TIMELINE. Is every referenced event in order? Does the chapter
lean on anything that has not happened yet?
3. KNOWLEDGE. Does any character know, imply, or act on what the
ledger has not granted them by this chapter? Did any certainty
move without an on-page cause? Hunt this hardest: the reader
outrunning the narrator on the central secret is the cardinal
defect.
4. REVEAL BUDGET. Does any line push the reader past the briefed
tier? If the book is pre-reveal, is a mundane explanation still
standing for every suspicious detail?
5. THE DECLARATION. Is every fact the prose commits to listed in
new_facts, and every listed fact actually in the prose? An
undeclared fact is how a ledger rots.
# Add the checks your book's premise demands. Ours carried two more:
# a real-history anchor check and an over-explanation watch.
OUTPUT
1. Deposit the accepted new_facts into the continuity ledger,
append-only, with IDs.
2. Report: facts deposited; findings, each with a severity
(blocking / major / minor), the chapter line, the canon source it
collides with, and a proposed fix; then the verdict, CLEAN or
RETURN TO WRITER. Any blocking or major finding returns it.
HARD RULES
1. Cite both sides of every contradiction. A finding that quotes
only one is not actionable.
2. Never fix the prose yourself. Propose, and hand it back.
3. Deposit faithfully. An accepted fact that goes unlogged is a
future contradiction with your name on it.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Adversarial Critic
CC BY 4.0
A critic that grades and never writes: seven scored dimensions with two vetoes, counts before judgment, quoted violations, and a PASS / REVISE / FAIL verdict.
takes
the taste canon and the draft; never the drafting conversation, and best from another model family
returns
the verdict, with the fixes numbered, most damaging first
You are the critic. You never write or rewrite prose: you grade it. Your mandate is to refute: find where the chapter fails the standard, not reasons to admire it. The writer is a different agent; flattery helps no one.
INPUTS (paste below this prompt):
1. The taste canon: style rules, AI-tell blacklist, count caps.
2. The chapter draft.
3. (Optional) The relevant story-canon slices for this chapter.
GRADE ON SEVEN DIMENSIONS (0–5 each; the chapter passes only if EVERY dimension scores 4+):
D1 Voice fidelity: matches the voice anchor and character sentence architecture.
D2 Concreteness: feelings rendered, not named; conclusions earned, not stated.
D3 Continuity: no contradiction with the canon slices provided.
D4 Restraint [VETO]: mysteries not explained into certainty; a failure here sinks the chapter regardless of other scores.
D5 Scene shape: not the template (description → dialogue → reflective summary); scenes vary in skeleton.
D6 Clean of tells [VETO]: zero blacklist hits, all count caps respected. One hit = automatic fail.
D7 Voice separation: passes the stripped-tag test: with dialogue tags removed, speakers are distinguishable by construction alone.
PROTOCOL:
- Count before you judge: tally blacklist hits, hedges, tricolons, and capped moves FIRST; cite paragraph numbers.
- Quote every violation. A note without a quoted line is not a note.
- Then, and only then, the one judgment call: name the chapter's single deepest failure in one sentence: the thing a count cannot catch.
- Verdict: PASS / REVISE (with a numbered fix-list, most damaging first) / FAIL (unsalvageable as drafted; say why).
Do not suggest replacement prose. That is the writer's job, and the jury's to referee.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Production Runbook
CC BY 4.0
The cycle the loop hangs on. Fresh context per seat, one owner per file, three rounds as the ceiling, and gates nobody skips to save time.
takes
the next chapter in arc order, and every seat above
returns
an accepted chapter, with both verdicts unsoftened
PRODUCTION RUNBOOK: the loop, gated, and who sits where.
One chapter at a time, in arc order. Four seats, each in a fresh
context: the engine that writes, the audit that keeps the facts,
the critic that grades, and the author, who rules. A seat is a
context, not a persona: the same conversation cannot write and
grade, whatever it is told to pretend. Sub-agents if your tool has
them; separate conversations if not. And where you can choose the
model, seat the audit and the critic in a different family from the
engine: a grader leans toward its own house's prose, and the lean
survives the fresh context.
THE CYCLE (per chapter)
1. BRIEF. Confirm the chapter's brief exists and its reveal budget
is named. No brief, no draft.
2. DRAFT. The prose engine writes, reading the whole canon first.
Run the tally over the draft; a language model is the wrong
instrument for an exact count.
3. AUDIT. The continuity audit rules CLEAN or RETURN TO WRITER.
Returns go back with the findings; the engine revises; repeat.
4. GRADE. The critic scores against the voice spec and the guard.
Below the bar goes back with the notes. Three rounds is the
ceiling: a chapter still failing after three has a design
problem, and design problems go upstream to the author, not
around the loop again.
5. ACCEPT. On a clean audit and a passing grade: deposit the new
facts, apply the knowledge deltas, and report to the author with
both verdicts, unsoftened.
THE GATES ARE THE METHOD
1. Never skip a gate to save time. An unaudited chapter is not
accepted; it is merely finished.
2. Never run two seats in one context. Fresh context per seat,
every cycle.
3. One owner per file. The engine writes chapters; the audit writes
the ledger; nobody writes both.
4. A contested change leaves the loop: revision against original
goes to the blind jury, provenance stripped.
5. The author reads everything that clears. The ties and the vetoes
are the author's, and nothing ships unjudged.
6. The loop's unit is the chapter, and that is its ceiling. What
exists only across chapters belongs to the refinement loop;
running this one harder will not find it.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
loop 03
Refinement
The whole book, in reading order. Instruments for what no chapter gate can see: cumulative wear, drift, a promise made in the first act and owed in the fifth.
Cold Reader Protocol
CC BY 4.0
A stranger reads the finished book in order and keeps a ledger of promises, devices, doubts, and attention. Ends in adjudication: every note verified before it is obeyed, and recurring notes taken upstream to the canon.
takes
the finished book, body prose only, in strict reading order, in a fresh context
returns
the ledger, and nothing else; it proposes no fixes
COLD READER PROTOCOL: the last instrument before release, and the simplest. A critic grades chapters against a standard; a cold reader receives the book the way a buyer will: whole, in order, knowing nothing. Wear and payoff are cumulative, so per-chapter checks cannot feel a device wear out or a promise go stale. A reader can.
SETUP (you, the author):
1. Build a clean manuscript: body prose only. No canon and no notes; nothing a bookstore copy would not carry.
2. Open a fresh context that has never seen the project. A reader who watched the drafting is not cold. A human stranger runs the same protocol; the ledger does not care who keeps it.
3. Feed the chapters strictly in reading order, a few at a time. Order is the point: it is the one thing per-chapter checks never test.
READER PROMPT (paste once, then keep feeding chapters):
You are reading a finished novel as its first stranger. You are not an editor and you do not propose fixes. Keep a running ledger as you read:
- PROMISES: what the book has led you to expect, and where it did. When a promise is paid or broken, say where.
- DEVICES: any move you notice recurring (how chapters end, how a character exits). Log each sighting, and say when a device stops working on you.
- DOUBTS: anything that contradicts what you were told earlier, with both locations and a confidence: certain, probable, unsure.
- ATTENTION: where you read faster, where you sagged, where you would have stopped. Honesty about boredom is the job.
After the last chapter: the three strongest chapters, the weakest stretch, every promise still unpaid, and whether the ending answers the question the opening taught you to ask.
ADJUDICATION (you again; the ledger is testimony, not a verdict):
1. Verify every doubt against the text before you touch anything. Readers file true and false findings at the same confidence, and this one will too.
2. Rule each item: REAL (fix it), DELIBERATE (the book's choice wearing an error's costume; record it in a do-not-fix register so no later pass undoes it), or UNVERIFIED (a second stranger reads before you act).
3. Sort the real notes by altitude. A note about one line takes a line edit. A note that recurs across chapters is structural, and sentence edits will not move it: the fix lives upstream, in the canon. Add the arc the book is missing; give the middle the pressure it lacks. New material faces the same critics and juries as the old.
4. One read per stranger. A second opinion is a second stranger, never the same one asked again.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Panel Protocol
CC BY 4.0
Several readers of the finished book, in different seats, reporting independently. Convergence is the instrument: what three readers found without conferring is the report. Collects what must not be damaged before it plans a single fix.
takes
the finished book, whole, from several seats, independently
returns
what the seats found without conferring, as a plan rather than an edit
PANEL PROTOCOL: several readers of the finished book, reporting independently. Run it after the cold read and before the last revision. The cold reader keeps a ledger of what reading the book was like. The panel answers the question a buyer asks: is this good, and what would have to change.
WHY MORE THAN ONE: a single reader's finding is a hypothesis. The same finding reached independently by readers who never conferred is the strongest signal this method produces. Convergence is the instrument. An individual verdict is not.
SETUP (you, the author):
1. A clean manuscript, body prose only, whole and in reading order. Nothing a bookstore copy would not carry.
2. Three to seven readers, each in a context that has seen nothing of the making, none able to see another's report. No deliberation between them, ever.
3. Vary the seat, not the standard. Give each reader a different chair: the acquiring editor, the hostile reviewer, the reader of this genre who buys four books a year, the reader you expect to abandon it.
4. Ask for the praise as well as the faults. A panel that reports only defects produces a book edited toward the mean.
READER PROMPT (paste per reader, with that reader's seat named):
You have read the whole book. You are not editing it and you propose no line fixes. Return:
- VERDICT: acquire / acquire conditional on revision / decline. One sentence for why.
- THE STRONGEST THING IN IT, quoted. Name what no revision may be allowed to damage.
- THE THREE WEAKEST STRETCHES, located, with what is wrong in each.
- THE PROMISE: what the opening taught you to expect, and whether the ending answers it.
- WHERE YOU WOULD HAVE STOPPED, if anywhere. Honesty about boredom is the job.
- WHAT IT IS FOR, in one sentence: what this book is about. Do not reconcile this with what you think the author intended. The gap is the finding.
ADJUDICATION (you again):
1. CONVERGENCE FIRST. Sort every finding by how many readers reached it without conferring. What three or more found is the report. What one found is a hypothesis, and waits.
2. THE CALIBRATION LIST. Collect every "strongest thing" into a do-not-damage register before planning a single fix. Any revision that costs an item on that list is refused or redesigned. Panels are very good at naming faults and very bad at pricing what they would cost to remove.
3. PRIORITISE.
P0, hard errors: contradictions, breakages, anything simply wrong. Fixed regardless of anything else.
P1, the gap: what stands between this book and the one it is trying to be. Usually structural, usually in the middle, usually not reachable by line edits. This is the panel's actual product.
P2, judgment calls: defensible as they stand. Rule each one and record the ruling, so no later pass reopens it.
4. NOTHING SHIPS FROM A PANEL DIRECTLY. A panel produces a plan, not an edit. The plan is yours to approve, and every change in it runs the production loop and then wins blind against what it displaces, or it does not go in.
5. RECORD THE CLOSURE: what was fixed, what was refused, and why. A panel with no closure record is a panel you will run again by accident.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
Blind A/B Jury Protocol
CC BY 4.0
The referee that stops self-congratulation: blind, independent verdicts on any contested change, including one juror primed to cut darlings. Ties go to you.
takes
two versions of a contested change, provenance stripped
returns
independent verdicts, blind to who made what
feeds
your ruling, and the record of it
BLIND A/B JURY PROTOCOL: for any contested change (the writer's revision vs the original, a cut vs the uncut, two endings).
SETUP (you, the author, do this part):
1. Prepare Version 1 and Version 2. Strip everything that reveals which is original, which is revised, or which anyone prefers.
2. Flip a coin per juror for which version it meets as "1". A judge leans toward whichever it read first, and the lean is strongest exactly when the call is close; splitting the order across the panel cancels it. Keep the key to yourself.
3. Empanel 2–3 jurors as SEPARATE conversations (fresh context each; a juror who saw the drafting is not blind). Where you can choose the model, draw jurors from a family that wrote neither version: a judge recognizes its own hand, and favors it.
4. Prime ONE juror adversarially: "You cut darlings. Beautiful lines that do no work do not survive you."
5. No deliberation between jurors. Independent verdicts only.
JUROR PROMPT (paste per juror):
You are judging two versions of the same passage. You do not know which came first or which anyone prefers, and you must not guess. Read both twice. Then return:
- VERDICT: STRONG 1 / WEAK 1 / WEAK 2 / STRONG 2.
- The single line that most decided you, quoted.
- What the losing version does better, in one sentence (there is always something).
Judge as a reader, not an editor: which version would you rather keep reading?
RULING (you again):
- Unanimous STRONG → apply it.
- Split or WEAK → the tie is yours. That is the seat the method saves for you.
- When the versions differ plainly in length, discount the longer one's wins a step: judges lean long, and the lean is not taste.
- Log every verdict, including the ones that overrule you. The reversals are the record that the process is real.
From The Atelier Method (theateliermethod.org). CC BY 4.0.
Artifacts v1 (2026-09): maintained and revised in the open. Keep the discipline; rewrite the shape.
The attribution and the version travel with the paste.
In the workshop: a reveal-schedule checker.
Every artifact here was cut from one book’s making.