| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said slowly [slowly]" |
| | dialogueSentences | 33 | | tagDensity | 0.303 | | leniency | 0.606 | | rawRatio | 0.1 | | effectiveRatio | 0.061 | |
| 90.72% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1078 | | 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) | |
| 44.34% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1078 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "shattered" | | 1 | "fluttered" | | 2 | "echoing" | | 3 | "flickered" | | 4 | "warmth" | | 5 | "scanning" | | 6 | "stomach" | | 7 | "etched" | | 8 | "vibrated" | | 9 | "could feel" |
| |
| 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 | 99 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 99 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 121 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 4 | | markdownWords | 6 | | totalWords | 1069 | | ratio | 0.006 | | matches | | 0 | "kept" | | 1 | "there’s a body" | | 2 | "vibrated" | | 3 | "wrong" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 24 | | wordCount | 826 | | uniqueNames | 4 | | maxNameDensity | 1.33 | | worstName | "Quinn" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Davies" | | discoveredNames | | Harlow | 1 | | Quinn | 11 | | Tube | 1 | | Davies | 11 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Davies" |
| | places | (empty) | | globalScore | 0.834 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 51 | | glossingSentenceCount | 1 | | matches | | 0 | "something between amusement and irritation" |
| |
| 12.91% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.871 | | wordCount | 1069 | | matches | | 0 | "not at the street, not at the buildings, but at the sky" | | 1 | "not at the buildings, but at the sky" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 121 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 48 | | mean | 22.27 | | std | 21.34 | | cv | 0.958 | | sampleLengths | | 0 | 1 | | 1 | 4 | | 2 | 65 | | 3 | 46 | | 4 | 78 | | 5 | 9 | | 6 | 21 | | 7 | 9 | | 8 | 34 | | 9 | 44 | | 10 | 7 | | 11 | 85 | | 12 | 5 | | 13 | 22 | | 14 | 23 | | 15 | 35 | | 16 | 12 | | 17 | 15 | | 18 | 24 | | 19 | 22 | | 20 | 28 | | 21 | 13 | | 22 | 6 | | 23 | 67 | | 24 | 9 | | 25 | 43 | | 26 | 13 | | 27 | 6 | | 28 | 34 | | 29 | 1 | | 30 | 23 | | 31 | 23 | | 32 | 1 | | 33 | 54 | | 34 | 24 | | 35 | 8 | | 36 | 10 | | 37 | 7 | | 38 | 8 | | 39 | 3 | | 40 | 7 | | 41 | 8 | | 42 | 57 | | 43 | 4 | | 44 | 39 | | 45 | 3 | | 46 | 5 | | 47 | 4 |
| |
| 98.17% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 99 | | matches | | 0 | "were splayed" | | 1 | "was frozen" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 158 | | matches | | 0 | "were trying" | | 1 | "was watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 121 | | ratio | 0.066 | | matches | | 0 | "The air smelled of damp concrete and something older—something metallic and sour, like old pennies left in a jar." | | 1 | "She was too busy taking in the scene—the way the victim’s limbs were splayed at unnatural angles, the dark stain seeping into the grout between the tiles, the way the overhead lights flickered like a dying heartbeat." | | 2 | "He gestured to the victim’s wrist, where a watch—expensive, by the look of it—had stopped at 3:17 AM." | | 3 | "But something else, too—a faint hum, like the vibration of a tuning fork pressed against her bones." | | 4 | "And the symbol—it wasn’t just random." | | 5 | "Her fingers brushed against something cold and smooth—a small brass compass, its face etched with strange symbols." | | 6 | "The way the body had felt—*wrong*." | | 7 | "She could feel it—the same hum she’d felt in the station, the same vibration in her bones." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 448 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 11 | | adverbRatio | 0.024553571428571428 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.002232142857142857 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 121 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 121 | | mean | 8.82 | | std | 6.83 | | cv | 0.775 | | sampleLengths | | 0 | 4 | | 1 | 25 | | 2 | 19 | | 3 | 21 | | 4 | 19 | | 5 | 16 | | 6 | 11 | | 7 | 3 | | 8 | 37 | | 9 | 15 | | 10 | 23 | | 11 | 9 | | 12 | 14 | | 13 | 7 | | 14 | 2 | | 15 | 7 | | 16 | 18 | | 17 | 16 | | 18 | 11 | | 19 | 2 | | 20 | 2 | | 21 | 7 | | 22 | 17 | | 23 | 5 | | 24 | 7 | | 25 | 3 | | 26 | 15 | | 27 | 17 | | 28 | 10 | | 29 | 10 | | 30 | 12 | | 31 | 18 | | 32 | 5 | | 33 | 10 | | 34 | 12 | | 35 | 4 | | 36 | 19 | | 37 | 8 | | 38 | 3 | | 39 | 9 | | 40 | 5 | | 41 | 6 | | 42 | 3 | | 43 | 1 | | 44 | 8 | | 45 | 4 | | 46 | 2 | | 47 | 13 | | 48 | 3 | | 49 | 16 |
| |
| 52.07% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.34710743801652894 | | totalSentences | 121 | | uniqueOpeners | 42 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 81 | | matches | | 0 | "Just the cold, unyielding stiffness" | | 1 | "Instead, she stood and walked" | | 2 | "Then she turned to Davies." | | 3 | "Instead, she walked back to" | | 4 | "Then a voice, rough and" | | 5 | "Just waited, her hand resting" |
| | ratio | 0.074 | |
| 61.98% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 81 | | matches | | 0 | "He didn’t look up from" | | 1 | "She was too busy taking" | | 2 | "His face was frozen in" | | 3 | "she asked, crouching beside the" | | 4 | "He gestured to the victim’s" | | 5 | "She pulled her hand back." | | 6 | "She didn’t answer." | | 7 | "It was crude, jagged, like" | | 8 | "she asked, pointing" | | 9 | "She stood, her gaze sweeping" | | 10 | "It was deliberate." | | 11 | "she said slowly" | | 12 | "She’d seen enough in her" | | 13 | "She pulled out her phone," | | 14 | "She didn’t argue." | | 15 | "Her fingers brushed against something" | | 16 | "She pulled it out, turning" | | 17 | "It didn’t point anywhere she" | | 18 | "She was too busy staring" | | 19 | "She’d seen enough in this" |
| | ratio | 0.395 | |
| 34.07% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 81 | | matches | | 0 | "The blood wasn’t fresh." | | 1 | "That was the first thing" | | 2 | "The air smelled of damp" | | 3 | "The crime scene tape fluttered" | | 4 | "Detective Davies called from the" | | 5 | "He didn’t look up from" | | 6 | "Quinn didn’t answer." | | 7 | "She was too busy taking" | | 8 | "The body was male, mid-thirties," | | 9 | "His face was frozen in" | | 10 | "she asked, crouching beside the" | | 11 | "Davies finally looked up, his" | | 12 | "He gestured to the victim’s" | | 13 | "Quinn reached out, her fingers" | | 14 | "She pulled her hand back." | | 15 | "Davies asked, watching her" | | 16 | "She didn’t answer." | | 17 | "The station was old, long" | | 18 | "A symbol, carved into the" | | 19 | "It was crude, jagged, like" |
| | ratio | 0.852 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 81 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 2 | | matches | | 0 | "The crime scene tape fluttered in the stale breeze, its edges frayed as if someone had already been here before them." | | 1 | "The body was male, mid-thirties, dressed in a tailored suit that had seen better days." |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 2 | | matches | | 0 | "Detective Davies called, his voice echoing off the tiled walls" | | 1 | "she said, her voice low" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 33 | | tagDensity | 0.273 | | leniency | 0.545 | | rawRatio | 0 | | effectiveRatio | 0 | |