| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 11 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 25 | | tagDensity | 0.44 | | leniency | 0.88 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 85.88% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1416 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "softly" | | 1 | "really" | | 2 | "slowly" | | 3 | "truly" |
| |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 36.44% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1416 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "electric" | | 1 | "familiar" | | 2 | "rhythmic" | | 3 | "scanning" | | 4 | "charm" | | 5 | "measured" | | 6 | "silence" | | 7 | "potential" | | 8 | "weight" | | 9 | "tension" | | 10 | "profound" | | 11 | "echoing" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 71 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 71 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 2 | | totalWords | 1411 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 39 | | wordCount | 1135 | | uniqueNames | 13 | | maxNameDensity | 1.15 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Julian" | | discoveredNames | | Raven | 1 | | Nest | 2 | | Soho | 2 | | Aurora | 2 | | Rory | 13 | | Golden | 1 | | Empress | 1 | | Cardiff | 1 | | Wales | 1 | | Julian | 8 | | Silas | 5 | | Prague | 1 | | London | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Aurora" | | 3 | "Rory" | | 4 | "Julian" | | 5 | "Silas" |
| | places | | 0 | "Soho" | | 1 | "Cardiff" | | 2 | "Wales" | | 3 | "Prague" | | 4 | "London" |
| | globalScore | 0.927 | | windowScore | 0.833 | |
| 68.03% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like it was trying to swallow her" | | 1 | "felt like a weight being dropped onto h" |
| |
| 58.26% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.417 | | wordCount | 1411 | | matches | | 0 | "not just the abuse, but the crushing weight of who she was supposed to be" | | 1 | "not just burned, but had vanished entirely" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 85 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 41.5 | | std | 27.46 | | cv | 0.662 | | sampleLengths | | 0 | 89 | | 1 | 121 | | 2 | 88 | | 3 | 54 | | 4 | 16 | | 5 | 31 | | 6 | 1 | | 7 | 76 | | 8 | 23 | | 9 | 18 | | 10 | 39 | | 11 | 34 | | 12 | 56 | | 13 | 18 | | 14 | 33 | | 15 | 38 | | 16 | 53 | | 17 | 49 | | 18 | 48 | | 19 | 64 | | 20 | 37 | | 21 | 85 | | 22 | 14 | | 23 | 11 | | 24 | 13 | | 25 | 76 | | 26 | 24 | | 27 | 46 | | 28 | 39 | | 29 | 12 | | 30 | 35 | | 31 | 21 | | 32 | 5 | | 33 | 44 |
| |
| 80.55% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 71 | | matches | | 0 | "been paid" | | 1 | "was dressed" | | 2 | "been replaced" | | 3 | "being dropped" | | 4 | "was supposed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 185 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 3 | | flaggedSentences | 7 | | totalSentences | 85 | | ratio | 0.082 | | matches | | 0 | "He gave Aurora a curt, knowing nod—the kind of silent communication they had developed since she moved into the flat upstairs." | | 1 | "To the world, he was a bar owner with a slight limp in his left leg; to Rory, he was the only anchor she had in a city that felt like it was trying to swallow her whole." | | 2 | "The boy she had known in Cardiff—the one who had shared smuggled cigarettes behind the gym and whispered dreams of leaving Wales behind—had been replaced by a stranger who smelled of sandalwood and expensive leather." | | 3 | "He saw the fatigue behind her brightness, the way she held herself—shoulders tight, ready to bolt." | | 4 | "He knew the anatomy of regret; he had carried his own from Prague for decades, a limp in his leg and a void in his soul." | | 5 | "Rory looked at the crescent scar on her wrist, then up at the man who represented everything she had fought to escape—not just the abuse, but the crushing weight of who she was supposed to be." | | 6 | "She was already gone; she had left the conversation minutes ago." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1148 | | adjectiveStacks | 2 | | stackExamples | | 0 | "small crescent-shaped scar" | | 1 | "thick, cream-colored cardstock" |
| | adverbCount | 40 | | adverbRatio | 0.03484320557491289 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.01132404181184669 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 16.6 | | std | 9.78 | | cv | 0.589 | | sampleLengths | | 0 | 24 | | 1 | 18 | | 2 | 24 | | 3 | 23 | | 4 | 26 | | 5 | 36 | | 6 | 21 | | 7 | 38 | | 8 | 21 | | 9 | 14 | | 10 | 23 | | 11 | 30 | | 12 | 2 | | 13 | 36 | | 14 | 16 | | 15 | 16 | | 16 | 3 | | 17 | 10 | | 18 | 18 | | 19 | 1 | | 20 | 34 | | 21 | 7 | | 22 | 35 | | 23 | 9 | | 24 | 14 | | 25 | 13 | | 26 | 5 | | 27 | 21 | | 28 | 18 | | 29 | 15 | | 30 | 19 | | 31 | 23 | | 32 | 8 | | 33 | 5 | | 34 | 20 | | 35 | 6 | | 36 | 12 | | 37 | 12 | | 38 | 21 | | 39 | 7 | | 40 | 31 | | 41 | 12 | | 42 | 14 | | 43 | 27 | | 44 | 7 | | 45 | 42 | | 46 | 9 | | 47 | 16 | | 48 | 23 | | 49 | 13 |
| |
| 46.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.36470588235294116 | | totalSentences | 85 | | uniqueOpeners | 31 | |
| 51.28% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 65 | | matches | | 0 | "Then, without a word, she" |
| | ratio | 0.015 | |
| 35.38% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 65 | | matches | | 0 | "She felt the familiar, rhythmic" | | 1 | "He didn’t speak much during" | | 2 | "He gave Aurora a curt," | | 3 | "He was dressed in a" | | 4 | "He looked out of place," | | 5 | "It was a visceral reaction," | | 6 | "His expression shifted from indifference" | | 7 | "He approached her with a" | | 8 | "He looked the same, yet" | | 9 | "His voice had dropped an" | | 10 | "He didn't order a drink." | | 11 | "He simply sat there, the" | | 12 | "She thought of the mahogany" | | 13 | "He saw the fatigue behind" | | 14 | "He saw the woman who" | | 15 | "he said, and for the" | | 16 | "He didn't intervene, but his" | | 17 | "He knew the anatomy of" | | 18 | "He saw the tension in" | | 19 | "He moved closer, the silver" |
| | ratio | 0.462 | |
| 13.85% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 58 | | totalSentences | 65 | | matches | | 0 | "The green neon sign of" | | 1 | "Aurora leaned against the mahogany" | | 2 | "She felt the familiar, rhythmic" | | 3 | "Silas was at the far" | | 4 | "He didn’t speak much during" | | 5 | "He gave Aurora a curt," | | 6 | "The bell above the door" | | 7 | "A man stepped in, pausing" | | 8 | "He was dressed in a" | | 9 | "He looked out of place," | | 10 | "The glass in her hand" | | 11 | "It was a visceral reaction," | | 12 | "the name left her lips" | | 13 | "The man turned." | | 14 | "His expression shifted from indifference" | | 15 | "The lines around his eyes" | | 16 | "He approached her with a" | | 17 | "He looked the same, yet" | | 18 | "The boy she had known" | | 19 | "His voice had dropped an" |
| | ratio | 0.892 | |
| 76.92% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 65 | | matches | | | ratio | 0.015 | |
| 29.22% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 7 | | matches | | 0 | "She felt the familiar, rhythmic thrum of the city vibrating through the floorboards, a restlessness that mirrored the one in her own chest." | | 1 | "He didn’t speak much during the evening rush, but his hazel eyes remained constantly in motion, scanning the room with the ingrained vigilance of a man who had …" | | 2 | "To the world, he was a bar owner with a slight limp in his left leg; to Rory, he was the only anchor she had in a city that felt like it was trying to swallow h…" | | 3 | "The glass in her hand shifted, and she felt the sudden, sharp urge to pull her sleeve down further over her left wrist, hiding the small crescent-shaped scar th…" | | 4 | "He approached her with a measured stride, though there was a tremor in his hand as he reached out, as if to touch her shoulder, before thinking better of it and…" | | 5 | "The boy she had known in Cardiff—the one who had shared smuggled cigarettes behind the gym and whispered dreams of leaving Wales behind—had been replaced by a s…" | | 6 | "Julian looked around the dimly lit bar, his gaze lingering on the old maps and black-and-white photographs that lined the walls." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 11 | | uselessAdditionCount | 4 | | matches | | 0 | "Rory replied, her voice sounding thin to her own ears" | | 1 | "Rory interrupted, her blue eyes sharpening" | | 2 | "Rory replied, her voice softening but remaining precise" | | 3 | "Silas said, his voice a low, gravelly rumble" |
| |
| 70.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 2 | | fancyTags | | 0 | "he whispered (whisper)" | | 1 | "Rory interrupted (interrupt)" |
| | dialogueSentences | 25 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0.2 | | effectiveRatio | 0.16 | |