| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 22 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said quietly [quietly]" |
| | dialogueSentences | 42 | | tagDensity | 0.524 | | leniency | 1 | | rawRatio | 0.045 | | effectiveRatio | 0.045 | |
| 82.03% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1391 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "precisely" | | 1 | "slightly" | | 2 | "slowly" |
| |
| 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) | |
| 82.03% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1391 | | totalAiIsms | 5 | | found | | 0 | | word | "practiced ease" | | count | 1 |
| | 1 | | | 2 | | | 3 | |
| | highlights | | 0 | "practiced ease" | | 1 | "silence" | | 2 | "weight" | | 3 | "familiar" |
| |
| 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 | 73 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 73 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 93 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1406 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 24 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 1156 | | uniqueNames | 9 | | maxNameDensity | 0.69 | | worstName | "Lucien" | | maxWindowNameDensity | 2 | | worstWindowName | "Lucien" | | discoveredNames | | Eva | 4 | | Moreau | 3 | | Brick | 1 | | Lane | 1 | | Ptolemy | 3 | | Rory | 6 | | Lucien | 8 | | Cardiff | 1 | | London | 1 |
| | persons | | 0 | "Eva" | | 1 | "Moreau" | | 2 | "Ptolemy" | | 3 | "Rory" | | 4 | "Lucien" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Cardiff" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 51.96% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 51 | | glossingSentenceCount | 2 | | matches | | 0 | "not quite a smile, but adjacent to one" | | 1 | "quite touch hers, but it was a near thing, and the near thing registered in the same place it always had" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.711 | | wordCount | 1406 | | matches | | 0 | "not quite a smile, but adjacent to one" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 93 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 29.91 | | std | 27.59 | | cv | 0.922 | | sampleLengths | | 0 | 60 | | 1 | 39 | | 2 | 4 | | 3 | 94 | | 4 | 8 | | 5 | 17 | | 6 | 14 | | 7 | 16 | | 8 | 5 | | 9 | 57 | | 10 | 7 | | 11 | 106 | | 12 | 6 | | 13 | 25 | | 14 | 8 | | 15 | 66 | | 16 | 7 | | 17 | 53 | | 18 | 18 | | 19 | 7 | | 20 | 19 | | 21 | 23 | | 22 | 79 | | 23 | 3 | | 24 | 5 | | 25 | 4 | | 26 | 23 | | 27 | 56 | | 28 | 34 | | 29 | 28 | | 30 | 4 | | 31 | 2 | | 32 | 71 | | 33 | 42 | | 34 | 5 | | 35 | 4 | | 36 | 11 | | 37 | 37 | | 38 | 55 | | 39 | 21 | | 40 | 91 | | 41 | 13 | | 42 | 56 | | 43 | 16 | | 44 | 56 | | 45 | 23 | | 46 | 8 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 73 | | matches | | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 198 | | matches | | 0 | "was watching" | | 1 | "was resting" | | 2 | "was holding" | | 3 | "was happening" | | 4 | "was always paying" | | 5 | "was doing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 93 | | ratio | 0.129 | | matches | | 0 | "He wore charcoal, naturally — a suit cut so precisely it had no business existing above a curry house in Brick Lane." | | 1 | "That was the rational, self-preserving thing to do — close the door, engage all three deadbolts, go back to the glass of wine she'd poured herself forty minutes ago and had thus far failed to actually drink." | | 2 | "His gaze tracked the chaos of Eva's research without judgment — the towers of books, the scrolls mapped with symbols Rory still couldn't read, the corkboard above the desk that had evolved in recent weeks into something that looked less like an investigation and more like evidence of a spiraling obsession." | | 3 | "The ghost of something moved across his face — not quite a smile, but adjacent to one." | | 4 | "He was watching her with that particular quality of attention he had — the kind that felt less like being observed and more like being understood, which was considerably more alarming." | | 5 | "Her hands made the decision before her brain had caught up, which had always been the problem with Lucien Moreau — he had a gift for making her operate on instinct, and she'd spent most of the past year trying to recover her preference for deliberate thought." | | 6 | "The sounds of the street drifted up through the kitchen window — a cab, a group laughing, the eternal low heartbeat of the city that never stopped regardless of what was happening in cramped flats above curry houses." | | 7 | "Rory thought about Cardiff, the way silence there had weight and texture, the way London silence was different — thinner, interrupted, somehow both lonelier and less so." | | 8 | "Something shifted in the amber eye — a crack in the careful composure, small but there, unmistakable to anyone paying close enough attention, and she was always paying close enough attention." | | 9 | "She'd learned in the past year to use it that way — a small anchor, something real and physical and hers, when everything else was moving too fast." | | 10 | "He crossed the small kitchen — it took approximately two steps, Eva's kitchen being what it was — and stopped when he was close enough that she could see both eyes clearly: the amber one that caught the overhead light and the black one that swallowed it." | | 11 | "\"I know.\" He reached up — slowly, telegraphing the motion — and tucked a strand of her black hair back from her face." |
| |
| 83.95% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1146 | | adjectiveStacks | 1 | | stackExamples | | 0 | "rational, self-preserving thing" |
| | adverbCount | 59 | | adverbRatio | 0.05148342059336824 | | lyAdverbCount | 21 | | lyAdverbRatio | 0.01832460732984293 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 93 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 93 | | mean | 15.12 | | std | 12.82 | | cv | 0.848 | | sampleLengths | | 0 | 16 | | 1 | 44 | | 2 | 2 | | 3 | 19 | | 4 | 18 | | 5 | 4 | | 6 | 18 | | 7 | 22 | | 8 | 32 | | 9 | 22 | | 10 | 8 | | 11 | 8 | | 12 | 9 | | 13 | 14 | | 14 | 16 | | 15 | 3 | | 16 | 2 | | 17 | 6 | | 18 | 37 | | 19 | 7 | | 20 | 7 | | 21 | 7 | | 22 | 27 | | 23 | 51 | | 24 | 28 | | 25 | 6 | | 26 | 4 | | 27 | 17 | | 28 | 4 | | 29 | 8 | | 30 | 51 | | 31 | 15 | | 32 | 7 | | 33 | 13 | | 34 | 40 | | 35 | 13 | | 36 | 5 | | 37 | 7 | | 38 | 19 | | 39 | 10 | | 40 | 9 | | 41 | 4 | | 42 | 20 | | 43 | 31 | | 44 | 28 | | 45 | 3 | | 46 | 5 | | 47 | 4 | | 48 | 21 | | 49 | 2 |
| |
| 48.75% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.3763440860215054 | | totalSentences | 93 | | uniqueOpeners | 35 | |
| 55.56% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 60 | | matches | | 0 | "Somewhere behind her, Ptolemy knocked" |
| | ratio | 0.017 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 60 | | matches | | 0 | "She padded across the stacks" | | 1 | "She opened the door." | | 2 | "He wore charcoal, naturally —" | | 3 | "His platinum hair was slicked" | | 4 | "His mismatched eyes found her" | | 5 | "She should have closed the" | | 6 | "She had a plan for" | | 7 | "She stepped back and let" | | 8 | "He moved through the flat" | | 9 | "His gaze tracked the chaos" | | 10 | "She moved past him toward" | | 11 | "She heard the soft tap" | | 12 | "He settled against the kitchen" | | 13 | "She poured herself more wine," | | 14 | "She turned to look at" | | 15 | "He was watching her with" | | 16 | "His cane was resting on" | | 17 | "He looked at the wine" | | 18 | "She got down a second" | | 19 | "Her hands made the decision" |
| | ratio | 0.617 | |
| 10.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 54 | | totalSentences | 60 | | matches | | 0 | "Rory heard three sharp knocks" | | 1 | "She padded across the stacks" | | 2 | "She opened the door." | | 3 | "Lucien Moreau stood in the" | | 4 | "He wore charcoal, naturally —" | | 5 | "His platinum hair was slicked" | | 6 | "His mismatched eyes found her" | | 7 | "The smell of cardamom drifted" | | 8 | "Lucien said, which was a" | | 9 | "Rory said, which was not" | | 10 | "She should have closed the" | | 11 | "That was the rational, self-preserving" | | 12 | "She had a plan for" | | 13 | "The plan did not include" | | 14 | "She stepped back and let" | | 15 | "He moved through the flat" | | 16 | "His gaze tracked the chaos" | | 17 | "Ptolemy materialized from behind the" | | 18 | "Rory said, to the cat" | | 19 | "Lucien glanced at her." |
| | ratio | 0.9 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 60 | | matches | | 0 | "By the time she'd cleared" | | 1 | "By the time she cleared" |
| | ratio | 0.033 | |
| 4.61% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 31 | | technicalSentenceCount | 6 | | matches | | 0 | "She padded across the stacks of Eva's books in her socks, nearly catching her toe on a rolled scroll that had migrated from the coffee table to the middle of th…" | | 1 | "He moved through the flat with the quiet assurance of a man who had been in worse places and made himself at home in all of them." | | 2 | "His gaze tracked the chaos of Eva's research without judgment — the towers of books, the scrolls mapped with symbols Rory still couldn't read, the corkboard abo…" | | 3 | "He was watching her with that particular quality of attention he had — the kind that felt less like being observed and more like being understood, which was con…" | | 4 | "His cane was resting on the counter now, and without it his posture shifted slightly, something in the angle of his shoulders becoming less performance and more…" | | 5 | "Behind them, somewhere in the flat, Ptolemy knocked another object off another surface with the absolute serenity of a creature who had never once worried about…" |
| |
| 79.55% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 22 | | uselessAdditionCount | 2 | | matches | | 0 | "She poured, though her glass was still three-quarters full" | | 1 | "She stopped, because the sentence had too many possible endings and she hadn't decided yet which one was true" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 15 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 42 | | tagDensity | 0.357 | | leniency | 0.714 | | rawRatio | 0.067 | | effectiveRatio | 0.048 | |