| 88.89% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said aloud [aloud]" |
| | dialogueSentences | 10 | | tagDensity | 0.9 | | leniency | 1 | | rawRatio | 0.111 | | effectiveRatio | 0.111 | |
| 89.07% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1372 | | totalAiIsmAdverbs | 3 | | 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) | |
| 67.20% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1372 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "pulse" | | 1 | "throb" | | 2 | "weight" | | 3 | "whisper" | | 4 | "stomach" | | 5 | "silence" | | 6 | "predictable" |
| |
| 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 | 73 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 73 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 78 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 55 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1363 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 1248 | | uniqueNames | 17 | | maxNameDensity | 0.88 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Grove | 5 | | London | 4 | | Golden | 3 | | Empress | 3 | | Eva | 2 | | Evan | 3 | | Cardiff | 4 | | Welsh | 2 | | January | 1 | | University | 1 | | Richmond | 2 | | Park | 2 | | Rory | 11 | | Hel | 1 | | Jennifer | 1 | | Tuesday | 1 | | Knock | 3 |
| | persons | | 0 | "Grove" | | 1 | "Eva" | | 2 | "Evan" | | 3 | "January" | | 4 | "Rory" | | 5 | "Hel" | | 6 | "Jennifer" |
| | places | | 0 | "London" | | 1 | "Golden" | | 2 | "Cardiff" | | 3 | "Richmond" | | 4 | "Park" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 44 | | glossingSentenceCount | 4 | | matches | | 0 | "looked like foxgloves but bled grey inste" | | 1 | "smelled like a barrister’s silence" | | 2 | "felt like oak bark, and she pulled her" | | 3 | "sounded like bone" | | 4 | "tasted like Cardiff rain on a Tuesday, li" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 8 | | per1kWords | 5.869 | | wordCount | 1363 | | matches | | 0 | "not alone, not because of what she saw, but because of what she heard: a knocking, slow, deliberate, fro" | | 1 | "not with noise, but with scent" | | 2 | "not red but something closer to exposed vein" | | 3 | "not with fear, but with the weight of knowing" | | 4 | "not alone, that she had never been alone, and that the pendant was not a gift but a hook, a crimson lure set into the silver chain to pull her" | | 5 | "not a gift but a hook, a crimson lure set into the silver chain to pull her" | | 6 | "Not onto the earth, but into the black tear at the portal’s edge, into the mouth of" | | 7 | "not to London cold, but to something" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 78 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 36.84 | | std | 30.09 | | cv | 0.817 | | sampleLengths | | 0 | 69 | | 1 | 107 | | 2 | 6 | | 3 | 131 | | 4 | 48 | | 5 | 5 | | 6 | 46 | | 7 | 1 | | 8 | 1 | | 9 | 1 | | 10 | 5 | | 11 | 16 | | 12 | 9 | | 13 | 39 | | 14 | 55 | | 15 | 45 | | 16 | 3 | | 17 | 52 | | 18 | 52 | | 19 | 44 | | 20 | 9 | | 21 | 49 | | 22 | 35 | | 23 | 59 | | 24 | 25 | | 25 | 92 | | 26 | 31 | | 27 | 59 | | 28 | 44 | | 29 | 3 | | 30 | 40 | | 31 | 3 | | 32 | 36 | | 33 | 58 | | 34 | 34 | | 35 | 35 | | 36 | 16 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 73 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 197 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 3 | | flaggedSentences | 8 | | totalSentences | 78 | | ratio | 0.103 | | matches | | 0 | "Her phone—clutched in her left hand, the hand with the small crescent scar from her childhood, the one from climbing a gate at seven—showed 3:14, the same minute she had stepped onto her bike behind the restaurant." | | 1 | "The silver chain bit into her collarbone, the crimson gem—thumbnail-sized, smooth, warm—pressed flat against her sternum." | | 2 | "Only the knock, closer now, and a whisper of movement at the very edge of her vision—something that wore her own straight shoulder-length black hair, that moved with her posture, that stepped backward when she stepped forward." | | 3 | "Time in the Grove was not her time; an hour inside could be minutes or days outside, and she suspected now that the clock on her screen was lying to her, just as the grove lied about its location in Richmond Park." | | 4 | "The movement was not right; it folded, like paper creased by a wet thumb, and Rory felt her stomach twist with a certainty that she had not felt since she had looked at Evan’s reflection in a darkened kitchen." | | 5 | "No sound came out, but the wildflowers screamed—not with noise, but with scent—copper, old paper, the exact smell of the brown paper that had wrapped the pendant, the smell that had made her flee Cardiff and London and everything that smelled like a barrister’s silence." | | 6 | "It was not a scream, because things in the Grove did not scream; they simply existed, and Rory understood now that she was not alone, that she had never been alone, and that the pendant was not a gift but a hook, a crimson lure set into the silver chain to pull her exactly here." | | 7 | "The air returned—not to London cold, but to something that tasted like Cardiff rain on a Tuesday, like a flat above a bar where the coffee was always cold and the delivery route was always predictable." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 112 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 3 | | adverbRatio | 0.026785714285714284 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.008928571428571428 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 78 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 78 | | mean | 17.47 | | std | 16.16 | | cv | 0.925 | | sampleLengths | | 0 | 19 | | 1 | 13 | | 2 | 37 | | 3 | 46 | | 4 | 8 | | 5 | 37 | | 6 | 16 | | 7 | 6 | | 8 | 16 | | 9 | 25 | | 10 | 36 | | 11 | 43 | | 12 | 11 | | 13 | 29 | | 14 | 7 | | 15 | 12 | | 16 | 5 | | 17 | 7 | | 18 | 39 | | 19 | 1 | | 20 | 1 | | 21 | 1 | | 22 | 5 | | 23 | 3 | | 24 | 4 | | 25 | 1 | | 26 | 4 | | 27 | 4 | | 28 | 5 | | 29 | 4 | | 30 | 2 | | 31 | 37 | | 32 | 2 | | 33 | 53 | | 34 | 25 | | 35 | 20 | | 36 | 3 | | 37 | 10 | | 38 | 31 | | 39 | 4 | | 40 | 7 | | 41 | 4 | | 42 | 1 | | 43 | 5 | | 44 | 42 | | 45 | 5 | | 46 | 39 | | 47 | 6 | | 48 | 3 | | 49 | 4 |
| |
| 37.61% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.3333333333333333 | | totalSentences | 78 | | uniqueOpeners | 26 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 65 | | matches | | 0 | "Just oak and shadow." | | 1 | "Only the knock, closer now," | | 2 | "Of course it was dead." | | 3 | "Then it was her mother," | | 4 | "Then it was Eva, childhood" | | 5 | "Then it was Evan, the" |
| | ratio | 0.092 | |
| 78.46% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 23 | | totalSentences | 65 | | matches | | 0 | "She had left Golden Empress" | | 1 | "Her phone—clutched in her left" | | 2 | "She came because of the" | | 3 | "It had begun to pulse" | | 4 | "She wore it now because" | | 5 | "She did not know if" | | 6 | "She only knew she could" | | 7 | "They did not fade as" | | 8 | "They followed her with the" | | 9 | "she said aloud" | | 10 | "It bounced thin, without walls" | | 11 | "She turned her head." | | 12 | "She spoke to the dark." | | 13 | "Her hand went to the" | | 14 | "she said, her voice steady," | | 15 | "It was a suggestion of" | | 16 | "It did not speak." | | 17 | "It only watched, and the" | | 18 | "She pulled back." | | 19 | "she said, and her voice" |
| | ratio | 0.354 | |
| 67.69% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 51 | | totalSentences | 65 | | matches | | 0 | "The oak standing stones of" | | 1 | "Rory pushed through, her trainers" | | 2 | "The air turned syrupy immediately," | | 3 | "She had left Golden Empress" | | 4 | "Her phone—clutched in her left" | | 5 | "She came because of the" | | 6 | "The silver chain bit into" | | 7 | "It had begun to pulse" | | 8 | "She wore it now because" | | 9 | "She did not know if" | | 10 | "She only knew she could" | | 11 | "Wildflowers bloomed in black soil" | | 12 | "They did not fade as" | | 13 | "They followed her with the" | | 14 | "she said aloud" | | 15 | "The sound of her voice" | | 16 | "It bounced thin, without walls" | | 17 | "Rory’s breath hitched." | | 18 | "She turned her head." | | 19 | "She spoke to the dark." |
| | ratio | 0.785 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 65 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 13 | | matches | | 0 | "Rory pushed through, her trainers crunching dead leaves that snapped like small bones." | | 1 | "She had left Golden Empress an hour ago, still wearing her grey delivery apron folded in her bag, her black hair tied back with a rubber band from the morning s…" | | 2 | "It had begun to pulse three blocks back, near the park entrance, a faint, insistent throb that matched her heartbeat only when she felt fear." | | 3 | "She wore it now because an unknown benefactor had left it wrapped in brown paper on her delivery stool at Golden Empress, with no note, no name, just the weight…" | | 4 | "She did not know if the gift came from Eva, her childhood friend who had told her to leave London and the abusive ex named Evan, or from someone older, someone …" | | 5 | "Wildflowers bloomed in black soil despite the January freeze, brushing her ankles with violet and white clover and something that looked like foxgloves but bled…" | | 6 | "Only the knock, closer now, and a whisper of movement at the very edge of her vision—something that wore her own straight shoulder-length black hair, that moved…" | | 7 | "No sound came out, but the wildflowers screamed—not with noise, but with scent—copper, old paper, the exact smell of the brown paper that had wrapped the pendan…" | | 8 | "The ground beneath her trainers erupted in grey growth, roots thick and twitching that humped toward her ankles like fingers, like the hands of someone who had …" | | 9 | "Rory’s black hair snagged on something that felt like oak bark, and she pulled her left wrist free, the crescent scar burning, and she ripped the chain from her…" | | 10 | "Not onto the earth, but into the black tear at the portal’s edge, into the mouth of the Grove, and the pendant blazed one final time, crimson fading to black, a…" | | 11 | "The air returned—not to London cold, but to something that tasted like Cardiff rain on a Tuesday, like a flat above a bar where the coffee was always cold and t…" | | 12 | "She walked out of Richmond Park, not running, because running was for people who did not think, and Rory was cool-headed, intelligent, quick out-of-the-box, and…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 10 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |