| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said quietly [quietly]" |
| | dialogueSentences | 158 | | tagDensity | 0.108 | | leniency | 0.215 | | rawRatio | 0.059 | | effectiveRatio | 0.013 | |
| 81.98% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2220 | | totalAiIsmAdverbs | 8 | | found | | | highlights | | 0 | "very" | | 1 | "sharply" | | 2 | "perfectly" | | 3 | "carefully" | | 4 | "softly" |
| |
| 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) | |
| 66.22% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2220 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "pulse" | | 1 | "quickened" | | 2 | "flicked" | | 3 | "silence" | | 4 | "stomach" | | 5 | "measured" | | 6 | "familiar" | | 7 | "weight" | | 8 | "velvet" | | 9 | "intensity" | | 10 | "whisper" | | 11 | "wavered" |
| |
| 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 | 189 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 189 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 330 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2217 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 47 | | unquotedAttributions | 1 | | matches | | 0 | "Behind the closed door, Eva swore softly." |
| |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 114 | | wordCount | 1507 | | uniqueNames | 15 | | maxNameDensity | 2.99 | | worstName | "Aurora" | | maxWindowNameDensity | 6.5 | | worstWindowName | "Eva" | | discoveredNames | | Eva | 39 | | Golden | 1 | | Empress | 1 | | Aurora | 45 | | Silas | 1 | | Frenchman | 1 | | Lucien | 15 | | London | 2 | | Evan | 1 | | Brick | 1 | | Lane | 1 | | Moreau | 1 | | Marseille | 1 | | Go | 1 | | Ptolemy | 3 |
| | persons | | 0 | "Eva" | | 1 | "Empress" | | 2 | "Aurora" | | 3 | "Silas" | | 4 | "Lucien" | | 5 | "Evan" | | 6 | "Moreau" | | 7 | "Ptolemy" |
| | places | | 0 | "Golden" | | 1 | "London" | | 2 | "Brick" | | 3 | "Lane" | | 4 | "Marseille" |
| | globalScore | 0.007 | | windowScore | 0 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 105 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like a man standing at the edge of" | | 1 | "not quite touching her mouth" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.451 | | wordCount | 2217 | | matches | | 0 | "not much, but the familiar weight steadied her" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 330 | | matches | | 0 | "learned that escape" | | 1 | "kissed that wrist" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 228 | | mean | 9.72 | | std | 12.25 | | cv | 1.26 | | sampleLengths | | 0 | 16 | | 1 | 4 | | 2 | 60 | | 3 | 4 | | 4 | 4 | | 5 | 4 | | 6 | 1 | | 7 | 44 | | 8 | 5 | | 9 | 3 | | 10 | 4 | | 11 | 2 | | 12 | 26 | | 13 | 9 | | 14 | 21 | | 15 | 36 | | 16 | 4 | | 17 | 2 | | 18 | 4 | | 19 | 1 | | 20 | 2 | | 21 | 52 | | 22 | 8 | | 23 | 4 | | 24 | 6 | | 25 | 7 | | 26 | 6 | | 27 | 29 | | 28 | 16 | | 29 | 6 | | 30 | 4 | | 31 | 6 | | 32 | 9 | | 33 | 4 | | 34 | 5 | | 35 | 3 | | 36 | 7 | | 37 | 3 | | 38 | 36 | | 39 | 13 | | 40 | 1 | | 41 | 3 | | 42 | 2 | | 43 | 9 | | 44 | 1 | | 45 | 4 | | 46 | 2 | | 47 | 7 | | 48 | 3 | | 49 | 3 |
| |
| 92.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 7 | | totalSentences | 189 | | matches | | 0 | "being pulled" | | 1 | "was buried" | | 2 | "were drawn" | | 3 | "been pulled" | | 4 | "been seventeen" | | 5 | "told" | | 6 | "been disturbed" | | 7 | "been torn" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 273 | | matches | (empty) | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 3 | | totalSentences | 330 | | ratio | 0.009 | | matches | | 0 | "For one heartbeat, the old Eva surfaced—the girl who had once stolen Aurora’s shoes at a party, who could not resist a stupid joke even while furious." | | 1 | "He smelled faintly of rain, smoke, and something darker—cedar, perhaps, or the expensive cologne she remembered from the nights when his hands had been gentler than his words." | | 2 | "Instead, the old ache rose first—the knowledge that he had come all this way, crossed the wet city, stood at Eva’s door at two in the morning, because of her." |
| |
| 99.14% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1513 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 62 | | adverbRatio | 0.040978189028420355 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.010575016523463317 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 330 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 330 | | mean | 6.72 | | std | 5.53 | | cv | 0.823 | | sampleLengths | | 0 | 16 | | 1 | 4 | | 2 | 13 | | 3 | 21 | | 4 | 7 | | 5 | 4 | | 6 | 15 | | 7 | 4 | | 8 | 3 | | 9 | 1 | | 10 | 4 | | 11 | 1 | | 12 | 11 | | 13 | 5 | | 14 | 8 | | 15 | 6 | | 16 | 14 | | 17 | 5 | | 18 | 3 | | 19 | 4 | | 20 | 2 | | 21 | 5 | | 22 | 11 | | 23 | 10 | | 24 | 9 | | 25 | 21 | | 26 | 3 | | 27 | 27 | | 28 | 6 | | 29 | 4 | | 30 | 2 | | 31 | 4 | | 32 | 1 | | 33 | 2 | | 34 | 3 | | 35 | 14 | | 36 | 10 | | 37 | 25 | | 38 | 8 | | 39 | 4 | | 40 | 2 | | 41 | 2 | | 42 | 2 | | 43 | 7 | | 44 | 6 | | 45 | 6 | | 46 | 5 | | 47 | 5 | | 48 | 13 | | 49 | 16 |
| |
| 44.24% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 19 | | diversityRatio | 0.23030303030303031 | | totalSentences | 330 | | uniqueOpeners | 76 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 7 | | totalSentences | 169 | | matches | | 0 | "Then the shutters came down" | | 1 | "Somewhere on the street, a" | | 2 | "Sometimes it meant carrying the" | | 3 | "Once, Eva had kissed that" | | 4 | "Instead, the old ache rose" | | 5 | "Then he lifted his free" | | 6 | "Somewhere below, the curry house" |
| | ratio | 0.041 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 35 | | totalSentences | 169 | | matches | | 0 | "She had not planned to" | | 1 | "She could walk back to" | | 2 | "He’s going to come to" | | 3 | "She had not told Lucien." | | 4 | "She had not told anyone." | | 5 | "She had told herself she" | | 6 | "She had not told herself" | | 7 | "It was small." | | 8 | "She looked thinner than Aurora" | | 9 | "Her brown hair had been" | | 10 | "She wore an oversized jumper" | | 11 | "Her straight black hair clung" | | 12 | "Her expression changed." | | 13 | "They had been seventeen, crammed" | | 14 | "It was not much, but" | | 15 | "His voice slid through the" | | 16 | "It kicked once, hard enough" | | 17 | "She crossed the flat." | | 18 | "She pulled free and opened" | | 19 | "His platinum hair remained perfectly" |
| | ratio | 0.207 | |
| 42.84% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 141 | | totalSentences | 169 | | matches | | 0 | "The door opened three inches," | | 1 | "Aurora stood on the landing" | | 2 | "Water had darkened the shoulders" | | 3 | "She had not planned to" | | 4 | "This had been more like" | | 5 | "Eva’s eye narrowed." | | 6 | "The answer landed with the" | | 7 | "Aurora glanced past the gap." | | 8 | "Books leaned in precarious towers" | | 9 | "Scrolls spilled from a wicker" | | 10 | "Ptolemy’s striped face appeared between" | | 11 | "Aurora shifted the paper bag." | | 12 | "The smell of ginger, chilli," | | 13 | "Eva’s mouth tightened." | | 14 | "Aurora could have." | | 15 | "The landing smelled of damp" | | 16 | "She could walk back to" | | 17 | "He’s going to come to" | | 18 | "Aurora had arrived within the" | | 19 | "She had not told Lucien." |
| | ratio | 0.834 | |
| 29.59% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 169 | | matches | | 0 | "Because he had looked afraid." |
| | ratio | 0.006 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 54 | | technicalSentenceCount | 2 | | matches | | 0 | "For one heartbeat, the old Eva surfaced—the girl who had once stolen Aurora’s shoes at a party, who could not resist a stupid joke even while furious." | | 1 | "She wore an oversized jumper and socks with tiny yellow ducks on them, which would have been funny if she did not look as though she had been awake for three da…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 17 | | fancyCount | 2 | | fancyTags | | 0 | "Eva continued (continue)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 158 | | tagDensity | 0.108 | | leniency | 0.215 | | rawRatio | 0.118 | | effectiveRatio | 0.025 | |