| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 19 | | tagDensity | 0.421 | | leniency | 0.842 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 92.88% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1405 | | totalAiIsmAdverbs | 2 | | 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) | |
| 18.15% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1405 | | totalAiIsms | 23 | | found | | | highlights | | 0 | "pulsed" | | 1 | "warmth" | | 2 | "footsteps" | | 3 | "silence" | | 4 | "looming" | | 5 | "sentinels" | | 6 | "perfect" | | 7 | "weight" | | 8 | "charged" | | 9 | "pulse" | | 10 | "echoed" | | 11 | "could feel" | | 12 | "throbbed" | | 13 | "crystallized" | | 14 | "raced" | | 15 | "familiar" |
| |
| 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 | 77 | | matches | (empty) | |
| 12.99% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 7 | | narrationSentences | 77 | | filterMatches | (empty) | | hedgeMatches | | 0 | "seemed to" | | 1 | "tried to" | | 2 | "began to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 88 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 55 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 9 | | totalWords | 1398 | | ratio | 0.006 | | matches | | 0 | "Grove. Midnight. Come alone or don't come at all." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 41 | | wordCount | 1169 | | uniqueNames | 10 | | maxNameDensity | 1.63 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Eva" | | discoveredNames | | Richmond | 3 | | Park | 3 | | Rory | 19 | | Eva | 8 | | Heartstone | 1 | | London | 2 | | Laughter | 1 | | Images | 1 | | Welsh | 2 | | Terror | 1 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Images" | | 3 | "Terror" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" |
| | globalScore | 0.687 | | windowScore | 0.667 | |
| 36.36% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 66 | | glossingSentenceCount | 3 | | matches | | 0 | "symbols that seemed to shift in the uncertain light of her phone" | | 1 | "seemed thicker somehow, more substantial, as if shadows had gained weight and substance" | | 2 | "earth that seemed to pulse with its own rhythm" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.715 | | wordCount | 1398 | | matches | | 0 | "Not malevolent, exactly, but alien in a way" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 88 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 41.12 | | std | 26.54 | | cv | 0.646 | | sampleLengths | | 0 | 66 | | 1 | 66 | | 2 | 75 | | 3 | 60 | | 4 | 75 | | 5 | 10 | | 6 | 13 | | 7 | 51 | | 8 | 7 | | 9 | 8 | | 10 | 57 | | 11 | 10 | | 12 | 70 | | 13 | 3 | | 14 | 40 | | 15 | 18 | | 16 | 29 | | 17 | 40 | | 18 | 27 | | 19 | 19 | | 20 | 52 | | 21 | 61 | | 22 | 100 | | 23 | 7 | | 24 | 69 | | 25 | 16 | | 26 | 62 | | 27 | 40 | | 28 | 94 | | 29 | 31 | | 30 | 51 | | 31 | 32 | | 32 | 25 | | 33 | 14 |
| |
| 96.15% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 77 | | matches | | 0 | "been locked" | | 1 | "been seven" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 180 | | matches | | 0 | "weren't taking" | | 1 | "was definitely circling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 88 | | ratio | 0.068 | | matches | | 0 | "Rory stepped closer to the circle's edge, and the air itself felt different—charged, expectant, alive with possibilities that made her skin crawl." | | 1 | "The night sounds of London—so distant she hadn't consciously registered their absence—vanished entirely." | | 2 | "Then to the right—again, nothing." | | 3 | "\"The debt comes due with the third daughter of the third daughter,\" the voice said, and now Rory could see its owner moving between the trees—tall and impossibly graceful, with features that shifted like water whenever she tried to focus on them." | | 4 | "The flowers seemed to be growing from it, or into it—in the pendant's hellish light, it was impossible to tell which." | | 5 | "The standing stones were behind her, but she could feel that they were just symbols now—the real boundary between worlds had closed the moment she'd stepped into the clearing." |
| |
| 93.44% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1179 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 56 | | adverbRatio | 0.04749787955894826 | | lyAdverbCount | 22 | | lyAdverbRatio | 0.018659881255301103 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 88 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 88 | | mean | 15.89 | | std | 9.23 | | cv | 0.581 | | sampleLengths | | 0 | 22 | | 1 | 22 | | 2 | 22 | | 3 | 4 | | 4 | 18 | | 5 | 1 | | 6 | 22 | | 7 | 14 | | 8 | 7 | | 9 | 19 | | 10 | 29 | | 11 | 17 | | 12 | 10 | | 13 | 15 | | 14 | 15 | | 15 | 16 | | 16 | 14 | | 17 | 14 | | 18 | 20 | | 19 | 21 | | 20 | 20 | | 21 | 10 | | 22 | 9 | | 23 | 4 | | 24 | 15 | | 25 | 14 | | 26 | 22 | | 27 | 4 | | 28 | 3 | | 29 | 8 | | 30 | 6 | | 31 | 13 | | 32 | 23 | | 33 | 15 | | 34 | 5 | | 35 | 5 | | 36 | 17 | | 37 | 17 | | 38 | 36 | | 39 | 3 | | 40 | 10 | | 41 | 16 | | 42 | 14 | | 43 | 12 | | 44 | 6 | | 45 | 11 | | 46 | 18 | | 47 | 22 | | 48 | 5 | | 49 | 13 |
| |
| 61.74% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.4318181818181818 | | totalSentences | 88 | | uniqueOpeners | 38 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 76 | | matches | | 0 | "Just another troubled young woman" | | 1 | "Just her breathing and the" | | 2 | "Then to the right—again, nothing." |
| | ratio | 0.039 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 12 | | totalSentences | 76 | | matches | | 0 | "Her phone's flashlight carved a" | | 1 | "She shouldn't be here." | | 2 | "They didn't know Eva like" | | 3 | "It had been doing that" | | 4 | "Her footsteps crunched through dead" | | 5 | "Her voice sounded thin in" | | 6 | "It seemed thicker somehow, more" | | 7 | "She'd come this far." | | 8 | "She kept her voice steady" | | 9 | "She could feel it becoming" | | 10 | "She'd been seven years old," | | 11 | "She just had to find" |
| | ratio | 0.158 | |
| 65.26% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 60 | | totalSentences | 76 | | matches | | 0 | "The Richmond Park gates had" | | 1 | "The opening was barely wide" | | 2 | "Her phone's flashlight carved a" | | 3 | "She shouldn't be here." | | 4 | "They didn't know Eva like" | | 5 | "The Heartstone pendant beneath her" | | 6 | "It had been doing that" | | 7 | "Rory had thought it was" | | 8 | "Her footsteps crunched through dead" | | 9 | "The silence pressed against her" | | 10 | "The standing stones appeared without" | | 11 | "Rory had never seen anything" | | 12 | "The pendant's warmth intensified, now" | | 13 | "Her voice sounded thin in" | | 14 | "Nothing answered, but something was" | | 15 | "It seemed thicker somehow, more" | | 16 | "Rory stepped closer to the" | | 17 | "She'd come this far." | | 18 | "Eva needed her." | | 19 | "Rory stepped between two of" |
| | ratio | 0.789 | |
| 65.79% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 76 | | matches | | 0 | "Now she wondered if she" |
| | ratio | 0.013 | |
| 16.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 51 | | technicalSentenceCount | 9 | | matches | | 0 | "The Heartstone pendant beneath her coat pulsed with a warmth that had nothing to do with her body heat." | | 1 | "It seemed thicker somehow, more substantial, as if shadows had gained weight and substance." | | 2 | "Rory stepped closer to the circle's edge, and the air itself felt different—charged, expectant, alive with possibilities that made her skin crawl." | | 3 | "The temperature rose several degrees, and the frost beneath her feet dissolved into soft earth that seemed to pulse with its own rhythm." | | 4 | "The light revealed a clearing that extended far beyond what the circle of oaks should have contained, dotted with flowers that had no names and trees whose leav…" | | 5 | "Images flashed through Rory's mind: her grandmother's unnaturally clear eyes on her deathbed, her mother emerging from twisted metal without serious injury, her…" | | 6 | "Among their impossible blooms, Rory could now make out a pale shape that might have been a sleeping person or might have been something else entirely." | | 7 | "Rory's mind raced, cataloging possibilities and escape routes with the cold efficiency that had gotten her through law school despite her reluctance." | | 8 | "Not malevolent, exactly, but alien in a way that made her hindbrain scream warnings about things that wore familiar shapes but lacked familiar souls." |
| |
| 62.50% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 1 | | matches | | 0 | "Rory backed, trying to keep the entire space in view" |
| |
| 44.74% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 2 | | fancyTags | | 0 | "the voice continued (continue)" | | 1 | "the figure continued (continue)" |
| | dialogueSentences | 19 | | tagDensity | 0.211 | | leniency | 0.421 | | rawRatio | 0.5 | | effectiveRatio | 0.211 | |