The Consistency layer
Red Stet's in-doc style guide. Load a preset (Chicago, AP, APA, MLA) or write your own rules, then run a pass. The pass flags every span where the prose disagrees with itself or with your rules. Flags land as strikethrough-and-caret marks attributed to a synthetic "Style Guide" author — same review surface as any other editorial note.
Not a grammar checker. It won't tell you a sentence is "bad." It tells you the manuscript used e-mail on page 4 and email on page 47 — and asks which you meant. The judgment stays with you.
- What Consistency does
- Consistency vs. "correctness"
- The shipped style presets
- The eight flag categories
- Decisions are editable
- Running a pass
- The Style Guide panel
- Pending decisions
- Reading a flag in the gutter
- Why it's disabled in Write mode
- Exporting + importing a Style Guide
- For teachers: class-wide presets
- Performance + privacy
What Consistency does
Any long manuscript spells the same word two ways. "OK" and "okay." Em dashes spaced on one page, unspaced on the next. Serial comma 80% of the time. Not errors — drift. Consistency is the second pass an editor would do with a printout and a highlighter, in seconds.
Open the Style Guide panel on the right, load a preset or define your own decisions, click Run consistency pass. Red Stet reads the prose, compares it against your decisions, and stamps a mark on every span that disagrees. Each mark shows the offending text struck through with the suggested replacement floating above — the vocabulary a copy editor uses on paper.
Walk the marks the way you walk any editorial pass: accept, reject, comment.
Consistency vs. "correctness"
A grammar checker tells you a sentence is wrong. A style guide tells you a sentence is inconsistent with the rest of your work. Different jobs. Consistency is the second kind. It won't warn you about passive voice, fragments, comma splices, or "weak verbs."
It cares about one thing: did you make a decision and stick to it. Chose curly quotes? Use them everywhere. Omit the serial comma? Don't slip one in on page 12. The decisions are yours; the bookkeeping is the tool's.
She paused — just for a moment — then opened the door.
He hesitated — — just for a moment — — then turned away.
The shipped style presets chicago · ap · apa · mla
Four presets ship today. Each is a short list of decisions that style gives a canonical answer to — serial comma, em-dash spacing, smart vs. straight quotes, headline case, a few hyphenation calls. A starting point, not a 600-page manual reproduced in software.
- Chicago — US trade-book default. Fiction, narrative nonfiction, memoir, scholarly books. Serial comma, unspaced em-dashes, curly quotes, title case. Load this for anything book-shaped unless your publisher says otherwise.
- AP — newsroom / journalism / press releases / marketing copy. No serial comma, spaced em-dashes, sentence-case headlines, periods in
U.S. - APA 7th — academic writing in psychology, education, social sciences, business / health. Serial comma, unspaced em-dashes, title case for Level 1–3 headings.
- MLA — humanities. Literary analysis, English papers, essays on literature, film, cultural studies. Closer to Chicago than AP, with title case for work titles and headings.
Two ways to load: Add appends on top of what's there (for mixing), Replace wipes the prior preset and reloads. User-added decisions are never touched.
The eight flag categories
Every decision and every mark belongs to one of eight categories. When the pass detects an inconsistency, it asks the Style Guide whether you've decided anything in that category, then applies your preference or queues the question as pending.
- hyphenation — email vs. e-mail, well-known vs. well known, compound modifiers before a noun.
- capitalization — title case vs. sentence case in headings; proper-noun edge cases.
- abbreviation —
U.S.vs.US, italics on e.g., numerals vs. spelled-out numbers. - dash — em-dash spacing, em vs. en, hyphen vs. dash.
- quote — curly ("") vs. straight ("").
- serial-comma — Oxford comma in a series of three or more.
- spelling-variant — British vs. American doubles like colour / color, traveller / traveler.
- house-style — the catch-all. Anything LanguageTool surfaces that doesn't map cleanly to the seven above lands here, so the pass never silently drops a finding.
The category appears at the top of every decision row and on every mark in the doc. Search by category name, or filter by status (Decided / Pending) to triage what's left to answer.
Decisions are editable
A Decision is one row: a question, variants, the variant you preferred (if any). Loading Chicago gives you "Use the serial (Oxford) comma?" with variants use / omit and a preset preference of use. Click omit to override Chicago for this manuscript. Click use to toggle back. Click the active variant a second time to make the Decision pending (no preference).
Delete any Decision — preset or user-added — with the Delete button. The pass stops caring about that category from that source; a user-added Decision in the same category takes over.
The vocabulary is small. Each Decision has a category, question, variants[], and preferred string (or null for pending). The whole Style Guide reads at a glance and exports to a JSON file the size of a tweet.
Running a pass
One entry point: the Run consistency pass button at the bottom of the panel. Click, wait a second or two, three numbers come back: marks (gutter flags from decided rules), pending (new questions queued because no Decision matched), and total findings.
The pass is idempotent. Every Style Guide mark from the prior pass is dropped before new ones are stamped — no accumulation, no cleanup. Run it as many times as you want; the doc reflects the most recent pass.
Requires being signed in (the engine runs server-side through a Convex action) and an open document with prose. An empty doc returns instantly with zero findings. Write mode blocks the pass entirely — see below.
The Style Guide panel
Slides in from the right and stays open while you work. Top to bottom:
- Header — title and close button. Esc also closes.
- Toolbar — "Load preset" disclosure for the four presets, a search box, and a status filter (All / Decided / Pending). Search matches question text, notes, and category name.
- Decisions list — every Decision as a row with its question, source label (from chicago, from consistency pass, or added by you), variants as toggle buttons, and a Delete button.
- Footer — a one-line summary ("14 decisions · 2 pending · last pass 3m ago"), Export, Import, and the primary Run-consistency-pass action.
Shares a tab strip with the Editorial Memo panel — one click between them without losing scroll position.
Pending decisions
When the pass finds an inconsistency in a category you haven't decided, it doesn't stamp a mark — it appends a pending Decision and waits. The row has a dashed red border, a Pending pill, source from consistency pass, and variants pre-filled from what the engine saw in your prose.
The first pass on a fresh manuscript with no preset surfaces a list ready to answer: curly or straight quotes? Em-dashes spaced? Spell out under ten or numerals throughout?
Answer a pending Decision, run the pass again, the questions become marks.
Reading a flag in the gutter
Same vocabulary as a human editor's correction. Strikethrough on the offending span; the suggested replacement floats above it with a caret. An author orb — a small colored dot derived from the synthetic Style Guide author name — tells you at a glance this came from the pass, not from an editor or co-author.
Click the mark and the standard review panel opens. The card shows the original, the suggested replacement, the category (hyphenation, quote, etc.), the LanguageTool rule's message, and three actions:
- Apply — accept the change. Strikethrough and replacement collapse into corrected text.
- Reject — keep the original. The mark vanishes; the next pass respects the rejection if the rule still applies.
- Comment — note without resolving. Flag the spot for later.
Three or more adjacent marks sharing a category (a stretch of dash-spacing flags, say) surface an Accept all / Reject all banner to dispatch the cluster in one click.
The committee voted three to one in favor — and—and moved on.
Why it's disabled in Write mode
Red Stet has three modes — Write, Edit, Read. Write keeps the page silent: no marks, no comments, no panels, no flags. Running the pass in Write throws an error; there's no UI to invoke it from inside Write. Enforced at the engine layer, not just the UI.
To run a pass, switch to Edit or Read. Both expose the Style Guide panel. Drop back into Write to draft again.
Exporting + importing a Style Guide
The Decisions list is portable. Export in the footer downloads a JSON file named and dated: my-novel.styleguide.2026-06-02.json. Small, human-readable, Decisions only — no manuscript text, no pass IDs, no internal bookkeeping. Safe to email, commit, or share.
Import reverses it: open another manuscript, click Import, pick the JSON, and the Decisions land with fresh local IDs. Import merges — never wipes — and arrives with the dirty flag set, so run a pass after.
The workflow for a multi-book series, a team sharing a house style, or a publisher distributing a standard guide. Decide once, export, hand the file out.
For teachers: class-wide presets
The classroom side uses the same Consistency engine. If you're a writer who's also a student in a Red Stet class, the relationship matters.
A teacher sets a default style preset on a classroom (Chicago / AP / APA / MLA / none), overridable per-assignment. When a student opens an assigned doc, Red Stet checks the assignment's preset and auto-applies it to the doc's Style Guide on first open — once. After that, the student edits Decisions like any writer.
Auto-apply is idempotent: toggling the preset on and off doesn't re-inject. The cache key lives on the local doc annotation — once per (doc, assignment) tuple.
Teacher-side mechanics — setting the preset in the New Assignment form, class-wide defaults flowing into new assignments — see Creating an assignment.
Performance + privacy consistency.runPass
The pass is not local. The engine is LanguageTool, run server-side through a Convex action. Requires being signed in and online.
Per pass: Red Stet builds a flat prose string from the rendered blocks, sends it to a Convex action, the action forwards it to LanguageTool, LanguageTool returns matches. The front-end maps each match to a category, finds the governing Decision (or queues a pending one), and stamps marks. Round-trip under two seconds for a chapter.
Privacy posture
Manuscript text is forwarded to LanguageTool to be analyzed. That's the deal. Red Stet's logs record only a checksum and the shape of the response — never the prose. LanguageTool's retention policy governs what it keeps on its side. See What gets recorded.
Related
- Your first manuscript in Red Stet — modes, gutter marks, the review loop the pass plugs into.
- Creating an assignment — teacher-side surface for class-wide and per-assignment style presets.
- What gets recorded — what the pass logs and how it relates to the provenance record.
- Back to the help library.
Missing something? Email feedback.