| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said aloud [aloud]" | | 1 | "Every rational cell in her body was telling her to turn around [around]" |
| | dialogueSentences | 5 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0.4 | | effectiveRatio | 0.4 | |
| 92.32% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1953 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "really" | | 1 | "slowly" | | 2 | "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) | |
| 48.80% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1953 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "mechanical" | | 1 | "pulse" | | 2 | "silence" | | 3 | "charged" | | 4 | "pulsed" | | 5 | "scanning" | | 6 | "echo" | | 7 | "rhythmic" | | 8 | "footsteps" | | 9 | "could feel" | | 10 | "lurch" | | 11 | "measured" |
| |
| 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 | 1 | | narrationSentences | 163 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 163 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 165 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1974 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 1932 | | uniqueNames | 10 | | maxNameDensity | 0.36 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 4 | | Park | 4 | | Pembroke | 1 | | Lodge | 1 | | Tuesday | 1 | | November | 3 | | Rory | 7 | | Aurora | 1 | | Carter | 1 | | Come | 3 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Pembroke" | | 3 | "Come" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 91 | | glossingSentenceCount | 1 | | matches | | 0 | "murmuring that seemed to come from everywhere and nowhere" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 7 | | per1kWords | 3.546 | | wordCount | 1974 | | matches | | 0 | "not Richmond Park's usual venerable specimens but something older, their trunks so broad" | | 1 | "Not temperature, exactly, but texture" | | 2 | "not an oak but something she couldn't name, with pale bark" | | 3 | "Not metaphorically — physically, a gentle but insistent tug toward the pale tree at the center of the grov" | | 4 | "not as a sudden shock but as a slow accumulation, a pressure building behind her stern" | | 5 | "Not the crimson glow of the pendant but something colder, bluer, the color of lightning" | | 6 | "not enough to choke but enough" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 165 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 46 | | mean | 42.91 | | std | 30.47 | | cv | 0.71 | | sampleLengths | | 0 | 17 | | 1 | 114 | | 2 | 67 | | 3 | 64 | | 4 | 97 | | 5 | 42 | | 6 | 14 | | 7 | 12 | | 8 | 67 | | 9 | 82 | | 10 | 67 | | 11 | 22 | | 12 | 46 | | 13 | 63 | | 14 | 5 | | 15 | 8 | | 16 | 63 | | 17 | 9 | | 18 | 23 | | 19 | 56 | | 20 | 76 | | 21 | 5 | | 22 | 74 | | 23 | 47 | | 24 | 47 | | 25 | 4 | | 26 | 54 | | 27 | 13 | | 28 | 65 | | 29 | 84 | | 30 | 16 | | 31 | 84 | | 32 | 86 | | 33 | 4 | | 34 | 73 | | 35 | 82 | | 36 | 20 | | 37 | 3 | | 38 | 12 | | 39 | 24 | | 40 | 18 | | 41 | 49 | | 42 | 8 | | 43 | 46 | | 44 | 31 | | 45 | 11 |
| |
| 96.65% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 163 | | matches | | 0 | "been scooped" | | 1 | "been given" | | 2 | "been sent" | | 3 | "been called" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 15 | | totalVerbs | 296 | | matches | | 0 | "was going" | | 1 | "were rearranging" | | 2 | "was beginning" | | 3 | "was pulling" | | 4 | "were coming" | | 5 | "were responding" | | 6 | "was telling" | | 7 | "wasn't whispering" | | 8 | "was breathing" | | 9 | "was breathing" | | 10 | "was blazing" | | 11 | "were moving" | | 12 | "was stroking" | | 13 | "was choosing" | | 14 | "was saying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 21 | | semicolonCount | 0 | | flaggedSentences | 20 | | totalSentences | 165 | | ratio | 0.121 | | matches | | 0 | "The directions had come on a folded slip of paper tucked into an envelope with the pendant — no return address, no signature, just her name written in a hand so precise it looked mechanical." | | 1 | "Walking through Richmond Park after dark on a Tuesday in November, following directions that shouldn't have made sense but somehow did — turn left at the fallen oak, follow the stream until it bends twice, look for the stones." | | 2 | "The oaks were enormous — not Richmond Park's usual venerable specimens but something older, their trunks so broad that three people couldn't have linked arms around them." | | 3 | "Wildflowers, everywhere — small white blooms she didn't recognize and violet something-or-others pushing up through the grass in clusters, impossibly alive for November." | | 4 | "It tasted the way the air tastes just before a thunderstorm, metallic and charged, except there were no clouds overhead — just that laced canopy and the fragments of sky visible through the gaps, starless and deep." | | 5 | "At the center of the grove stood a single tree — not an oak but something she couldn't name, with pale bark and dark leaves that didn't rustle even when a breeze passed through the clearing." | | 6 | "Not just quiet — absent." | | 7 | "The standing stones were still visible at the edge — she could see the gap she'd entered through, the moonlit grass of the park beyond." | | 8 | "Not metaphorically — physically, a gentle but insistent tug toward the pale tree at the center of the grove, the way a magnet tugs toward iron." | | 9 | "It was the sound that language makes when it's too far away to distinguish words — the rhythm and cadence of speech without its content, a soft murmuring that seemed to come from everywhere and nowhere." | | 10 | "\"Hello?\" Her voice sounded strange in the thick air — flattened, stripped of echo, as if the grove swallowed sound." | | 11 | "It was the wrongness of the place — the flowers that shouldn't bloom, the silence that shouldn't exist, the air that tasted of something she couldn't name." | | 12 | "Not in the wind — there was no wind." | | 13 | "She could feel it now — a faint expansion and contraction of the air itself, the canopy overhead shifting almost imperceptibly with each exhale, as if the clearing were inside a lung." | | 14 | "Not its branches — the trunk itself, curving toward her with a groan of wood that was the first real sound she'd heard since entering." | | 15 | "Sweet and thick and wrong — the smell of flowers rotting in water." | | 16 | "The flowers at her ankles rustled against her jeans, and she felt the brush of petals against the small crescent scar on her left wrist where her sleeve had ridden up — a touch so gentle and so deliberate that her skin crawled with a horror that had nothing to do with pain." | | 17 | "The blue light from the hollow trunk was brighter now, and she could see inside it — not far, just a meter or two, and there was nothing there." | | 18 | "The whispering and the breathing and the flowers and the pull — they were all extensions of a single presence, something vast and patient and old, something that had been waiting for her." | | 19 | "And in the silence that followed — a silence so complete it roared in her ears — something inside the hollow spoke her name." |
| |
| 83.83% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 171 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 10 | | adverbRatio | 0.05847953216374269 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.011695906432748537 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 165 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 165 | | mean | 11.96 | | std | 11.13 | | cv | 0.93 | | sampleLengths | | 0 | 17 | | 1 | 32 | | 2 | 2 | | 3 | 2 | | 4 | 35 | | 5 | 4 | | 6 | 2 | | 7 | 5 | | 8 | 5 | | 9 | 22 | | 10 | 5 | | 11 | 8 | | 12 | 6 | | 13 | 8 | | 14 | 37 | | 15 | 2 | | 16 | 6 | | 17 | 4 | | 18 | 39 | | 19 | 21 | | 20 | 6 | | 21 | 29 | | 22 | 27 | | 23 | 35 | | 24 | 3 | | 25 | 23 | | 26 | 5 | | 27 | 11 | | 28 | 12 | | 29 | 2 | | 30 | 12 | | 31 | 3 | | 32 | 5 | | 33 | 3 | | 34 | 1 | | 35 | 37 | | 36 | 18 | | 37 | 7 | | 38 | 27 | | 39 | 36 | | 40 | 12 | | 41 | 6 | | 42 | 2 | | 43 | 5 | | 44 | 16 | | 45 | 5 | | 46 | 4 | | 47 | 29 | | 48 | 6 | | 49 | 3 |
| |
| 37.27% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 21 | | diversityRatio | 0.2787878787878788 | | totalSentences | 165 | | uniqueOpeners | 46 | |
| 90.09% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 148 | | matches | | 0 | "Then she took another step," | | 1 | "All speaking at once in" | | 2 | "Then the whispering changed." | | 3 | "Just that cold blue glow" |
| | ratio | 0.027 | |
| 84.86% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 50 | | totalSentences | 148 | | matches | | 0 | "She'd laughed at it then." | | 1 | "She'd almost thrown it away." | | 2 | "She'd held it up to" | | 3 | "Their bark was silver in" | | 4 | "She crouched and touched one." | | 5 | "she said aloud, because the" | | 6 | "She stepped between two of" | | 7 | "It was thicker." | | 8 | "It tasted the way the" | | 9 | "She could hear her own" | | 10 | "Her own heartbeat." | | 11 | "She turned slowly, scanning the" | | 12 | "She hadn't lost her exit." | | 13 | "She was fine." | | 14 | "She lifted it over her" | | 15 | "It was pulling." | | 16 | "She started walking toward it." | | 17 | "It wasn't language." | | 18 | "It was the sound that" | | 19 | "She stood perfectly still, holding" |
| | ratio | 0.338 | |
| 88.38% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 110 | | totalSentences | 148 | | matches | | 0 | "The standing stones rose from" | | 1 | "Rory had entered Richmond Park" | | 2 | "The directions had come on" | | 3 | "She'd laughed at it then." | | 4 | "A mysterious package with a" | | 5 | "She'd almost thrown it away." | | 6 | "She'd held it up to" | | 7 | "Each landmark had appeared exactly" | | 8 | "The stones were the last" | | 9 | "The oaks were enormous —" | | 10 | "Their bark was silver in" | | 11 | "Wildflowers, everywhere — small white" | | 12 | "She crouched and touched one." | | 13 | "The petals were silky and" | | 14 | "she said aloud, because the" | | 15 | "She stepped between two of" | | 16 | "The air changed." | | 17 | "It was thicker." | | 18 | "It tasted the way the" | | 19 | "The pendant against her sternum" |
| | ratio | 0.743 | |
| 33.78% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 148 | | matches | | | ratio | 0.007 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 62 | | technicalSentenceCount | 15 | | matches | | 0 | "Rory had entered Richmond Park through the Pembroke Lodge gate at half past eleven, cutting across the grass in the particular unhurried stride of someone who k…" | | 1 | "Walking through Richmond Park after dark on a Tuesday in November, following directions that shouldn't have made sense but somehow did — turn left at the fallen…" | | 2 | "The grass was short and soft, almost carpet-like, and the wildflowers grew thicker here, forming patterns that might have been random and might have been someth…" | | 3 | "At the center of the grove stood a single tree — not an oak but something she couldn't name, with pale bark and dark leaves that didn't rustle even when a breez…" | | 4 | "It was the sound that language makes when it's too far away to distinguish words — the rhythm and cadence of speech without its content, a soft murmuring that s…" | | 5 | "It was the wrongness of the place — the flowers that shouldn't bloom, the silence that shouldn't exist, the air that tasted of something she couldn't name." | | 6 | "And now the whispering, and the way it synced to her footsteps, as if it were responding to her presence." | | 7 | "The crimson glow had intensified, and the stone was hot enough now that she could feel it through the silver chain, a steady pulse of heat that matched her own …" | | 8 | "She could feel it now — a faint expansion and contraction of the air itself, the canopy overhead shifting almost imperceptibly with each exhale, as if the clear…" | | 9 | "The tug toward the tree had become a pull, steady and inexorable, and she realized her feet were moving without her permission, carrying her forward in small me…" | | 10 | "The flowers at her ankles rustled against her jeans, and she felt the brush of petals against the small crescent scar on her left wrist where her sleeve had rid…" | | 11 | "The nothing was the kind of nothing that existed because something was choosing not to be seen, and Rory understood with sudden absolute clarity that she was no…" | | 12 | "The whispering and the breathing and the flowers and the pull — they were all extensions of a single presence, something vast and patient and old, something tha…" | | 13 | "A name that fit the shape of her the way a key fits a lock, and hearing it cracked something open inside her chest that she hadn't known was sealed." | | 14 | "Rory stood alone in the clearing, breathing hard, her heart hammering against her ribs." |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 1 | | matches | | 0 | "she said aloud, because the silence was beginning to feel deliberate" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | 0 | "Every rational cell in her body was telling her to turn around (be tell turn)" |
| | dialogueSentences | 5 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0.333 | | effectiveRatio | 0.333 | |