| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 29 | | tagDensity | 0.414 | | leniency | 0.828 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.66% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1498 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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) | |
| 36.58% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1498 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "perfect" | | 1 | "scanned" | | 2 | "mechanical" | | 3 | "rhythmic" | | 4 | "pulse" | | 5 | "wavered" | | 6 | "warmth" | | 7 | "silence" | | 8 | "whisper" | | 9 | "pulsed" | | 10 | "throbbed" | | 11 | "resolve" |
| |
| 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 | 101 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 101 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 118 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1479 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 91.18% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 35 | | wordCount | 1275 | | uniqueNames | 9 | | maxNameDensity | 1.18 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 15 | | Richmond | 1 | | Park | 1 | | Nyx | 10 | | Heartstone | 3 | | Pendant | 1 | | Hel | 2 | | Labrador | 1 | | London | 1 |
| | persons | | 0 | "Rory" | | 1 | "Nyx" | | 2 | "Heartstone" | | 3 | "Pendant" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" |
| | globalScore | 0.912 | | windowScore | 1 | |
| 77.54% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 2 | | matches | | 0 | "quite a face—scanned the gaps between the stones" | | 1 | "quite align with her own vision" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 7 | | per1kWords | 4.733 | | wordCount | 1479 | | matches | | 0 | "not mechanical, not the hum of underground pipes, but something rhythmic" | | 1 | "not the hum of underground pipes, but something rhythmic" | | 2 | "not into mud, but into the soil itself, as though the earth had loosened its g" | | 3 | "not carved, not painted, but formed by the natural whorls of its growth: a hollow" | | 4 | "not painted, but formed by the natural whorls of its growth: a hollow" | | 5 | "not carved, not arranged by anyone who'd cared for symmetry, but placed with purpose" | | 6 | "not arranged by anyone who'd cared for symmetry, but placed with purpose" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 118 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 48 | | mean | 30.81 | | std | 24.5 | | cv | 0.795 | | sampleLengths | | 0 | 78 | | 1 | 46 | | 2 | 19 | | 3 | 60 | | 4 | 60 | | 5 | 5 | | 6 | 13 | | 7 | 54 | | 8 | 28 | | 9 | 3 | | 10 | 30 | | 11 | 9 | | 12 | 48 | | 13 | 16 | | 14 | 2 | | 15 | 15 | | 16 | 9 | | 17 | 71 | | 18 | 78 | | 19 | 37 | | 20 | 5 | | 21 | 43 | | 22 | 43 | | 23 | 91 | | 24 | 48 | | 25 | 4 | | 26 | 33 | | 27 | 10 | | 28 | 2 | | 29 | 47 | | 30 | 29 | | 31 | 3 | | 32 | 67 | | 33 | 25 | | 34 | 19 | | 35 | 3 | | 36 | 6 | | 37 | 86 | | 38 | 34 | | 39 | 6 | | 40 | 37 | | 41 | 30 | | 42 | 8 | | 43 | 30 | | 44 | 20 | | 45 | 40 | | 46 | 19 | | 47 | 10 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 101 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 205 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 19 | | semicolonCount | 0 | | flaggedSentences | 18 | | totalSentences | 118 | | ratio | 0.153 | | matches | | 0 | "Their violet eyes—faintly glowing, two small lanterns suspended in a face that wasn't quite a face—scanned the gaps between the stones." | | 1 | "The surface was warmer than it should have been for mid-December in Richmond Park, and beneath her fingertips she felt a vibration—not mechanical, not the hum of underground pipes, but something rhythmic." | | 2 | "Her phone's camera screen showed nothing—just grass, stones, and the dark skeleton of a beech tree beyond." | | 3 | "Their head tilted—a gesture they'd picked up from somewhere, Rory suspected, from the person they'd been before the summoning ritual unraveled them in 1643." | | 4 | "She blinked and found herself in a clearing that swallowed the noise of the park behind it—the distant hum of the A316, the occasional bark of a dog walker's Labrador, all of it cut off as though someone had pressed a thumb over the world's speaker." | | 5 | "Not the tentative early blooms of a mild winter or the stubborn weeds that pushed through London pavements, but full, saturated flowers—poppies the colour of arterial blood, foxgloves standing in purple ranks, clusters of small white blossoms she didn't recognise growing in spirals around the bases of the oaks." | | 6 | "The silence pressed in, thick as cotton, and her own voice sounded foreign—too loud, too solid." | | 7 | "Their fingers sank in—not into mud, but into the soil itself, as though the earth had loosened its grain for them." | | 8 | "One tree bore a face—not carved, not painted, but formed by the natural whorls of its growth: a hollow where an eye should have been, a ridge of bark curving into a jaw, the mouth open just wide enough to whisper if wind passed through it." | | 9 | "It glowed—a low, ember-bright crimson that pulsed in time with the vibration she'd felt earlier on the standing stones." | | 10 | "Something moved inside it—slow, deliberate, like a tongue repositioning." | | 11 | "Their shadow merged with the tree shadows along the ground—then separated again, as though the ground had rejected them." | | 12 | "At the top of the rise, the wildflowers thinned and the moss gave way to a circle of flat, pale stones—not carved, not arranged by anyone who'd cared for symmetry, but placed with purpose." | | 13 | "Some of them in colours she had no names for—deep indigo, a green that shifted toward silver." | | 14 | "From something beneath it—a slow expansion of ripples that radiated from the centre outward, each one brightening as it reached the basin's rim and then fading." | | 15 | "It formed a shape—a leaf, then a doorway, then something else she couldn't resolve before it shifted again." | | 16 | "Through a gap in the branches, a single light burned—warm, steady, the colour of candle flame held close to skin." | | 17 | "The tree faces, the silent air, the stars that didn't belong in the water—everything pointed forward." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1300 | | adjectiveStacks | 1 | | stackExamples | | 0 | "low, ember-bright crimson" |
| | adverbCount | 40 | | adverbRatio | 0.03076923076923077 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.005384615384615384 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 118 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 118 | | mean | 12.53 | | std | 10.41 | | cv | 0.83 | | sampleLengths | | 0 | 17 | | 1 | 30 | | 2 | 31 | | 3 | 25 | | 4 | 21 | | 5 | 19 | | 6 | 5 | | 7 | 19 | | 8 | 32 | | 9 | 2 | | 10 | 2 | | 11 | 12 | | 12 | 48 | | 13 | 5 | | 14 | 6 | | 15 | 7 | | 16 | 2 | | 17 | 6 | | 18 | 29 | | 19 | 17 | | 20 | 6 | | 21 | 3 | | 22 | 8 | | 23 | 11 | | 24 | 3 | | 25 | 6 | | 26 | 24 | | 27 | 9 | | 28 | 19 | | 29 | 10 | | 30 | 4 | | 31 | 4 | | 32 | 8 | | 33 | 3 | | 34 | 3 | | 35 | 13 | | 36 | 2 | | 37 | 15 | | 38 | 9 | | 39 | 10 | | 40 | 46 | | 41 | 15 | | 42 | 3 | | 43 | 49 | | 44 | 5 | | 45 | 21 | | 46 | 7 | | 47 | 19 | | 48 | 11 | | 49 | 5 |
| |
| 51.69% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.3559322033898305 | | totalSentences | 118 | | uniqueOpeners | 42 | |
| 37.04% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 90 | | matches | | | ratio | 0.011 | |
| 77.78% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 90 | | matches | | 0 | "Their violet eyes—faintly glowing, two" | | 1 | "they said, their voice threading" | | 2 | "She crouched at the base" | | 3 | "They extended a hand toward" | | 4 | "She looked at the shimmer" | | 5 | "It wavered when she tilted" | | 6 | "Her phone's camera screen showed" | | 7 | "Her phone buzzed in her" | | 8 | "She glanced down." | | 9 | "She silenced it and slipped" | | 10 | "Their head tilted—a gesture they'd" | | 11 | "She pulled the Heartstone Pendant" | | 12 | "She let it drop back" | | 13 | "She blinked and found herself" | | 14 | "They shouldn't have been alive." | | 15 | "Their form rippled as they" | | 16 | "They looked around with the" | | 17 | "She could barely hear herself." | | 18 | "They crouched and pressed their" | | 19 | "Their fingers sank in—not into" |
| | ratio | 0.356 | |
| 43.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 75 | | totalSentences | 90 | | matches | | 0 | "The oak standing stones rose" | | 1 | "Rory counted nine of them," | | 2 | "Ferns and bracken pressed against" | | 3 | "Nyx stood half a pace" | | 4 | "Their violet eyes—faintly glowing, two" | | 5 | "they said, their voice threading" | | 6 | "Rory lowered the phone" | | 7 | "She crouched at the base" | | 8 | "The surface was warmer than" | | 9 | "Nyx drifted closer, their boots" | | 10 | "They extended a hand toward" | | 11 | "Nyx lowered their hand" | | 12 | "She looked at the shimmer" | | 13 | "It wavered when she tilted" | | 14 | "Her phone's camera screen showed" | | 15 | "Her phone buzzed in her" | | 16 | "She glanced down." | | 17 | "Yu-Fei's number, no doubt another" | | 18 | "She silenced it and slipped" | | 19 | "Nyx regarded her for a" |
| | ratio | 0.833 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 90 | | matches | (empty) | | ratio | 0 | |
| 42.86% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 50 | | technicalSentenceCount | 7 | | matches | | 0 | "Ferns and bracken pressed against their bases, and between them the grass lay flat in a perfect circle, as though something heavy had rested there for centuries…" | | 1 | "She blinked and found herself in a clearing that swallowed the noise of the park behind it—the distant hum of the A316, the occasional bark of a dog walker's La…" | | 2 | "Not the tentative early blooms of a mild winter or the stubborn weeds that pushed through London pavements, but full, saturated flowers—poppies the colour of ar…" | | 3 | "The air carried something green and faintly metallic, like rain on iron, and underneath it a sweetness that made her tongue ache." | | 4 | "The oaks thickened as she walked, their trunks growing wider, their bark knotted into shapes that caught the moonlight and held it." | | 5 | "They'd gone semi-corporeal without her noticing, their outline blurred, their feet sunk ankle-deep into shadow that pooled beneath them." | | 6 | "From something beneath it—a slow expansion of ripples that radiated from the centre outward, each one brightening as it reached the basin's rim and then fading." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 29 | | tagDensity | 0.207 | | leniency | 0.414 | | rawRatio | 0 | | effectiveRatio | 0 | |