| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 3 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.25% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1335 | | 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) | |
| 13.86% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1335 | | totalAiIsms | 23 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | |
| | highlights | | 0 | "chill" | | 1 | "reminder" | | 2 | "rhythmic" | | 3 | "warmth" | | 4 | "loomed" | | 5 | "sentinels" | | 6 | "silence" | | 7 | "searing" | | 8 | "dancing" | | 9 | "scanned" | | 10 | "echo" | | 11 | "gloom" | | 12 | "aftermath" | | 13 | "pounding" | | 14 | "imposing" | | 15 | "comforting" | | 16 | "etched" | | 17 | "perfect" |
| |
| 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 | 109 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 109 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 109 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 31 | | totalWords | 1323 | | ratio | 0.023 | | matches | | 0 | "Slap. Drag. Slap. Drag." | | 1 | "you’re useless, Rory, you can’t even handle a walk in the woods." | | 2 | "Slap. Drag." | | 3 | "Don't run straight, don't look back, and always, always find the center." | | 4 | "“—Hello?”" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 1318 | | uniqueNames | 10 | | maxNameDensity | 0.83 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 3 | | Park | 2 | | Heartstone | 4 | | Pendant | 1 | | Grove | 5 | | Rory | 11 | | London | 3 | | Cardiff | 1 | | Eva | 1 | | Fae | 1 |
| | persons | | 0 | "Heartstone" | | 1 | "Pendant" | | 2 | "Rory" | | 3 | "Eva" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Grove" | | 3 | "London" | | 4 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 77 | | glossingSentenceCount | 5 | | matches | | 0 | "tasted like copper and old, wet wool" | | 1 | "chill that seemed to seep out of the very ground" | | 2 | "felt like a secondary heartbeat beating" | | 3 | "felt like wading through molasses, her" | | 4 | "looked like parchment pulled over bone" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.268 | | wordCount | 1323 | | matches | | 0 | "not random, but a geometric spiral" | | 1 | "not a voice, but a recording of a sound she had made minutes ago" | | 2 | "not for the stones, but for the space between two smaller, younger trees" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 109 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 32 | | mean | 41.34 | | std | 22.31 | | cv | 0.54 | | sampleLengths | | 0 | 90 | | 1 | 77 | | 2 | 60 | | 3 | 43 | | 4 | 10 | | 5 | 59 | | 6 | 61 | | 7 | 7 | | 8 | 9 | | 9 | 53 | | 10 | 69 | | 11 | 2 | | 12 | 8 | | 13 | 60 | | 14 | 53 | | 15 | 53 | | 16 | 43 | | 17 | 54 | | 18 | 46 | | 19 | 35 | | 20 | 12 | | 21 | 28 | | 22 | 17 | | 23 | 53 | | 24 | 67 | | 25 | 38 | | 26 | 43 | | 27 | 49 | | 28 | 48 | | 29 | 11 | | 30 | 35 | | 31 | 30 |
| |
| 92.39% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 109 | | matches | | 0 | "were arranged" | | 1 | "was warped" | | 2 | "was gone" | | 3 | "was gone" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 10 | | totalVerbs | 222 | | matches | | 0 | "was doing" | | 1 | "was vibrating" | | 2 | "was telling" | | 3 | "was telling" | | 4 | "was searing" | | 5 | "was tracking" | | 6 | "wasn't going" | | 7 | "was going" | | 8 | "were rotating" | | 9 | "was feeding" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 2 | | flaggedSentences | 11 | | totalSentences | 109 | | ratio | 0.101 | | matches | | 0 | "The display light cast a harsh, ghostly glow across her face, highlighting the small, crescent-shaped scar on her left wrist—a jagged reminder of a childhood she sometimes struggled to remember as her own." | | 1 | "But the Heartstone Pendant resting against her sternum was doing more than just pulsing; it was vibrating, a rhythmic, frantic thrum that felt like a secondary heartbeat beating against her skin." | | 2 | "To any casual passerby—not that any would be mad enough to walk this section of Richmond after dark—they were merely gnarled, weathered wood." | | 3 | "The ambient noise of London—the faint hum of distant traffic, the rustle of dry leaves, the occasional cry of a night bird—vanished instantly." | | 4 | "Evan’s voice, a ghost of her past, whispered in the back of her mind—*you’re useless, Rory, you can’t even handle a walk in the woods.* She pushed the memory away, focusing on the tactical silence." | | 5 | "She reached into her pocket, fingers closing around her keys—no weapon, just a jagged piece of metal—and felt the cold sweat prickling at the back of her neck." | | 6 | "Panic was a luxury she couldn't afford; she shifted into the cold, analytical state of mind that had carried her through the aftermath of Cardiff, through the frantic move to London, through the daily crush of delivering food to strangers who never looked her in the eye." | | 7 | "The wildflowers were arranged in a pattern—not random, but a geometric spiral." | | 8 | "Its head—a smooth, featureless surface—tilted." | | 9 | "The air fought her, pulling at her clothes, whispering voices she didn't want to recognize—the frantic, angry shouting of her father, the disappointed sighs of her mother." | | 10 | "The sound of the city hit her like a physical blow—a distant siren, the hum of an airplane, the rhythmic swaying of trees in a real, natural wind." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1337 | | adjectiveStacks | 2 | | stackExamples | | 0 | "small, crescent-shaped scar" | | 1 | "small, crescent-shaped scar" |
| | adverbCount | 44 | | adverbRatio | 0.032909498878085267 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.008975317875841436 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 109 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 109 | | mean | 12.14 | | std | 8.74 | | cv | 0.72 | | sampleLengths | | 0 | 18 | | 1 | 23 | | 2 | 12 | | 3 | 4 | | 4 | 33 | | 5 | 9 | | 6 | 3 | | 7 | 31 | | 8 | 15 | | 9 | 7 | | 10 | 12 | | 11 | 23 | | 12 | 23 | | 13 | 5 | | 14 | 9 | | 15 | 8 | | 16 | 12 | | 17 | 23 | | 18 | 10 | | 19 | 5 | | 20 | 14 | | 21 | 18 | | 22 | 6 | | 23 | 3 | | 24 | 13 | | 25 | 6 | | 26 | 17 | | 27 | 9 | | 28 | 29 | | 29 | 7 | | 30 | 5 | | 31 | 1 | | 32 | 1 | | 33 | 1 | | 34 | 1 | | 35 | 12 | | 36 | 5 | | 37 | 3 | | 38 | 18 | | 39 | 1 | | 40 | 14 | | 41 | 6 | | 42 | 12 | | 43 | 35 | | 44 | 9 | | 45 | 7 | | 46 | 1 | | 47 | 1 | | 48 | 3 | | 49 | 5 |
| |
| 34.40% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 17 | | diversityRatio | 0.27522935779816515 | | totalSentences | 109 | | uniqueOpeners | 30 | |
| 65.36% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 102 | | matches | | 0 | "Just the shifting silhouettes of" | | 1 | "Only then did she pause," |
| | ratio | 0.02 | |
| 39.61% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 46 | | totalSentences | 102 | | matches | | 0 | "She checked her phone for" | | 1 | "She should have turned back" | | 2 | "She knew that." | | 3 | "It was telling her to" | | 4 | "It was telling her that" | | 5 | "She stepped between two of" | | 6 | "She stood in the Grove." | | 7 | "They were the wrong colors:" | | 8 | "It didn't circulate." | | 9 | "It hung in the clearing" | | 10 | "She reached up, gripping the" | | 11 | "It was searing now, a" | | 12 | "It was then that she" | | 13 | "She froze, her heart hammering" | | 14 | "She held her breath, listening." | | 15 | "You’re just jumpy, she told" | | 16 | "Her voice sounded thin, alien," | | 17 | "It was closer." | | 18 | "She reached into her pocket," | | 19 | "she called out" |
| | ratio | 0.451 | |
| 43.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 102 | | matches | | 0 | "The air in Richmond Park" | | 1 | "Rory pulled her jacket tighter," | | 2 | "She checked her phone for" | | 3 | "The display light cast a" | | 4 | "She should have turned back" | | 5 | "She knew that." | | 6 | "The crimson gem under her" | | 7 | "It was telling her to" | | 8 | "It was telling her that" | | 9 | "The ancient oak standing stones" | | 10 | "She stepped between two of" | | 11 | "The sensation was immediate, like" | | 12 | "The ambient noise of London—the" | | 13 | "She stood in the Grove." | | 14 | "They were the wrong colors:" | | 15 | "The air here was too" | | 16 | "It didn't circulate." | | 17 | "It hung in the clearing" | | 18 | "Rory forced her feet to" | | 19 | "Every step felt like wading" |
| | ratio | 0.833 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 102 | | matches | | 0 | "To any casual passerby—not that" | | 1 | "To Rory, they were teeth." | | 2 | "Even in the dead of" | | 3 | "If something was tracking her," |
| | ratio | 0.039 | |
| 9.69% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 59 | | technicalSentenceCount | 11 | | matches | | 0 | "Rory pulled her jacket tighter, the fabric offering little protection against the creeping chill that seemed to seep out of the very ground." | | 1 | "But the Heartstone Pendant resting against her sternum was doing more than just pulsing; it was vibrating, a rhythmic, frantic thrum that felt like a secondary …" | | 2 | "They were the wrong colors: violets that leaned toward black, whites that bled into a bruised, sickly grey." | | 3 | "Every step felt like wading through molasses, her boots sinking too deeply into the strange, springy peat." | | 4 | "It felt as if the trees themselves sucked the sound into their bark, drinking it." | | 5 | "It was a shifting mass of darkness, a hole in the reality of the forest that moved with a sickening, disjointed gait." | | 6 | "Panic was a luxury she couldn't afford; she shifted into the cold, analytical state of mind that had carried her through the aftermath of Cardiff, through the f…" | | 7 | "They were rotating, silent and slow, like the hands of a clock that had forgotten the time." | | 8 | "The air fought her, pulling at her clothes, whispering voices she didn't want to recognize—the frantic, angry shouting of her father, the disappointed sighs of …" | | 9 | "The Grove was feeding on her memories, turning them into a swamp that threatened to hold her down." | | 10 | "Only then did she pause, her chest heaving, the Heartstone pulsing cool and dormant against her palm." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 2 | | matches | | 0 | "she whispered, her voice a sharp blade of defiance" | | 1 | "it mimicked, but the pitch was warped, sliding up and down like a record losing power" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | 0 | "she whispered (whisper)" |
| | dialogueSentences | 3 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 1 | | effectiveRatio | 0.667 | |