Sentence reports

Per-sentence analysis of your manuscript. The engine that backs the Sentence analysis hero card at the top of the panel — flags long, heavy, or difficult sentences.

Endpoint: /sentence_reports — up to 50,000 words per run.

sentence-reports report card

What it measures

For every sentence in your manuscript, the endpoint computes:

  • Length in words — raw token count after tokenisation
  • Structural complexity — number of clauses and depth of subordination (a sentence with three nested "which…" clauses scores higher than a same-length sentence made of coordinated main clauses)
  • A difficulty score — a combined index weighing length, syllable density, subordination depth, and prepositional-phrase count
  • Long-sentence flag — a boolean marking whether the sentence exceeds the "long" threshold (typically 30+ words)

These per-sentence numbers are then aggregated up to per-paragraph and per-manuscript summaries. The long_sentence_count field is the total number of sentences flagged as long across the entire document. Per-paragraph heaviness scores — the sum of individual sentence difficulty inside a paragraph — feed the pinned Sentence analysis hero card at the top of the Reports tab, where the heaviest paragraphs are ranked and made clickable.

The endpoint caps at 50,000 words per run. Longer manuscripts get truncated; run per-chapter for longer books.

A methodological note: the difficulty score is a statistical heaviness metric, not an aesthetic one. It cannot distinguish "hard to read because the prose is poorly constructed" from "hard to read because it is deliberately dense and rewarding." Read the flag as a pointer, then read the sentence itself.

Why it's useful

Long sentences aren't wrong. Every craft-tradition — from Faulkner to Sebald to Cormac McCarthy — leans on the long sentence as a rhythmic and emotional tool. The problem is density: twenty long sentences in a row, without a shorter sentence to give the reader a landing beat, exhausts working memory. The prose stops being read and starts being processed, and the reader disengages.

This report shows you the specific places where the density of long sentences will hurt the read. It doesn't tell you to shorten every long sentence; it tells you where the long-sentence density has spiked. A chapter with an even mix — some long, some short, one very long, several very short — reads fluidly regardless of the average. A chapter with a flat block of 30-word sentences reads as homework.

Use it as the drill-down layer under Style score's "Sentence variety" and "Very long sentences" metrics. Style score tells you whether long-sentence density is elevated; Sentence reports tells you where, so you can go rewrite exactly those paragraphs.

How to read it

The /sentence_reports data does not render its own dedicated section in the Rust panel — it flows into two other places in the composite view.

First: the long sentences stat tile in the top-of-panel grid (bottom-right of the four PopStat tiles: "words", "sentences", "avg / sentence", "long sentences"). The tile shows the long_sentence_count value as its number, and its color adapts to the ratio of long sentences to total sentences: green when the ratio is under 10%, amber between 10% and 40%, red above 40%. The color scale is deliberately aggressive on the red side — 40% long sentences is a lot of long sentences.

Second: the per-paragraph heaviness data feeds the pinned Sentence analysis hero card at the top of the sibling Reports tab. That's where the heaviest paragraphs are ranked in a scrollable list, each with an excerpt of the offending prose and a badge showing the heaviness score. Clicking any row jumps you to that paragraph in the editor with the specific offending sentences highlighted. See Sentence analysis for that layout — it's the same underlying data, just presented as the primary hero card because per-paragraph drill-down is where the value lives.

The Rust panel's own Long sentences collapsible issue list (near the bottom, blue dot) is populated by the sibling /sentencelength endpoint, not by /sentence_reports — the two endpoints overlap but are computed independently. See Sentence length.

When to ignore it

Same rule as Sentence analysis proper: if you're writing dense literary or academic prose deliberately, high numbers are expected and correct. Compare against your target genre before treating the count as a defect. A literary novel with a long_sentence_count in the low thousands over 90k words is normal; a genre thriller with the same count is a problem.

Dialogue-heavy chapters produce lower counts because character speech is naturally shorter and more fragmented. If you're comparing chapters within a book, expect dialogue-heavy chapters to look "cleaner" than narration-heavy chapters even when the narration is fine. That's a difference of form, not quality.

Poetry, verse novels, and micro-fiction distort the metric completely — the sentence unit stops being the meaningful chunk. Ignore this report for those forms.

Finally, sentences containing embedded lists, headings, or long proper-noun phrases inflate their word count artificially. A sentence like "She recognised Mendelssohn, Schubert, Beethoven, Bach, and the young unknown who had introduced them all" is technically 15 words and structurally simple; the analyzer will not mistake it for a complex sentence, but similar constructions with long place-names or scientific terminology can be flagged as heavier than they read.

How to run it

  1. Click Write in the left sidebar and open the document you want to analyze.
  2. Open the right rail: click the Reports button (bar-chart icon) in the editor's top toolbar.
  3. In the rail header, click the Rust tab.
  4. All 8 Rust endpoints run in parallel on tab open — typically completes in 2–5 seconds. There is no card to click; everything renders in one composite panel.
  5. The sentence report data is what feeds the long sentences stat tile in the top-of-panel grid (specifically its long_sentence_count field, used as the fallback when /sentencelength is disabled or errored). The tile's colour goes green / amber / red depending on the ratio of long sentences to total sentences.
  6. The per-paragraph heaviness data feeds the pinned Sentence analysis hero card at the top of the sibling Reports tab — see Sentence analysis for that layout.