| 86.79% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 3 | | adverbTags | | 0 | "Sharma pulled back [back]" | | 1 | "Eva gestured vaguely [vaguely]" | | 2 | "Quinn said slowly [slowly]" |
| | dialogueSentences | 53 | | tagDensity | 0.283 | | leniency | 0.566 | | rawRatio | 0.2 | | effectiveRatio | 0.113 | |
| 84.88% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1323 | | totalAiIsmAdverbs | 4 | | found | | 0 | | | 1 | | | 2 | | | 3 | | adverb | "barely above a whisper" | | count | 1 |
|
| | highlights | | 0 | "slowly" | | 1 | "perfectly" | | 2 | "gently" | | 3 | "barely above a whisper" |
| |
| 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) | |
| 69.77% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1323 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "stomach" | | 1 | "footsteps" | | 2 | "echoing" | | 3 | "database" | | 4 | "etched" | | 5 | "weight" | | 6 | "whisper" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "blood ran cold" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 89 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 89 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 127 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1316 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 19.79% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 768 | | uniqueNames | 8 | | maxNameDensity | 2.6 | | worstName | "Quinn" | | maxWindowNameDensity | 4 | | worstWindowName | "Quinn" | | discoveredNames | | Harlow | 1 | | Quinn | 20 | | Camden | 1 | | Victorian | 1 | | Tube | 1 | | Dr | 1 | | Sharma | 7 | | Eva | 11 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Camden" | | 3 | "Dr" | | 4 | "Sharma" | | 5 | "Eva" |
| | places | | | globalScore | 0.198 | | windowScore | 0.333 | |
| 60.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 2 | | matches | | 0 | "quite place" | | 1 | "quite see but felt nonetheless" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1316 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 127 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 57 | | mean | 23.09 | | std | 16.67 | | cv | 0.722 | | sampleLengths | | 0 | 56 | | 1 | 32 | | 2 | 3 | | 3 | 36 | | 4 | 47 | | 5 | 5 | | 6 | 47 | | 7 | 3 | | 8 | 13 | | 9 | 47 | | 10 | 13 | | 11 | 20 | | 12 | 18 | | 13 | 31 | | 14 | 20 | | 15 | 6 | | 16 | 55 | | 17 | 13 | | 18 | 30 | | 19 | 30 | | 20 | 2 | | 21 | 22 | | 22 | 4 | | 23 | 18 | | 24 | 34 | | 25 | 2 | | 26 | 26 | | 27 | 22 | | 28 | 24 | | 29 | 3 | | 30 | 33 | | 31 | 26 | | 32 | 47 | | 33 | 3 | | 34 | 54 | | 35 | 2 | | 36 | 37 | | 37 | 23 | | 38 | 26 | | 39 | 5 | | 40 | 55 | | 41 | 5 | | 42 | 17 | | 43 | 61 | | 44 | 13 | | 45 | 1 | | 46 | 10 | | 47 | 14 | | 48 | 19 | | 49 | 17 |
| |
| 89.49% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 89 | | matches | | 0 | "been sealed" | | 1 | "been discovered" | | 2 | "been carved" | | 3 | "was etched" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 142 | | matches | | 0 | "was telling" | | 1 | "was trying" |
| |
| 7.87% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 127 | | ratio | 0.047 | | matches | | 0 | "The emergency lighting the forensics team had strung up cast long, jaundiced shadows across walls covered in Victorian tilework—faded advertisements for tonics and tobaccos promising cures and comforts long since obsolete." | | 1 | "A figure in white coveralls straightened up from beside a makeshift examination table—Dr." | | 2 | "She had seen violence in all its forms—knives, bullets, fists, even a strangulation once with piano wire." | | 3 | "The casing was etched with symbols Quinn recognized from the wall behind them—protective sigils, now that she looked closer." | | 4 | "The craftsmanship was extraordinary—not mass-produced, not machine-made." | | 5 | "There it was—a small mark just below the base of the skull." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 779 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 28 | | adverbRatio | 0.03594351732991014 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.010269576379974325 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 127 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 127 | | mean | 10.36 | | std | 7.95 | | cv | 0.767 | | sampleLengths | | 0 | 9 | | 1 | 16 | | 2 | 31 | | 3 | 10 | | 4 | 6 | | 5 | 16 | | 6 | 3 | | 7 | 9 | | 8 | 13 | | 9 | 14 | | 10 | 14 | | 11 | 5 | | 12 | 18 | | 13 | 3 | | 14 | 7 | | 15 | 5 | | 16 | 22 | | 17 | 19 | | 18 | 2 | | 19 | 2 | | 20 | 2 | | 21 | 3 | | 22 | 13 | | 23 | 8 | | 24 | 2 | | 25 | 9 | | 26 | 10 | | 27 | 18 | | 28 | 13 | | 29 | 6 | | 30 | 2 | | 31 | 3 | | 32 | 5 | | 33 | 4 | | 34 | 18 | | 35 | 22 | | 36 | 9 | | 37 | 20 | | 38 | 3 | | 39 | 3 | | 40 | 6 | | 41 | 42 | | 42 | 7 | | 43 | 6 | | 44 | 7 | | 45 | 4 | | 46 | 17 | | 47 | 5 | | 48 | 4 | | 49 | 12 |
| |
| 64.30% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.4330708661417323 | | totalSentences | 127 | | uniqueOpeners | 55 | |
| 43.29% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 77 | | matches | | 0 | "Perfectly circular, about the size" |
| | ratio | 0.013 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 10 | | totalSentences | 77 | | matches | | 0 | "She followed the voice toward" | | 1 | "They weren't graffiti." | | 2 | "She pressed two fingers against" | | 3 | "She had seen violence in" | | 4 | "Her voice carried the slight" | | 5 | "It wasn't a drug deal" | | 6 | "It wasn't anything she had" | | 7 | "She looked back at the" | | 8 | "She turned back to Sharma." | | 9 | "She touched it gently." |
| | ratio | 0.13 | |
| 18.44% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 68 | | totalSentences | 77 | | matches | | 0 | "The stairwell smelled of damp" | | 1 | "Detective Harlow Quinn descended into" | | 2 | "The emergency lighting the forensics" | | 3 | "The abandoned Tube station had" | | 4 | "Quinn had learned years ago" | | 5 | "She followed the voice toward" | | 6 | "A figure in white coveralls" | | 7 | "Priya Sharma, the night shift" | | 8 | "The body had been discovered" | | 9 | "That was the official version." | | 10 | "Quinn glanced at the far" | | 11 | "They weren't graffiti." | | 12 | "The lines were too deliberate," | | 13 | "Sharma pulled back the sheet," | | 14 | "The skin had taken on" | | 15 | "Quinn circled the table, taking" | | 16 | "A watch that cost more" | | 17 | "Hands that had never done" | | 18 | "Quinn crouched, examining the victim's" | | 19 | "Quinn stood, brushing dust from" |
| | ratio | 0.883 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 77 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 0 | | matches | (empty) | |
| 91.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 1 | | matches | | 0 | "Eva said, her voice barely above a whisper" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 53 | | tagDensity | 0.094 | | leniency | 0.189 | | rawRatio | 0.2 | | effectiveRatio | 0.038 | |