| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 18 | | tagDensity | 0.222 | | leniency | 0.444 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 88.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1667 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "completely" | | 1 | "really" | | 2 | "slowly" | | 3 | "suddenly" |
| |
| 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) | |
| 55.01% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1667 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "pulse" | | 1 | "silence" | | 2 | "perfect" | | 3 | "warmth" | | 4 | "racing" | | 5 | "whisper" | | 6 | "crystallized" | | 7 | "pulsed" | | 8 | "throbbed" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 143 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 143 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 157 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1656 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 29 | | wordCount | 1583 | | uniqueNames | 11 | | maxNameDensity | 1.2 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Aurora | 1 | | London | 1 | | November | 1 | | Heartstone | 1 | | Isolde | 1 | | Welsh | 1 | | Jennifer | 1 | | Carter | 1 | | Rory | 19 |
| | persons | | 0 | "Aurora" | | 1 | "Isolde" | | 2 | "Jennifer" | | 3 | "Carter" | | 4 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" |
| | globalScore | 0.9 | | windowScore | 0.833 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 81 | | glossingSentenceCount | 5 | | matches | | 0 | "seemed weaker than usual" | | 1 | "smelled like" | | 2 | "felt like anything more than gentle war" | | 3 | "something that seemed to exist in more dimensions than Rory could count" | | 4 | "something between a gasp and a prayer" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1656 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 157 | | matches | | 0 | "understand that whatever" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 68 | | mean | 24.35 | | std | 20.92 | | cv | 0.859 | | sampleLengths | | 0 | 50 | | 1 | 42 | | 2 | 13 | | 3 | 55 | | 4 | 71 | | 5 | 7 | | 6 | 21 | | 7 | 1 | | 8 | 23 | | 9 | 71 | | 10 | 31 | | 11 | 33 | | 12 | 10 | | 13 | 58 | | 14 | 6 | | 15 | 3 | | 16 | 33 | | 17 | 1 | | 18 | 33 | | 19 | 42 | | 20 | 7 | | 21 | 40 | | 22 | 1 | | 23 | 18 | | 24 | 8 | | 25 | 41 | | 26 | 4 | | 27 | 36 | | 28 | 37 | | 29 | 64 | | 30 | 11 | | 31 | 38 | | 32 | 5 | | 33 | 3 | | 34 | 46 | | 35 | 12 | | 36 | 8 | | 37 | 49 | | 38 | 68 | | 39 | 3 | | 40 | 17 | | 41 | 37 | | 42 | 4 | | 43 | 17 | | 44 | 18 | | 45 | 28 | | 46 | 13 | | 47 | 2 | | 48 | 41 | | 49 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 143 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 260 | | matches | | 0 | "was crying" | | 1 | "were shaking" |
| |
| 15.47% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 157 | | ratio | 0.045 | | matches | | 0 | "But the text had been specific—midnight, the grove, come alone—and the number had belonged to someone she'd thought long dead." | | 1 | "The slight catch on \"sorry,\" the way the vowels softened at the edges—all of it exactly as Rory remembered." | | 2 | "The scent of flowers she couldn't name filled her lungs, and beneath it something else—something that reminded her of the way hospitals smelled when they were trying too hard to mask what hospitals really smelled like." | | 3 | "Not words, exactly—more like the memory of words, the impression of sound without the substance." | | 4 | "The kind of silence that shouldn't exist, that couldn't exist, because even in the quietest places there was always something—wind, breath, the pulse of blood in one's own ears." | | 5 | "It stood with its back to her—if it had a back, if the concepts of front and back applied to something that seemed to exist in more dimensions than Rory could count." | | 6 | "Rory didn't know how else to describe it—a sound that wasn't a sound, a vibration that traveled through her chest and into her throat and emerged as something between a gasp and a prayer." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1594 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 61 | | adverbRatio | 0.038268506900878296 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.01066499372647428 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 157 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 157 | | mean | 10.55 | | std | 9.95 | | cv | 0.943 | | sampleLengths | | 0 | 21 | | 1 | 12 | | 2 | 1 | | 3 | 16 | | 4 | 4 | | 5 | 18 | | 6 | 20 | | 7 | 3 | | 8 | 10 | | 9 | 20 | | 10 | 5 | | 11 | 30 | | 12 | 5 | | 13 | 32 | | 14 | 24 | | 15 | 10 | | 16 | 7 | | 17 | 2 | | 18 | 1 | | 19 | 18 | | 20 | 1 | | 21 | 8 | | 22 | 15 | | 23 | 9 | | 24 | 6 | | 25 | 23 | | 26 | 5 | | 27 | 3 | | 28 | 25 | | 29 | 18 | | 30 | 13 | | 31 | 5 | | 32 | 19 | | 33 | 9 | | 34 | 10 | | 35 | 17 | | 36 | 20 | | 37 | 21 | | 38 | 6 | | 39 | 3 | | 40 | 13 | | 41 | 3 | | 42 | 3 | | 43 | 1 | | 44 | 13 | | 45 | 1 | | 46 | 3 | | 47 | 15 | | 48 | 15 | | 49 | 4 |
| |
| 49.04% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.34394904458598724 | | totalSentences | 157 | | uniqueOpeners | 54 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 10 | | totalSentences | 119 | | matches | | 0 | "Just the distant hum of" | | 1 | "Just the memory of her" | | 2 | "Exactly as she'd spent three" | | 3 | "Just the stones." | | 4 | "Just the flowers." | | 5 | "Just the impossible silver light" | | 6 | "Just a gap in perception," | | 7 | "Exactly her mother's." | | 8 | "Just was suddenly nearer, that" | | 9 | "Just a fraction." |
| | ratio | 0.084 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 119 | | matches | | 0 | "She paused, one hand still" | | 1 | "She shouldn't be here." | | 2 | "Her mother's number." | | 3 | "Her mother's phone, supposedly buried" | | 4 | "She'd grown accustomed to its" | | 5 | "Her voice came out smaller" | | 6 | "She'd been to the grove" | | 7 | "She reached the edge of" | | 8 | "She shook it." | | 9 | "She shoved the useless phone" | | 10 | "She hadn't called anyone since" | | 11 | "She spun, but there was" | | 12 | "She'd walked half an hour" | | 13 | "It came from behind her." | | 14 | "She turned again." | | 15 | "She reached the nearest stone" | | 16 | "She jerked her hand back." | | 17 | "She opened her mouth to" | | 18 | "She hadn't seen it arrive." | | 19 | "It stood with its back" |
| | ratio | 0.218 | |
| 98.66% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 86 | | totalSentences | 119 | | matches | | 0 | "The iron gates of Richmond" | | 1 | "She paused, one hand still" | | 2 | "She shouldn't be here." | | 3 | "The park closed at dusk," | | 4 | "Her mother's number." | | 5 | "Her mother's phone, supposedly buried" | | 6 | "Rory's breath misted in front" | | 7 | "She'd grown accustomed to its" | | 8 | "The path wound through darkness." | | 9 | "Streetlamps didn't reach this far" | | 10 | "Rory kept her phone's torch" | | 11 | "A branch snapped somewhere to" | | 12 | "The torchlight caught nothing but" | | 13 | "Her voice came out smaller" | | 14 | "The word hung in the" | | 15 | "Rory swallowed too, forced her" | | 16 | "The standing stones weren't far" | | 17 | "She'd been to the grove" | | 18 | "Tonight there was no invitation." | | 19 | "the message had said, using" |
| | ratio | 0.723 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 119 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 58 | | technicalSentenceCount | 12 | | matches | | 0 | "She'd grown accustomed to its subtle pulse, the way it seemed to respond to things she couldn't see, but tonight it thrummed with an urgency that made her skin …" | | 1 | "Rory kept her phone's torch pointed at her feet, watching each step, trying not to think about how the beam seemed weaker than usual." | | 2 | "The grove lay before her, bathed in that sourceless silver light that marked the boundary between worlds." | | 3 | "Rory stood at the threshold, her torch flickering once, twice, then dying completely." | | 4 | "Grounded her in something real, something profane and human in this place that was neither." | | 5 | "The scent of flowers she couldn't name filled her lungs, and beneath it something else—something that reminded her of the way hospitals smelled when they were t…" | | 6 | "Rory approached the standing stones slowly, her boots crushing flowers that should have crunched but made no sound at all." | | 7 | "The kind of silence that shouldn't exist, that couldn't exist, because even in the quietest places there was always something—wind, breath, the pulse of blood i…" | | 8 | "But the whispers returned, coiling around Rory's ankles like smoke, crawling up her legs, her spine, settling behind her eyes where they pulsed in time with the…" | | 9 | "But it came from everywhere at once, from the stones and the flowers and the impossible light, from inside Rory's own skull, from the pendant that had gone so h…" | | 10 | "Might have been something else entirely, something that had no human equivalent and shouldn't have been attempting one." | | 11 | "The crimson gem blazed through her shirt, and for one impossible moment she could see it through the fabric, through her own flesh, a light that illuminated the…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 94.44% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | 0 | "the message had (have)" |
| | dialogueSentences | 18 | | tagDensity | 0.056 | | leniency | 0.111 | | rawRatio | 1 | | effectiveRatio | 0.111 | |