| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said carefully [carefully]" | | 1 | "Her voice cracked just [just]" |
| | dialogueSentences | 62 | | tagDensity | 0.258 | | leniency | 0.516 | | rawRatio | 0.125 | | effectiveRatio | 0.065 | |
| 63.10% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1355 | | totalAiIsmAdverbs | 10 | | found | | | highlights | | 0 | "suddenly" | | 1 | "very" | | 2 | "perfectly" | | 3 | "carefully" |
| |
| 80.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 74.17% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1355 | | totalAiIsms | 7 | | found | | 0 | | | 1 | | | 2 | | word | "the last thing" | | count | 3 |
| | 3 | | | 4 | |
| | highlights | | 0 | "lurch" | | 1 | "silence" | | 2 | "the last thing" | | 3 | "weight" | | 4 | "tenderness" |
| |
| 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 | 60 | | matches | | |
| 95.24% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 60 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 104 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 66 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 28 | | totalWords | 1362 | | ratio | 0.021 | | matches | | 0 | "please" | | 1 | "fine" | | 2 | "I can't do this with you" | | 3 | "there" | | 4 | "at her" | | 5 | "of course it would be you who came to tell me. Of course it would be you." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 22 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 18 | | wordCount | 971 | | uniqueNames | 11 | | maxNameDensity | 0.41 | | worstName | "Lucien" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 3 | | Ptolemy | 2 | | Moreau | 2 | | Eva | 1 | | Tuesday | 1 | | Brick | 1 | | Lane | 1 | | Bengali | 1 | | Charing | 1 | | Cross | 1 | | Lucien | 4 |
| | persons | | 0 | "Rory" | | 1 | "Ptolemy" | | 2 | "Moreau" | | 3 | "Eva" | | 4 | "Lucien" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Bengali" |
| | globalScore | 1 | | windowScore | 1 | |
| 87.50% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 40 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like — an old university t-shirt w" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1362 | | matches | (empty) | |
| 38.46% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 104 | | matches | | 0 | "do that thing" | | 1 | "chose that moment" | | 2 | "let that settle" | | 3 | "hurt, that he" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 68 | | mean | 20.03 | | std | 23.01 | | cv | 1.149 | | sampleLengths | | 0 | 43 | | 1 | 17 | | 2 | 3 | | 3 | 109 | | 4 | 27 | | 5 | 3 | | 6 | 1 | | 7 | 74 | | 8 | 8 | | 9 | 4 | | 10 | 12 | | 11 | 18 | | 12 | 4 | | 13 | 61 | | 14 | 13 | | 15 | 3 | | 16 | 24 | | 17 | 2 | | 18 | 13 | | 19 | 3 | | 20 | 4 | | 21 | 1 | | 22 | 66 | | 23 | 3 | | 24 | 26 | | 25 | 50 | | 26 | 3 | | 27 | 74 | | 28 | 6 | | 29 | 7 | | 30 | 34 | | 31 | 7 | | 32 | 31 | | 33 | 3 | | 34 | 31 | | 35 | 2 | | 36 | 1 | | 37 | 19 | | 38 | 8 | | 39 | 9 | | 40 | 5 | | 41 | 15 | | 42 | 6 | | 43 | 52 | | 44 | 3 | | 45 | 5 | | 46 | 4 | | 47 | 15 | | 48 | 16 | | 49 | 57 |
| |
| 93.57% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 60 | | matches | | 0 | "been trained" | | 1 | "was dressed" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 156 | | matches | | 0 | "was still holding" | | 1 | "was warming" | | 2 | "were already bleeding" | | 3 | "was watching" | | 4 | "was already reaching" | | 5 | "was being" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 2 | | flaggedSentences | 6 | | totalSentences | 104 | | ratio | 0.058 | | matches | | 0 | "The stairwell light made his platinum hair look almost silver, and the one amber eye caught the lamp while the black one stayed swallowed in shadow, and for a moment Rory felt her whole body do that thing it had been trained not to do anymore — that quiet, traitorous lurch toward him, like a compass needle finding north after a long time lost." | | 1 | "She was aware, suddenly and miserably, of what she looked like — an old university t-shirt with a hole at the hem, hair still damp from the shower, no makeup, a smear of curry sauce on her sleeve from the takeaway bag Eva had brought up an hour ago." | | 2 | "Below them, through the floorboards, the curry house was warming up for the dinner rush; she could hear the thump of the tandoor door, the muffled cadence of a waiter shouting at someone in Bengali." | | 3 | "The amber eye softened; the black one, as always, gave away nothing." | | 4 | "He moved past her, close enough that she caught the scent of his cologne — something dark and woodsmoke, something she'd woken up wearing on her skin once, a long time ago, in a hotel room off Charing Cross that she had decided, the following morning, never to think about again." | | 5 | "She heard it rather than saw it — the slight creak of the chair, the soft weight of a footstep on warped floorboards — and by the time she turned her head he was closer than he should have been, not crowding, just *there*, within the reach of her arm, smelling of woodsmoke and rain." |
| |
| 86.17% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 681 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 38 | | adverbRatio | 0.055800293685756244 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.010279001468428781 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 104 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 104 | | mean | 13.1 | | std | 14.09 | | cv | 1.076 | | sampleLengths | | 0 | 43 | | 1 | 17 | | 2 | 3 | | 3 | 45 | | 4 | 64 | | 5 | 6 | | 6 | 21 | | 7 | 3 | | 8 | 1 | | 9 | 7 | | 10 | 49 | | 11 | 18 | | 12 | 8 | | 13 | 4 | | 14 | 8 | | 15 | 4 | | 16 | 18 | | 17 | 4 | | 18 | 17 | | 19 | 35 | | 20 | 9 | | 21 | 9 | | 22 | 4 | | 23 | 3 | | 24 | 5 | | 25 | 19 | | 26 | 2 | | 27 | 13 | | 28 | 3 | | 29 | 4 | | 30 | 1 | | 31 | 32 | | 32 | 34 | | 33 | 3 | | 34 | 8 | | 35 | 12 | | 36 | 6 | | 37 | 7 | | 38 | 5 | | 39 | 22 | | 40 | 16 | | 41 | 3 | | 42 | 51 | | 43 | 23 | | 44 | 6 | | 45 | 7 | | 46 | 32 | | 47 | 2 | | 48 | 7 | | 49 | 2 |
| |
| 50.96% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.34615384615384615 | | totalSentences | 104 | | uniqueOpeners | 36 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 51 | | matches | | 0 | "Meanwhile he was dressed as" | | 1 | "Of course it would be" |
| | ratio | 0.039 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 51 | | matches | | 0 | "She looked up." | | 1 | "He dropped with a fat" | | 2 | "She didn't move out of" | | 3 | "She was aware, suddenly and" | | 4 | "It wasn't a question." | | 5 | "He didn't move" | | 6 | "he said, in that maddeningly" | | 7 | "He looked at her for" | | 8 | "It was the *please* that" | | 9 | "He negotiated, he insinuated, he" | | 10 | "She stepped aside." | | 11 | "He moved past her, close" | | 12 | "He set the cane against" | | 13 | "He lifted a stack of" | | 14 | "She folded her arms across" | | 15 | "He was watching her now" | | 16 | "She laughed, one short, unlovely" | | 17 | "She looked away." | | 18 | "He had not tried to" | | 19 | "he said carefully" |
| | ratio | 0.647 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 47 | | totalSentences | 51 | | matches | | 0 | "The third deadbolt turned with" | | 1 | "She looked up." | | 2 | "Lucien Moreau stood in the" | | 3 | "The stairwell light made his" | | 4 | "Ptolemy chose that moment to" | | 5 | "He dropped with a fat" | | 6 | "She didn't move out of" | | 7 | "She was aware, suddenly and" | | 8 | "Rory let that settle" | | 9 | "A silence, then, the kind" | | 10 | "The whole stairwell smelled of" | | 11 | "It wasn't a question." | | 12 | "He didn't move" | | 13 | "he said, in that maddeningly" | | 14 | "He looked at her for" | | 15 | "The amber eye softened; the" | | 16 | "It was the *please* that" | | 17 | "Lucien Moreau did not beg." | | 18 | "He negotiated, he insinuated, he" | | 19 | "She stepped aside." |
| | ratio | 0.922 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 51 | | matches | (empty) | | ratio | 0 | |
| 18.63% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 23 | | technicalSentenceCount | 4 | | matches | | 0 | "Lucien Moreau stood in the narrow landing at the top of the stairs, one gloved hand resting on the head of his ivory cane, the other tucked into the pocket of a…" | | 1 | "She heard it rather than saw it — the slight creak of the chair, the soft weight of a footstep on warped floorboards — and by the time she turned her head he wa…" | | 2 | "She looked up at him then, at the mismatched eyes and the impossible composure and the faint, human tightness at the corner of his mouth that told her he had no…" | | 3 | "She turned to the tap, and let the running water cover the sound of her breathing, and thought, with a kind of helpless, furious tenderness: *of course it would…" |
| |
| 93.75% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 16 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, and her voice was steadier than she expected" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 2 | | fancyTags | | 0 | "he observed (observe)" | | 1 | "he agreed (agree)" |
| | dialogueSentences | 62 | | tagDensity | 0.145 | | leniency | 0.29 | | rawRatio | 0.222 | | effectiveRatio | 0.065 | |