| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 2 | | adverbTags | | 0 | "Lucien said quietly [quietly]" | | 1 | "His voice broke just [just]" |
| | dialogueSentences | 44 | | tagDensity | 0.386 | | leniency | 0.773 | | rawRatio | 0.118 | | effectiveRatio | 0.091 | |
| 85.11% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1679 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "utterly" | | 1 | "carefully" | | 2 | "precisely" | | 3 | "slightly" | | 4 | "very" |
| |
| 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) | |
| 76.18% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1679 | | totalAiIsms | 8 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | word | "the last thing" | | count | 1 |
|
| | highlights | | 0 | "weight" | | 1 | "pulse" | | 2 | "restrained" | | 3 | "silence" | | 4 | "flickered" | | 5 | "the last thing" |
| |
| 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 | 72 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 72 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 100 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 85 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1688 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 26 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1066 | | uniqueNames | 15 | | maxNameDensity | 0.75 | | worstName | "Lucien" | | maxWindowNameDensity | 2 | | worstWindowName | "Lucien" | | discoveredNames | | Ptolemy | 6 | | Eva | 3 | | Lucien | 8 | | Moreau | 1 | | Brick | 1 | | Lane | 1 | | God | 1 | | Four | 3 | | French | 2 | | October | 1 | | London | 1 | | Rory | 5 | | Whitechapel | 1 | | Drew | 1 | | Welsh | 1 |
| | persons | | 0 | "Ptolemy" | | 1 | "Eva" | | 2 | "Lucien" | | 3 | "Moreau" | | 4 | "Rory" | | 5 | "Drew" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "French" | | 3 | "London" | | 4 | "Whitechapel" |
| | globalScore | 1 | | windowScore | 1 | |
| 45.83% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 2 | | matches | | 0 | "seemed almost violent in its neatness" | | 1 | "not quite a smile, but the ghost of the thing he'd had instead of a smile, back when she used to make him laugh, which had been often, which had been one of the worst parts of all of it" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 2.37 | | wordCount | 1688 | | matches | | 0 | "not by size but by gravity" | | 1 | "not quite a smile, but the ghost of the thing he'd had instead of a smile, back" | | 2 | "not the danger, not the polished fixer menace, but the thing underneath it, raw" | | 3 | "not the polished fixer menace, but the thing underneath it, raw" |
| |
| 66.67% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 100 | | matches | | 0 | "chose that moment" | | 1 | "shut that thought" | | 2 | "hated that her" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 38.36 | | std | 39.12 | | cv | 1.02 | | sampleLengths | | 0 | 68 | | 1 | 14 | | 2 | 111 | | 3 | 2 | | 4 | 47 | | 5 | 13 | | 6 | 31 | | 7 | 21 | | 8 | 6 | | 9 | 23 | | 10 | 80 | | 11 | 25 | | 12 | 5 | | 13 | 18 | | 14 | 41 | | 15 | 38 | | 16 | 15 | | 17 | 37 | | 18 | 12 | | 19 | 88 | | 20 | 20 | | 21 | 9 | | 22 | 13 | | 23 | 3 | | 24 | 79 | | 25 | 1 | | 26 | 9 | | 27 | 5 | | 28 | 91 | | 29 | 12 | | 30 | 4 | | 31 | 80 | | 32 | 47 | | 33 | 14 | | 34 | 11 | | 35 | 67 | | 36 | 158 | | 37 | 80 | | 38 | 23 | | 39 | 16 | | 40 | 159 | | 41 | 61 | | 42 | 8 | | 43 | 23 |
| |
| 85.77% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 72 | | matches | | 0 | "was braced" | | 1 | "been often" | | 2 | "been told" | | 3 | "were supposed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 173 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 100 | | ratio | 0.06 | | matches | | 0 | "And his eyes — God, those eyes." | | 1 | "She unhooked the chain and stepped back, and he came in out of the rain carrying the cold air with him, along with the smell of his cologne, something dark and expensive that she had once — in a moment of catastrophic weakness, on a night she did not think about, ever — pressed her face into." | | 2 | "\"He has three dinners a day and a window seat. He has a better life than half the fixers in London.\" Lucien set his cane against the wall — carefully, precisely, the way he did everything, the way he'd once set his hands on her shoulders in the dark and asked, actually asked, like what she wanted mattered more than what he did." | | 3 | "Something flickered across his face — not quite a smile, but the ghost of the thing he'd had instead of a smile, back when she used to make him laugh, which had been often, which had been one of the worst parts of all of it." | | 4 | "Her hands hung at her sides and one of them — the left one, the scarred one — ached in the cold air from the door she'd left cracked open, and she had the sudden, insane urge to offer him tea, which was her mother's Welsh instinct surfacing at exactly the wrong moment, because you did not offer tea to a man you were supposed to be finished with." | | 5 | "\"Asking about you. By your full name. He knew about the restaurant, about Silas', about this flat.\" His mismatched eyes held hers, and there was something in them now that she hadn't seen since the night in the alley — not the danger, not the polished fixer menace, but the thing underneath it, raw and bare." |
| |
| 93.72% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 975 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 46 | | adverbRatio | 0.04717948717948718 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.014358974358974359 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 100 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 100 | | mean | 16.88 | | std | 18.57 | | cv | 1.1 | | sampleLengths | | 0 | 14 | | 1 | 31 | | 2 | 7 | | 3 | 6 | | 4 | 10 | | 5 | 14 | | 6 | 41 | | 7 | 19 | | 8 | 14 | | 9 | 7 | | 10 | 30 | | 11 | 2 | | 12 | 2 | | 13 | 26 | | 14 | 19 | | 15 | 7 | | 16 | 6 | | 17 | 26 | | 18 | 5 | | 19 | 7 | | 20 | 3 | | 21 | 11 | | 22 | 6 | | 23 | 23 | | 24 | 6 | | 25 | 30 | | 26 | 25 | | 27 | 3 | | 28 | 16 | | 29 | 6 | | 30 | 19 | | 31 | 5 | | 32 | 18 | | 33 | 3 | | 34 | 33 | | 35 | 5 | | 36 | 26 | | 37 | 1 | | 38 | 2 | | 39 | 9 | | 40 | 4 | | 41 | 11 | | 42 | 34 | | 43 | 3 | | 44 | 4 | | 45 | 3 | | 46 | 5 | | 47 | 57 | | 48 | 16 | | 49 | 7 |
| |
| 62.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.42 | | totalSentences | 100 | | uniqueOpeners | 42 | |
| 52.91% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 63 | | matches | | | ratio | 0.016 | |
| 29.52% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 63 | | matches | | 0 | "He'd once bitten Eva's thesis" | | 1 | "He shifted his weight, and" | | 2 | "Her heart did something stupid" | | 3 | "She ignored it." | | 4 | "It was, she thought distantly," | | 5 | "She had decided." | | 6 | "She had decided four months" | | 7 | "She glanced down." | | 8 | "Her wrist, the one with" | | 9 | "She pulled her arm back." | | 10 | "She made a mental note" | | 11 | "He glanced up at the" | | 12 | "She unhooked the chain and" | | 13 | "He filled the flat the" | | 14 | "He looked around at the" | | 15 | "She shut that thought down" | | 16 | "He turned to face her" | | 17 | "She folded her arms" | | 18 | "She'd loved making him laugh." | | 19 | "He laughed like a man" |
| | ratio | 0.476 | |
| 47.30% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 52 | | totalSentences | 63 | | matches | | 0 | "The first deadbolt scraped open" | | 1 | "Rory froze with her hand" | | 2 | "That should have been her" | | 3 | "The cat had opinions about" | | 4 | "He'd once bitten Eva's thesis" | | 5 | "Rory opened the door as" | | 6 | "Charcoal suit, no tie, platinum" | | 7 | "The ivory handle of his" | | 8 | "He shifted his weight, and" | | 9 | "Her heart did something stupid" | | 10 | "She ignored it." | | 11 | "A muscle moved in his" | | 12 | "It was, she thought distantly," | | 13 | "She had decided." | | 14 | "She had decided four months" | | 15 | "She glanced down." | | 16 | "Her wrist, the one with" | | 17 | "She pulled her arm back." | | 18 | "Ptolemy chose that moment to" | | 19 | "She made a mental note" |
| | ratio | 0.825 | |
| 79.37% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 63 | | matches | | 0 | "Whoever stood on the other" |
| | ratio | 0.016 | |
| 32.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 26 | | technicalSentenceCount | 4 | | matches | | 0 | "Charcoal suit, no tie, platinum blond hair slicked back with a precision that seemed almost violent in its neatness." | | 1 | "It was, she thought distantly, possibly the least romantic setting in London, which was fitting, because she was not going to be romantic about this." | | 2 | "Something flickered across his face — not quite a smile, but the ghost of the thing he'd had instead of a smile, back when she used to make him laugh, which had…" | | 3 | "Her hands hung at her sides and one of them — the left one, the scarred one — ached in the cold air from the door she'd left cracked open, and she had the sudde…" |
| |
| 95.59% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 1 | | matches | | 0 | "He turned, and the lamplight caught the amber eye and left the black one in shadow, and she hated, hated that her body remembered him before her mind could organize a defense" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 44 | | tagDensity | 0.227 | | leniency | 0.455 | | rawRatio | 0.1 | | effectiveRatio | 0.045 | |