| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 4 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 78.39% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1388 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "very" | | 1 | "completely" | | 2 | "suddenly" | | 3 | "perfectly" |
| |
| 100.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 71.18% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1388 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "silence" | | 1 | "pulse" | | 2 | "could feel" | | 3 | "weight" | | 4 | "throbbed" | | 5 | "whisper" | | 6 | "warmth" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 0 | | maxInWindow | 0 | | found | (empty) | | highlights | (empty) | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 107 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 107 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 108 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 59 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 4 | | markdownWords | 19 | | totalWords | 1400 | | ratio | 0.014 | | matches | | 0 | "Something" | | 1 | "it's not warning me about the grove." | | 2 | "It's warning me about what's between me and the grove." | | 3 | "Isolde." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 1379 | | uniqueNames | 16 | | maxNameDensity | 0.73 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Sheen | 1 | | Cross | 1 | | Rory | 10 | | London | 1 | | Richmond | 1 | | Park | 1 | | Heartstone | 1 | | Cool | 2 | | Tube | 1 | | Tuesday | 1 | | Isolde | 1 | | Brendan | 1 | | Carter | 1 | | Pre-Law | 1 | | November | 1 | | Evan | 1 |
| | persons | | 0 | "Cross" | | 1 | "Rory" | | 2 | "Isolde" | | 3 | "Brendan" | | 4 | "Carter" | | 5 | "Evan" |
| | places | | 0 | "Sheen" | | 1 | "London" | | 2 | "Richmond" | | 3 | "Park" | | 4 | "November" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like being proud of the arrangemen" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1400 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 108 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 46 | | mean | 30.43 | | std | 25.52 | | cv | 0.839 | | sampleLengths | | 0 | 16 | | 1 | 70 | | 2 | 46 | | 3 | 5 | | 4 | 80 | | 5 | 14 | | 6 | 13 | | 7 | 72 | | 8 | 62 | | 9 | 3 | | 10 | 66 | | 11 | 26 | | 12 | 72 | | 13 | 5 | | 14 | 77 | | 15 | 8 | | 16 | 43 | | 17 | 3 | | 18 | 15 | | 19 | 21 | | 20 | 9 | | 21 | 60 | | 22 | 4 | | 23 | 33 | | 24 | 6 | | 25 | 45 | | 26 | 14 | | 27 | 46 | | 28 | 10 | | 29 | 52 | | 30 | 6 | | 31 | 50 | | 32 | 20 | | 33 | 7 | | 34 | 51 | | 35 | 5 | | 36 | 86 | | 37 | 16 | | 38 | 32 | | 39 | 19 | | 40 | 7 | | 41 | 56 | | 42 | 18 | | 43 | 3 | | 44 | 4 | | 45 | 24 |
| |
| 95.43% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 107 | | matches | | 0 | "been chained" | | 1 | "been hunted" | | 2 | "being told" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 219 | | matches | | 0 | "was carrying" | | 1 | "was glowing " |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 2 | | flaggedSentences | 11 | | totalSentences | 108 | | ratio | 0.102 | | matches | | 0 | "Both times there had been deer — great tawny shapes moving through the grass with the unbothered arrogance of things that had never been hunted." | | 1 | "Not hot — warm the way a mug of tea goes when you've forgotten it, that particular fading blood-heat." | | 2 | "She stood there in the dark, breathing, cataloguing, because that was what she did — Brendan Carter's daughter, sixteen months of Pre-Law and a lifetime of being told she noticed too much." | | 3 | "She'd learned that from Evan, of all people — the useful lessons always came from the worst places." | | 4 | "You didn't turn towards a sound; you turned so the sound was on your strong side, and you kept your feet under you." | | 5 | "There should have been a hiss, a rustle, the wet snap of stems — she could hear her own eyelashes when she blinked, she could hear the blood in her ears, and the grass went down without a whisper." | | 6 | "The leaning oak's bough was three steps behind her; she'd counted." | | 7 | "Rory looked at that empty pressed-down space, at the shape of it — long, wider at one end, the way a bootprint is wider at the toe — and something in the back of her skull began screaming with great politeness, a rising note like a kettle in another room." | | 8 | "It was the sound of a very large animal breathing out through its nose — a single, unhurried exhalation, and it came from directly in front of her, at a height she estimated, before she could stop herself, at somewhere near eight feet." | | 9 | "What she did was take one step backwards over the oak root, and then another, and the moment her heel came down inside the ring of stones the world changed pitch — the pressure in her ears popped, the silence broke like glass, and suddenly there were crickets, thousands of them, a wall of ordinary noise so loud she flinched." | | 10 | "It was glowing — a deep crimson coal, bright enough to throw her own shadow onto the grass behind her — and it was so hot she could smell the leather of her jacket beginning to complain." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 289 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 9 | | adverbRatio | 0.031141868512110725 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.010380622837370242 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 108 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 108 | | mean | 12.96 | | std | 12.07 | | cv | 0.931 | | sampleLengths | | 0 | 16 | | 1 | 24 | | 2 | 19 | | 3 | 16 | | 4 | 11 | | 5 | 7 | | 6 | 14 | | 7 | 25 | | 8 | 5 | | 9 | 18 | | 10 | 9 | | 11 | 2 | | 12 | 6 | | 13 | 11 | | 14 | 34 | | 15 | 3 | | 16 | 1 | | 17 | 2 | | 18 | 2 | | 19 | 6 | | 20 | 13 | | 21 | 4 | | 22 | 19 | | 23 | 12 | | 24 | 4 | | 25 | 5 | | 26 | 28 | | 27 | 7 | | 28 | 5 | | 29 | 50 | | 30 | 3 | | 31 | 18 | | 32 | 11 | | 33 | 2 | | 34 | 35 | | 35 | 8 | | 36 | 18 | | 37 | 10 | | 38 | 24 | | 39 | 22 | | 40 | 16 | | 41 | 5 | | 42 | 3 | | 43 | 32 | | 44 | 4 | | 45 | 7 | | 46 | 31 | | 47 | 8 | | 48 | 3 | | 49 | 29 |
| |
| 54.01% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.4074074074074074 | | totalSentences | 108 | | uniqueOpeners | 44 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 94 | | matches | | 0 | "Instead there was her own" | | 1 | "Then she turned the phone" | | 2 | "Too small, too close, like" | | 3 | "Then, forty feet out, a" |
| | ratio | 0.043 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 94 | | matches | | 0 | "She landed on the far" | | 1 | "She'd walked this route in" | | 2 | "She put her hand inside" | | 3 | "It had been cool when" | | 4 | "She'd come out here because" | | 5 | "She kept her eyes on" | | 6 | "She counted her steps for" | | 7 | "She looked at it for" | | 8 | "She recognised the shape of" | | 9 | "She stood there in the" | | 10 | "Her voice came out wrong." | | 11 | "She didn't turn." | | 12 | "She'd learned that from Evan," | | 13 | "You didn't turn towards a" | | 14 | "It appeared without sound." | | 15 | "she said, and her voice" | | 16 | "She backed towards the stones." | | 17 | "*It's warning me about what's" | | 18 | "It was to her left," | | 19 | "It wasn't a growl." |
| | ratio | 0.255 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 64 | | totalSentences | 94 | | matches | | 0 | "The gate at Sheen Cross" | | 1 | "The brick was cold and" | | 2 | "She landed on the far" | | 3 | "Traffic hummed somewhere behind her," | | 4 | "She'd walked this route in" | | 5 | "Both times it had taken" | | 6 | "Both times there had been" | | 7 | "Rory noticed it the way" | | 8 | "The park should have been" | | 9 | "The dry cough of a" | | 10 | "A wood pigeon resettling itself" | | 11 | "Everything sleeps except idiots on" | | 12 | "She put her hand inside" | | 13 | "The Heartstone was warm." | | 14 | "It had been cool when" | | 15 | "That was the point, she" | | 16 | "That was the entire point." | | 17 | "She'd come out here because" | | 18 | "Rory started walking." | | 19 | "The grass grew tall past" |
| | ratio | 0.681 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 94 | | matches | | 0 | "Now the little crimson gem" | | 1 | "Because the third stripe of" | | 2 | "While she watched, it lifted" |
| | ratio | 0.032 | |
| 82.07% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 4 | | matches | | 0 | "Both times there had been deer — great tawny shapes moving through the grass with the unbothered arrogance of things that had never been hunted." | | 1 | "Every stem bent the same direction, away from the grove, as though something enormous had walked out through the boundary and pressed the whole clearing down un…" | | 2 | "She would be proud of that later, in a way that felt like being proud of the arrangement of the deck chairs." | | 3 | "The field lay smooth and silver all the way back to the treeline, unbroken, undisturbed, as if she had imagined the whole thing." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 4 | | tagDensity | 0.75 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |