Lixity · Documentation

A reference corridor from Effi Briest: measuring a draft against its own model

Posted · 7 minutes · Blog

The problem with external style rules

Style guides can tell you that a mean sentence length of 12 words is “brisk” and 24 words is “dense”. What they cannot tell you is whether your novel already lives at 19, whether chapter 4 broke that pattern on purpose, or whether the break holds for three chapters straight. Fixed norms make every manuscript an exception; a reference built from the manuscript itself is what actually describes change.

The idea: a corridor from the manuscript's own chapters

Lixity computes, for each style feature (sentence length, staccato share, dialogue share, perception filters, modals, passive voice, nominalisations, adjectives, long words, sentence-start entropy, first-person starts, lexical diversity measures and more), a robust description of the chapters you already wrote: a median and a spread derived from the median absolute deviation. From that it derives a band — a reference corridor — and reports for every chapter how far it sits outside it.

Two details keep this useful instead of noisy:

Walkthrough: the public example

Open the Effi Briest example in the browser. It is a complete analysis — setting, measurements, PDF report — of a public-domain novel plus a short continuation draft, and it shows the three views this article is about:

  1. The chapter map (heatmap). Rows are chapters, columns are features; colour encodes the noise-adjusted deviation from the manuscript's own reference. Scanning a row tells you which feature moved in that chapter; scanning a column tells you where a feature drifts over the book. A selected set of cells is the FDR set — the rest are visible but unselected.
  2. The style reference (bands). Each feature shows its corridor, the median tick and the strongest outliers as dots. This is the “what is normal here” view — the part a fixed style rule cannot provide.
  3. The chapter matrix (drift column). The reference summary of every chapter: words, sentence length, dialogue share, function words, tense, flags and the number of selected deviations.

The productive question is never “is this chapter good?” but “what happened in chapter 6 — and was it on purpose?”. Deviations are questions to the text: a chapter that sheds dialogue may be a solitary interior section; a jump in nominalisation may be a documentary letter; a drop in sentence length may be the action scene you intended.

Try it on your own draft

For a quick reference from the command line:

uv tool install --python 3.12 --managed-python lixity
lixity style manuscript.md --json

Or open the interactive view: lixity service start --open, then choose Open Project. The style panels are in the Manuscript & Analysis view; the section navigation above the chapters jumps to Style directly.

What it does not say

All features are language-specific and comparable only within one language; density counts use curated marker lists per language. Short chapters have noisy estimates — the report exposes the approximate standard error, and missing uncertainty is treated as zero, not as certainty. The FDR selection controls the expected share of false discoveries under a normal null, which same-sample baselines need not follow; it is a filter, not a guarantee. Most importantly: no deviation is an error, and no result is a quality score. The measurements describe the text; the author decides what the text should do.