Peregrine · preparation, no build
A verb drafted for your ruling, a one-page spec grounded in the authored material that already exists, and a working kit that renders the Act I–II documents as cards the moment you write them.
One word. Owned by no game and reserved by none. It names the hand motion at the frame that carries the game's judgment: after choosing a conclusion, the player picks the source card that carries it. Prove it. Which source most directly supports your finding?
The loop is read → conclude → prove → synthesize. Reading is orientation and the spec says so; concluding is A–D on the paper, which the verb registry calls format rather than verb; synthesizing happens once, at the end. The repeated judgment no other game makes is binding a claim to the document that carries it. That is cite.
| Game | Verb | Section | Against cite |
|---|---|---|---|
| Prime Suspect | pin | Math | clear Pin marks a person's status and stays revisable to the last frame. Cite binds a claim to a document and resolves. Different section, so §2.1 does not even bind. |
| The Lineup | call it | R&W + Math | clear Call-it judges a speaker you are listening to, in one binary. Cite selects one of several documents in front of you. |
| Target Practice | aim-fire | R&W | clear Reflex against a single claim with a decaying meter. Cite is deliberate and the spec forbids a clock on it. |
| The Wager | push a chip | R&W + Math | verb clear, subject adjacent See below. |
| Before She's Back | allocate | R&W + Math | conflict, if you rule open See below. |
| Clear the Room | strike | R&W + Math | clear Strike eliminates what is wrong; cite selects what carries. Exact inverses. |
cite is very close to locate, and the corpus already says so. locate is reserved for The Frisk and claimed by The Lobby — "tap the sentence in a suspect's statement that proves the badge line." The Dossier's own record calls the overlap out rather than hiding it: "The Lobby's whole round is one step of this game's 'prove it', which is the overlap to decide rather than to hide."
A distinction exists and it is about grain. Locate points at a sentence inside one source. Cite points at a source among several. That holds only while The Dossier never asks "which line in this source" — the moment it does, it is The Lobby with more paper.
The Dossier's Phase 1 is opening every source, and the game does not unlock until you have. Before She's Back is ten files you cannot all open, where the skill is knowing what to skip. They are exact opposites, which is a clean separation — until one of them takes open as its verb, at which point the other game's opening frame is describing it.
This is an argument for keeping The Dossier's verb at Phase 3 rather than Phase 1, and an argument against open for Before She's Back. Both rulings are still yours; allocate remains on the record.
The Wager's whole subject is calibration, and The Dossier's signature mechanic is overreach — do not claim more than the evidence licenses. Those sound like the same lesson. They are not: The Wager asks how sure you are about yourself; The Dossier asks how much this text will carry. One prices your competence, the other prices the evidence. The verbs do not collide and the subjects should be kept from drifting together.
Nothing decided. the-dossier still has no verb row in docs/spec/verb-registry.md.
Grounded in the corpus's the-dossier record, v4, and the authored package at Game-Content-and-Ideas/peregrine_language_games_claude_handoff — which holds a full spec, 5 authored dossiers, 20 sources, 10 frameworks, 40 question templates, 25 question steps and 14 validators, none of it in the corpus.
| Item | Settled |
|---|---|
| Sources per file | 4 to 6. All five authored dossiers use exactly 4. Validator DV11 wants at least 4 sources across at least 3 source types; it is a preference, and I would make the count blocking and the type spread a preference. |
| Open-all-before-unlock | Validator DV01, blocking: the investigation stays locked until every required source is opened. The source index shows reviewed and unreviewed state. Nothing is highlighted on first read and no note tells the player what a source establishes (DV02, blocking). This is the whole reason The Dossier hosts the Act I memo. It needs one addition to be a guarantee rather than a likelihood: the schema needs a required flag per source, and the memo's source must carry it. The spec says "required sources must be opened", which implies sources that are not. |
| How a conclusion is cited | Phase 3. After the player picks a conclusion the game asks "Prove it. Which source most directly supports your finding?" and shows compact source cards. First tap reveals the excerpt; a second deliberate tap or an explicit affordance selects it. Exact source text stays reopenable forever (DV09, blocking) — this tests reading, never memory. The data already carries it as prove_with: [source_id], and DV04 requires exactly one strongest source unless the step is multi-select. |
| Word ceiling per source | See the measurement below. Two ceilings: 30 words for a routine source, 110 for a canon-bearing one. |
| Engagement emit | Per the 2026-09-14 rubric this records what the player engaged with, not what they scored, and it is the Docket's only input. For The Dossier: the order sources were opened and how long each was held; the conclusion taken at each step; the source cited at each step and whether it was the strongest; whether an overreach answer was taken; and the final finding filed. Because every source must be opened, "read" is guaranteed and the useful signal is order and dwell rather than coverage. Game Feel's condition holds: none of it is ever shown to the player as a list. |
| Points per correct citation | Flat 100, matching Casing the Room's flat 100 per mark and Before She's Back's 100 per file. See the reasoning below — I would add one thing to it. |
| Unit | n | min | median | p90 | max |
|---|---|---|---|---|---|
| Dossier source, as authored | 20 | 7 | 14.5 | 23 | 28 |
| The Lineup, one reasoning line | 564 | 1 | 12 | 20 | 30 |
| Prime Suspect, one clue card | 65 | 48 | 87 | 110 | 129 |
At a median of 14.5 words a Dossier source is the size of a Lineup line, not a Prime Suspect clue card. The 2026-09-14 note says each canon document has to do three jobs at once — a valid SAT item, a narrative beat, and tagging to open questions. Twenty-eight words will not do three jobs.
So: 30 words for a routine source, which is where the authored set already sits and which keeps DV14's one-phone-screen rule comfortably. 110 words for a canon-bearing source, which is the Prime Suspect clue card's measured p90 and the figure the 2026-09-14 rubric asked for. The Act I memo is a canon-bearing source. A file mixing both is fine; the meeting already settled that a game can carry canon in some content and run routine work in the rest.
Flat 100 per correct citation is right and it matches the slate. It has one gap: a purely additive scheme does not price overreach, and overreach is this game's signature — the thing it exists to teach.
| Act | Value | Why |
|---|---|---|
| Correct citation | +100 | Matches Casing the Room's flat mark and Before She's Back's flat file. |
| Weaker but relevant source | 0 | The spec penalises this "less heavily"; zero is less heavily, and the player may select again. |
| Ordinary comprehension miss | 0 | Same. |
| Overreach | −100 | The only negative, and a full swing of 200 against a correct citation. It is the one error the game is built to charge for. |
The authored package runs a separate Credibility meter that starts full and drains. A second subtractive currency would put The Dossier alongside Red String in the incommensurate group the 2026-09-16 measurements flagged — one more room where 100 means something different. Folding it into points keeps one currency across the slate and still prices overreach harder than anything else.
The corpus record's reason for renaming Credibility is superseded. It says "'Credibility' needs a surface rename before it ships: score is forbidden vocabulary." Score and points were allowed in UI copy on 2026-09-12. The rename is no longer required for that reason; whether the meter survives at all is the live question.
The Dossier's signature is a persistent case question held visible throughout — CASE QUESTION: Did the museum director knowingly sell a counterfeit artifact? The guide's banned list still reads: never in UI copy — quiz, test, practice, study, question, correct, wrong. Only score and points came off that list.
The mechanic is fine; the label is not. THE CASE reads right in the fiction and costs nothing. Flagged rather than changed.
| Piece | What it needs |
|---|---|
| Corpus schema | A the-dossier family, and family-scoped fields in schema-extensions.json under applies_when: {"family": "the-dossier"}: case_question, framework_id, sources[] (id, type, title, text, required), claims[] (id, text, status, supporting_sources), questions[] (order, template_id, prompt, correct_answer, prove_with). One entry per dossier, plus a row in machine_target.outputs naming a file and a shape. The five authored dossiers port as-is; their sources are original, so copyright does not block it. |
| Exporter projection | project_the_dossier, a key in the projection registry, and a shape branch in build(). Its invariants should mirror the validators that are checkable without a running game — DV03 (every scored claim has a status), DV04 (one strongest source), DV05 (the overreach answer is genuinely stronger than the evidence allows), DV06 (the final finding derives from the claim graph), DV11 (source count and spread), DV12 (no source accidentally proves a not-established claim). DV01, DV02, DV08, DV09 and DV14 are runtime or layout and belong in the app. |
| Swift model | A DossierCase decoded with explicit CodingKeys, a DossierLibrary that loads a directory, a DossierValidator returning [ValidationIssue], and a lint test that fails the build on any error. Follow Prime Suspect exactly: non-optional decode, whole-directory load, semantic lint in the test target. Then the views. |
The held handoff F3D20BB1 was retargeted to The Dossier on 2026-09-16, and three of its four actions had no target. All three targets are in the table above. The pin field is one optional column on the schema once the schema exists — the last step, not the first.
tools/index-card-kit.py reads the season record and the corpus entries and renders every Act I–II proof document, plus the Docket line, as a printable card sheet in reading order, with a one-page observer's sheet beside it.
$ python3 tools/index-card-kit.py season record: docs/Peregrine-Plot/season-record.proposed.json (staged, not committed) corpus: 823 entries documents: 5 in acts I, II 1. Method memo UNWRITTEN no entry id on the season record; status is unwritten 2. The Docket line UNWRITTEN no entry id on the season record; status is unwritten 3. Death file, operational copy UNWRITTEN no entry id on the season record; status is unwritten 4. Neighbor's statement UNWRITTEN no entry id on the season record; status is unwritten 5. Housekeeper's lamp complaint UNWRITTEN no entry id on the season record; status is unwritten 0 of 5 written
Five cards today, every one a placeholder. The reading order is the record's own: act first, then v4's document numbering, with the Docket line placed inside Act I because it is logged in play on the night of the visit.
<strong>, <b>, <em> or <mark> tags, and zero occurrences of "act" anywhere on the sheet.The renderer would otherwise be uncheckable until the documents exist, so it takes --season and --entries-dir overrides and was run against a fixture. All four paths behave:
| Path | Fixture | Result |
|---|---|---|
| Prose body | an entry with a body string | renders paragraphs, nothing else |
| Form body | an entry with a fields map | renders label and value rows — this is the shape of the two death files |
| Written, no body | an entry carrying only notes | reports "exists and carries no document body; nothing is rendered rather than scraped" |
| Unwritten | no entry id, status unwritten | placeholder card, and the observer's sheet marks it in the reading order |
Five things to record — your three, plus v4's two open questions from its own index-card table test — each with a hint and ruled lines, above a free-text block. It also carries the reading order and four rules for running it: hand them over one at a time, answer nothing during the read, let the reader keep every card, ask nothing until the last card is down.
Set the document's entry_id and status: "written" on the season record, write the entry, and re-run. The card fills itself in. Nothing else changes, and the kit needs no edit as documents arrive one at a time.