| 78.57% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 3 | | adverbTags | | 0 | "he said pleasantly [pleasantly]" | | 1 | "She turned back [back]" | | 2 | "he said finally [finally]" |
| | dialogueSentences | 42 | | tagDensity | 0.405 | | leniency | 0.81 | | rawRatio | 0.176 | | effectiveRatio | 0.143 | |
| 48.85% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1173 | | totalAiIsmAdverbs | 12 | | found | | 0 | | | 1 | | | 2 | | adverb | "deliberately" | | count | 2 |
| | 3 | | | 4 | |
| | highlights | | 0 | "very" | | 1 | "slightly" | | 2 | "deliberately" | | 3 | "slowly" | | 4 | "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) | |
| 91.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1173 | | totalAiIsms | 2 | | found | | | highlights | | |
| 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 | 76 | | matches | (empty) | |
| 86.47% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 76 | | filterMatches | (empty) | | hedgeMatches | | 0 | "started to" | | 1 | "managed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 101 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 1183 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 92.29% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 953 | | uniqueNames | 9 | | maxNameDensity | 1.15 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 11 | | Ptolemy | 3 | | Moreau | 1 | | Carter | 1 | | Lucien | 9 | | Eva | 4 | | February | 1 | | Brick | 1 | | Lane | 1 |
| | persons | | 0 | "Rory" | | 1 | "Ptolemy" | | 2 | "Moreau" | | 3 | "Carter" | | 4 | "Lucien" | | 5 | "Eva" |
| | places | | 0 | "February" | | 1 | "Brick" | | 2 | "Lane" |
| | globalScore | 0.923 | | windowScore | 1 | |
| 43.62% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like composure and was actually so" | | 1 | "sounded like it had cost him something" |
| |
| 30.94% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.691 | | wordCount | 1183 | | matches | | 0 | "not Rory, not Carter, but *Aurora*" | | 1 | "not Carter, but *Aurora*" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 101 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 57 | | mean | 20.75 | | std | 20.72 | | cv | 0.998 | | sampleLengths | | 0 | 41 | | 1 | 17 | | 2 | 74 | | 3 | 6 | | 4 | 16 | | 5 | 5 | | 6 | 2 | | 7 | 5 | | 8 | 59 | | 9 | 9 | | 10 | 10 | | 11 | 39 | | 12 | 8 | | 13 | 58 | | 14 | 79 | | 15 | 23 | | 16 | 9 | | 17 | 33 | | 18 | 5 | | 19 | 9 | | 20 | 4 | | 21 | 49 | | 22 | 5 | | 23 | 50 | | 24 | 7 | | 25 | 4 | | 26 | 4 | | 27 | 55 | | 28 | 8 | | 29 | 8 | | 30 | 31 | | 31 | 6 | | 32 | 10 | | 33 | 65 | | 34 | 12 | | 35 | 24 | | 36 | 7 | | 37 | 4 | | 38 | 4 | | 39 | 30 | | 40 | 59 | | 41 | 12 | | 42 | 3 | | 43 | 1 | | 44 | 6 | | 45 | 8 | | 46 | 10 | | 47 | 20 | | 48 | 7 | | 49 | 44 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 76 | | matches | (empty) | |
| 2.76% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 169 | | matches | | 0 | "was being" | | 1 | "was working" | | 2 | "was standing" | | 3 | "were facing was watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 101 | | ratio | 0.089 | | matches | | 0 | "His mismatched eyes — one amber, burning like a lit candle, one black as something deeper than night — moved from her face to the cat to the tea and then back to her face." | | 1 | "He simply said her name — not Rory, not Carter, but *Aurora* — in that low, careful way of his, the way he only did when he was being serious, and the door stopped moving." | | 2 | "Rory looked at Lucien for a moment — at the shadows under those impossible eyes, at the faint tension around his mouth that his expression was working very hard not to show — and stepped back from the door." | | 3 | "Rory closed the three deadbolts behind him — habit, Eva's insistence, six months of muscle memory — and turned to find him surveying the flat with the quiet attentiveness he gave to everything." | | 4 | "She'd understood that about him from the beginning, which was part of why what had happened between them had been — well." | | 5 | "His expression hadn't shifted exactly, but something had moved through it, the way a current moved through deep water — invisible from the surface but present." | | 6 | "She heard him move — two steps, three — and then he was standing beside her at the counter, close enough that she could smell the cedar and something darker underneath it that she had never been able to name, had stopped trying to name sometime in February when naming it had started to feel dangerous." | | 7 | "Outside, Brick Lane moved through its usual evening noise — the clatter and spice smell rising from the curry house below, a cab horn somewhere in the distance, the city doing what the city did." | | 8 | "And after a beat, Lucien reached past her — carefully, deliberately, the way he did everything — and pulled down the second mug." |
| |
| 85.83% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 961 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 54 | | adverbRatio | 0.05619146722164412 | | lyAdverbCount | 18 | | lyAdverbRatio | 0.018730489073881373 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 101 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 101 | | mean | 11.71 | | std | 11.1 | | cv | 0.948 | | sampleLengths | | 0 | 41 | | 1 | 8 | | 2 | 9 | | 3 | 5 | | 4 | 10 | | 5 | 24 | | 6 | 35 | | 7 | 6 | | 8 | 9 | | 9 | 3 | | 10 | 4 | | 11 | 5 | | 12 | 2 | | 13 | 5 | | 14 | 6 | | 15 | 18 | | 16 | 35 | | 17 | 3 | | 18 | 6 | | 19 | 9 | | 20 | 1 | | 21 | 39 | | 22 | 8 | | 23 | 22 | | 24 | 8 | | 25 | 11 | | 26 | 2 | | 27 | 15 | | 28 | 33 | | 29 | 3 | | 30 | 10 | | 31 | 33 | | 32 | 23 | | 33 | 9 | | 34 | 24 | | 35 | 9 | | 36 | 5 | | 37 | 7 | | 38 | 2 | | 39 | 4 | | 40 | 4 | | 41 | 19 | | 42 | 22 | | 43 | 4 | | 44 | 5 | | 45 | 13 | | 46 | 33 | | 47 | 4 | | 48 | 7 | | 49 | 4 |
| |
| 38.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 18 | | diversityRatio | 0.33663366336633666 | | totalSentences | 101 | | uniqueOpeners | 34 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 38 | | totalSentences | 63 | | matches | | 0 | "His mismatched eyes — one" | | 1 | "he said pleasantly" | | 2 | "It was awful." | | 3 | "She drank it anyway." | | 4 | "She started to close the" | | 5 | "He didn't move, didn't step" | | 6 | "He simply said her name" | | 7 | "She hated that." | | 8 | "She hated it quite a" | | 9 | "He took that for the" | | 10 | "He crossed the threshold and" | | 11 | "It wasn't a supernatural thing," | | 12 | "It was simply that he" | | 13 | "She moved past him into" | | 14 | "She looked at him over" | | 15 | "It was, she knew." | | 16 | "She'd understood that about him" | | 17 | "He had moved to the" | | 18 | "He looked at the scrolls" | | 19 | "He didn't touch anything." |
| | ratio | 0.603 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 59 | | totalSentences | 63 | | matches | | 0 | "The third deadbolt gave a" | | 1 | "Lucien Moreau looked exactly as" | | 2 | "That was somehow the most" | | 3 | "Charcoal suit without a wrinkle." | | 4 | "Platinum hair slicked back without" | | 5 | "The ivory-handled cane resting loose" | | 6 | "His mismatched eyes — one" | | 7 | "he said pleasantly" | | 8 | "Rory took a long sip" | | 9 | "It was awful." | | 10 | "She drank it anyway." | | 11 | "She started to close the" | | 12 | "He didn't move, didn't step" | | 13 | "He simply said her name" | | 14 | "She hated that." | | 15 | "She hated it quite a" | | 16 | "Ptolemy butted his head against" | | 17 | "Rory looked at Lucien for" | | 18 | "He took that for the" | | 19 | "He crossed the threshold and" |
| | ratio | 0.937 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 27 | | technicalSentenceCount | 1 | | matches | | 0 | "The ivory-handled cane resting loose in his left hand, tipped against the landing floor as though he had all the time in the world." |
| |
| 95.59% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 1 | | matches | | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 42 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0.083 | | effectiveRatio | 0.048 | |