| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 11 | | tagDensity | 0.545 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.40% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1086 | | 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) | |
| 44.75% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1086 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "could feel" | | 1 | "pulsed" | | 2 | "throb" | | 3 | "warmth" | | 4 | "silence" | | 5 | "weight" | | 6 | "trembled" | | 7 | "pulse" | | 8 | "footsteps" | | 9 | "quickened" |
| |
| 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 | 97 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 97 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 102 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 5 | | totalWords | 1091 | | ratio | 0.005 | | matches | | 0 | "You came when we called." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 13 | | wordCount | 1049 | | uniqueNames | 7 | | maxNameDensity | 0.48 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Heartstone" | | discoveredNames | | Come | 1 | | Heartstone | 3 | | Rory | 5 | | Richmond | 1 | | November | 1 | | London | 1 | | Eva | 1 |
| | persons | | 0 | "Come" | | 1 | "Heartstone" | | 2 | "Rory" | | 3 | "Eva" |
| | places | | 0 | "Richmond" | | 1 | "November" | | 2 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 55 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.917 | | wordCount | 1091 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 102 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 24.8 | | std | 22.05 | | cv | 0.889 | | sampleLengths | | 0 | 13 | | 1 | 34 | | 2 | 41 | | 3 | 42 | | 4 | 4 | | 5 | 59 | | 6 | 17 | | 7 | 2 | | 8 | 12 | | 9 | 37 | | 10 | 13 | | 11 | 27 | | 12 | 25 | | 13 | 3 | | 14 | 71 | | 15 | 12 | | 16 | 3 | | 17 | 28 | | 18 | 41 | | 19 | 2 | | 20 | 28 | | 21 | 6 | | 22 | 18 | | 23 | 44 | | 24 | 13 | | 25 | 47 | | 26 | 6 | | 27 | 1 | | 28 | 75 | | 29 | 9 | | 30 | 4 | | 31 | 86 | | 32 | 4 | | 33 | 54 | | 34 | 54 | | 35 | 12 | | 36 | 18 | | 37 | 3 | | 38 | 49 | | 39 | 26 | | 40 | 6 | | 41 | 4 | | 42 | 33 | | 43 | 5 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 97 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 186 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 102 | | ratio | 0.069 | | matches | | 0 | "Ancient oaks, gnarled into shapes that shouldn't hold, marking a boundary she couldn't see but could feel — a pressure behind her teeth, like the air before a storm." | | 1 | "Somewhere off to her left, water trickled over stone — a brook she couldn't see." | | 2 | "She caught it at the edge of her vision — a foxglove folding its petals tight, the way they did at dusk, except all the others stayed open." | | 3 | "Not words — a melody, wordless and high and sweet, a woman's voice humming a tune that tugged at something behind Rory's ribs." | | 4 | "And under all of it, faint, patient — footsteps." | | 5 | "Not warm — hot, a brand against her skin, and she clutched it through her shirt and gasped." | | 6 | "And whatever stood out there in the meadow with her — it knew she'd seen." |
| |
| 94.77% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1044 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 48 | | adverbRatio | 0.04597701149425287 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.0038314176245210726 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 102 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 102 | | mean | 10.7 | | std | 10.34 | | cv | 0.967 | | sampleLengths | | 0 | 13 | | 1 | 2 | | 2 | 4 | | 3 | 28 | | 4 | 41 | | 5 | 9 | | 6 | 29 | | 7 | 4 | | 8 | 4 | | 9 | 13 | | 10 | 3 | | 11 | 4 | | 12 | 18 | | 13 | 21 | | 14 | 9 | | 15 | 8 | | 16 | 2 | | 17 | 12 | | 18 | 9 | | 19 | 4 | | 20 | 15 | | 21 | 9 | | 22 | 3 | | 23 | 10 | | 24 | 4 | | 25 | 6 | | 26 | 17 | | 27 | 18 | | 28 | 7 | | 29 | 3 | | 30 | 28 | | 31 | 6 | | 32 | 2 | | 33 | 35 | | 34 | 9 | | 35 | 3 | | 36 | 3 | | 37 | 28 | | 38 | 6 | | 39 | 9 | | 40 | 26 | | 41 | 2 | | 42 | 4 | | 43 | 6 | | 44 | 4 | | 45 | 3 | | 46 | 11 | | 47 | 6 | | 48 | 12 | | 49 | 6 |
| |
| 70.26% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.4803921568627451 | | totalSentences | 102 | | uniqueOpeners | 49 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 82 | | matches | | 0 | "Somewhere off to her left," | | 1 | "Just like that." | | 2 | "Then the one beside it" | | 3 | "Always at the periphery, always" | | 4 | "All facing her." |
| | ratio | 0.061 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 82 | | matches | | 0 | "She stepped between them." | | 1 | "They had no business blooming" | | 2 | "Her voice came out smaller" | | 3 | "She turned toward the sound," | | 4 | "She stood very still." | | 5 | "It had texture, weight, the" | | 6 | "She tried the name though" | | 7 | "She caught it at the" | | 8 | "She backed toward the centre," | | 9 | "It shouldn't have, but it" | | 10 | "She didn't want to follow" | | 11 | "Her heart slammed against the" | | 12 | "she said, and hated how" | | 13 | "She searched for the standing" | | 14 | "She found four." | | 15 | "She couldn't tell which gap" | | 16 | "They all looked the same." | | 17 | "They all looked wrong." | | 18 | "It came from the treeline" | | 19 | "It was beautiful." |
| | ratio | 0.293 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 53 | | totalSentences | 82 | | matches | | 0 | "The text on her phone" | | 1 | "The standing stones found her" | | 2 | "She stepped between them." | | 3 | "The grove opened up." | | 4 | "Wildflowers blanketed the clearing, pale" | | 5 | "Foxgloves in November." | | 6 | "Bluebells beside late roses." | | 7 | "They had no business blooming" | | 8 | "Moonlight pooled in the centre," | | 9 | "Her voice came out smaller" | | 10 | "The Heartstone pulsed once, a" | | 11 | "Rory pulled her jacket tighter" | | 12 | "Grass brushed her shins." | | 13 | "She turned toward the sound," | | 14 | "She stood very still." | | 15 | "The silence that followed wasn't" | | 16 | "It had texture, weight, the" | | 17 | "She tried the name though" | | 18 | "A flower closed." | | 19 | "She caught it at the" |
| | ratio | 0.646 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 82 | | matches | | 0 | "As though someone had clamped" | | 1 | "To her right, where before" | | 2 | "As if the whole clearing" |
| | ratio | 0.037 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 8 | | matches | | 0 | "So she'd taken the last train to Richmond, climbed the fence where the park gates had long since locked for the night, and walked until the manicured paths gave…" | | 1 | "Ancient oaks, gnarled into shapes that shouldn't hold, marking a boundary she couldn't see but could feel — a pressure behind her teeth, like the air before a s…" | | 2 | "Moonlight pooled in the centre, too bright, too white, as if the moon hung closer here than it did in London." | | 3 | "As though someone had clamped a hand over its mouth." | | 4 | "A ripple moving through the meadow, blossoms snapping shut in a line that curved around the clearing's edge, encircling her, a slow tightening noose of darkness…" | | 5 | "Not words — a melody, wordless and high and sweet, a woman's voice humming a tune that tugged at something behind Rory's ribs." | | 6 | "Always at the periphery, always behind whatever stone or shadow she wasn't looking at, a presence that moved when she moved and stopped when she stopped, learni…" | | 7 | "All so still that her eye had read them as more standing stones, more crooked oaks, until the pendant's glow caught the wet shine of eyes set in faces that were…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 2 | | fancyTags | | 0 | "she breathed (breathe)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 11 | | tagDensity | 0.273 | | leniency | 0.545 | | rawRatio | 0.667 | | effectiveRatio | 0.364 | |