Nobody Chooses a Category
The player never picks “I'm writing a research note” from a menu. They write, and the system reads the result back and decides what it is. Then a venue reads the same document and decides again, independently, and the two verdicts don't have to agree. The gap between them is the mechanic, not a bug in the classifier.
Doc 10 states the principle before the mechanism
“The player never selects a document form. They write. The system inspects the document's properties and derives a form label.” That's doc 10 §4.1, and it names its own precedent directly: this mirrors artefact classification. The grammar produces a physical structure and the tag system reads features off it after the fact; documents work the same way. Nothing about a document's category is authored intent. It's a computed consequence of what the document actually contains.
How the computation actually runs
The classification inputs are a fixed bundle read off the document: its scope, evidence depth, how many commitments it advances and how strongly, how many other documents it references, its intended audience, its register, whether it's a working draft or communicative, how many artefacts and cultures it touches. A set of weighted rules scores against that bundle, each rule contributing toward one or more candidate labels rather than picking a single winner outright. A short, low-evidence working document scores toward field-note and memo simultaneously, at different weights; a broad, well-evidenced communicative piece touching several cultures scores toward comparative-study and monograph-chapter. The highest-scoring label wins.
The shipped type keeps the honesty of that process visible rather than collapsing it to a single confident answer. DocumentNode.formConfidence is 'clear' | 'borderline', and a near-tie between two candidate labels produces borderline rather than silently picking one. The rules are built to overlap on purpose: a document sitting right at the boundary between a research note and a short communication is a real, meaningful state, not a classifier failure to be hidden from the player.
Then the venue disagrees, and that's the point
A submitted document already carries the system's own formLabel. The venue it's submitted to runs its own judgement independently and can produce a different one entirely: VenueClassification holds both labels side by side, submittedFormLabel and venueFormLabel, plus a plain reclassified: boolean flag for whether they differ and a diegetic reclassificationReason when they do. “The editors suggest it be published as a research note rather than a full article” is the shape of thing that field holds, not an error message.
This is deliberately not treated as one of them being wrong. The system's label and the venue's label are two independent readings of the same content, produced by two different sets of standards, and disagreement between them is itself information: it tells the player something about how their work reads to a specific professional audience, distinct from how it reads in the abstract. A downward reclassification, full article to research note, is a real career signal, carrying its own reputational weight precisely because it wasn't scripted as a punishment; it's what happens when a rigorous outside judge applies a standard the player's own draft didn't anticipate.
docs/10-document-tradition-system.md §4 · Types: src/lib/types/documents.ts (DocumentNode.formLabel, formConfidence), src/lib/types/venues.ts (VenueClassification, VenueDefinition)