| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 1 | | adverbTags | | 0 | "the edges frayed just [just]" |
| | dialogueSentences | 27 | | tagDensity | 0.296 | | leniency | 0.593 | | rawRatio | 0.125 | | effectiveRatio | 0.074 | |
| 88.69% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1326 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "precisely" | | 1 | "slightly" | | 2 | "carefully" |
| |
| 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) | |
| 17.04% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1326 | | totalAiIsms | 22 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | |
| | highlights | | 0 | "silence" | | 1 | "pristine" | | 2 | "intensity" | | 3 | "chill" | | 4 | "familiar" | | 5 | "gloom" | | 6 | "flickered" | | 7 | "eyebrow" | | 8 | "navigated" | | 9 | "stomach" | | 10 | "unreadable" | | 11 | "encounter" | | 12 | "tension" | | 13 | "trembled" | | 14 | "charged" | | 15 | "constructed" | | 16 | "whisper" | | 17 | "fleeting" | | 18 | "flicker" | | 19 | "measured" |
| |
| 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 | 90 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 90 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 107 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1319 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 20 | | wordCount | 1070 | | uniqueNames | 10 | | maxNameDensity | 0.65 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Eva" | | discoveredNames | | London | 1 | | Brick | 1 | | Lane | 1 | | Eva | 3 | | Rory | 7 | | Moreau | 1 | | French | 1 | | Lucien | 3 | | Covent | 1 | | Garden | 1 |
| | persons | | 0 | "Eva" | | 1 | "Rory" | | 2 | "Moreau" | | 3 | "Lucien" |
| | places | | 0 | "London" | | 1 | "Brick" | | 2 | "Lane" | | 3 | "Covent" | | 4 | "Garden" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 48.37% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.516 | | wordCount | 1319 | | matches | | 0 | "no one but" | | 1 | "no choice but" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 107 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 32 | | mean | 41.22 | | std | 21.3 | | cv | 0.517 | | sampleLengths | | 0 | 76 | | 1 | 70 | | 2 | 75 | | 3 | 19 | | 4 | 80 | | 5 | 33 | | 6 | 28 | | 7 | 19 | | 8 | 63 | | 9 | 64 | | 10 | 41 | | 11 | 35 | | 12 | 55 | | 13 | 7 | | 14 | 39 | | 15 | 19 | | 16 | 54 | | 17 | 37 | | 18 | 33 | | 19 | 49 | | 20 | 13 | | 21 | 78 | | 22 | 14 | | 23 | 44 | | 24 | 39 | | 25 | 53 | | 26 | 4 | | 27 | 47 | | 28 | 50 | | 29 | 14 | | 30 | 34 | | 31 | 33 |
| |
| 89.67% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 90 | | matches | | 0 | "was gone" | | 1 | "was gone" | | 2 | "was threatened" | | 3 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 157 | | matches | (empty) | |
| 36.05% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 107 | | ratio | 0.037 | | matches | | 0 | "One, two, three—a precise rhythm against the heavy wood." | | 1 | "It was all there, hanging between them in the dusty light—the ghost of whispered conversations in shadowed alleyways, the lingering memory of his hand on her wrist, the sharp, ugly words of their last encounter." | | 2 | "A hasty, charcoal sketch of a sigil she had never seen before—a coiled serpent eating its own tail, but with a crown of thorns piercing its skull." | | 3 | "In his place was the man she remembered—the one whose carefully constructed world was threatened, the one who only came to her when he was out of options." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1077 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 27 | | adverbRatio | 0.025069637883008356 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.008356545961002786 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 107 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 107 | | mean | 12.33 | | std | 7.05 | | cv | 0.572 | | sampleLengths | | 0 | 13 | | 1 | 9 | | 2 | 14 | | 3 | 18 | | 4 | 22 | | 5 | 18 | | 6 | 13 | | 7 | 14 | | 8 | 9 | | 9 | 3 | | 10 | 6 | | 11 | 7 | | 12 | 15 | | 13 | 10 | | 14 | 3 | | 15 | 1 | | 16 | 17 | | 17 | 10 | | 18 | 6 | | 19 | 3 | | 20 | 3 | | 21 | 7 | | 22 | 15 | | 23 | 4 | | 24 | 16 | | 25 | 14 | | 26 | 18 | | 27 | 12 | | 28 | 20 | | 29 | 10 | | 30 | 14 | | 31 | 9 | | 32 | 14 | | 33 | 14 | | 34 | 4 | | 35 | 9 | | 36 | 6 | | 37 | 10 | | 38 | 6 | | 39 | 26 | | 40 | 21 | | 41 | 14 | | 42 | 21 | | 43 | 8 | | 44 | 21 | | 45 | 14 | | 46 | 16 | | 47 | 11 | | 48 | 14 | | 49 | 16 |
| |
| 52.65% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.35514018691588783 | | totalSentences | 107 | | uniqueOpeners | 38 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 89 | | matches | | 0 | "Just the faint scent of" | | 1 | "Then the second." | | 2 | "Then he lifted his head," | | 3 | "Just a simple, torn sheet" | | 4 | "Then it was gone." |
| | ratio | 0.056 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 49 | | totalSentences | 89 | | matches | | 0 | "He gave a low growl," | | 1 | "She pushed back from the" | | 2 | "Her heart hammered a frantic" | | 3 | "Her phone went straight to" | | 4 | "She moved silently, weaving through" | | 5 | "Her hand found the cold" | | 6 | "She paused, listening." | | 7 | "She drew a steadying breath" | | 8 | "She opened the door a" | | 9 | "His charcoal suit was immaculate," | | 10 | "He held an ivory-handled cane," | | 11 | "He didn't seem to belong" | | 12 | "They held no surprise, only" | | 13 | "His voice was a low" | | 14 | "It slid over her full" | | 15 | "Her fingers tightened on the" | | 16 | "His lips curved in the" | | 17 | "It didn’t reach those mismatched" | | 18 | "He took a step forward," | | 19 | "He followed, bringing the chill" |
| | ratio | 0.551 | |
| 38.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 75 | | totalSentences | 89 | | matches | | 0 | "The sharp knock came like" | | 1 | "Rory froze, her hand hovering" | | 2 | "Dust motes danced in the" | | 3 | "Ptolemy, a marmalade tabby of" | | 4 | "He gave a low growl," | | 5 | "She pushed back from the" | | 6 | "Her heart hammered a frantic" | | 7 | "Eva was gone." | | 8 | "Her phone went straight to" | | 9 | "She moved silently, weaving through" | | 10 | "Her hand found the cold" | | 11 | "She paused, listening." | | 12 | "She drew a steadying breath" | | 13 | "The sound was a deafening" | | 14 | "A jarring scrape." | | 15 | "She opened the door a" | | 16 | "Lucien Moreau stood on the" | | 17 | "His charcoal suit was immaculate," | | 18 | "Platinum blond hair, slicked back" | | 19 | "He held an ivory-handled cane," |
| | ratio | 0.843 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 89 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 0 | | matches | (empty) | |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 2 | | matches | | 0 | "He moved, his sleeve brushing her arm" | | 1 | "he clarified, his voice a low vibration in the charged silence" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 1 | | fancyTags | | 0 | "he clarified (clarify)" |
| | dialogueSentences | 27 | | tagDensity | 0.074 | | leniency | 0.148 | | rawRatio | 0.5 | | effectiveRatio | 0.074 | |