| 92.86% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 28 | | adverbTagCount | 3 | | adverbTags | | 0 | "she said finally [finally]" | | 1 | "Eva said quietly [quietly]" | | 2 | "Aurora said finally [finally]" |
| | dialogueSentences | 56 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.107 | | effectiveRatio | 0.107 | |
| 96.87% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1596 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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) | |
| 81.20% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1596 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "flickered" | | 1 | "familiar" | | 2 | "footsteps" | | 3 | "weight" | | 4 | "absolutely" |
| |
| 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 | 108 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 108 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 129 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 91 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 23 | | totalWords | 1584 | | ratio | 0.015 | | matches | | 0 | "him" | | 1 | "Rory? It's two in the morning" | | 2 | "I need you" | | 3 | "I can't, not tonight, I've got that thing in the morning" | | 4 | "help me" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 24 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 67 | | wordCount | 1299 | | uniqueNames | 12 | | maxNameDensity | 1.85 | | worstName | "Eva" | | maxWindowNameDensity | 4 | | worstWindowName | "Aurora" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Tuesday | 1 | | Harold | 1 | | London | 3 | | Rory | 2 | | Aurora | 22 | | Eva | 24 | | Cardiff | 4 | | Silas | 3 | | You | 1 | | Evan | 4 |
| | persons | | 0 | "Raven" | | 1 | "Harold" | | 2 | "Rory" | | 3 | "Aurora" | | 4 | "Eva" | | 5 | "Silas" | | 6 | "You" | | 7 | "Evan" |
| | places | | | globalScore | 0.576 | | windowScore | 0.333 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 57 | | glossingSentenceCount | 1 | | matches | | 0 | "tasted like bile in her throat, even now" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.631 | | wordCount | 1584 | | matches | | 0 | "Not glamorous, but it pays" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 129 | | matches | | 0 | "knew that name" | | 1 | "got that thing" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 71 | | mean | 22.31 | | std | 19.37 | | cv | 0.868 | | sampleLengths | | 0 | 61 | | 1 | 9 | | 2 | 58 | | 3 | 2 | | 4 | 51 | | 5 | 10 | | 6 | 27 | | 7 | 31 | | 8 | 9 | | 9 | 37 | | 10 | 1 | | 11 | 19 | | 12 | 4 | | 13 | 46 | | 14 | 29 | | 15 | 6 | | 16 | 26 | | 17 | 39 | | 18 | 33 | | 19 | 35 | | 20 | 5 | | 21 | 3 | | 22 | 24 | | 23 | 6 | | 24 | 39 | | 25 | 2 | | 26 | 16 | | 27 | 8 | | 28 | 38 | | 29 | 15 | | 30 | 6 | | 31 | 3 | | 32 | 28 | | 33 | 52 | | 34 | 8 | | 35 | 6 | | 36 | 17 | | 37 | 53 | | 38 | 3 | | 39 | 5 | | 40 | 90 | | 41 | 11 | | 42 | 5 | | 43 | 10 | | 44 | 3 | | 45 | 5 | | 46 | 14 | | 47 | 29 | | 48 | 5 | | 49 | 59 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 108 | | matches | | |
| 19.82% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 259 | | matches | | 0 | "was holding" | | 1 | "was missing" | | 2 | "was polishing" | | 3 | "was measuring" | | 4 | "was saying" | | 5 | "was, rising" | | 6 | "was happening" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 129 | | ratio | 0.07 | | matches | | 0 | "A few regulars hunched over their pints near the window, and the old man who always sat three stools from the end—Harold, she thought—nodded at her from behind his crossword." | | 1 | "He moved with that quiet efficiency she'd come to recognize over the past six months—the slight limp barely noticeable now, the silver signet ring catching the dim light as he set down a napkin." | | 2 | "No one knew that name except—" | | 3 | "Her cheekbones were sharper, her eyes bigger, and her hand—her left hand—was missing the promise ring she'd worn for three years." | | 4 | "Eva sat. Her eyes moved over Aurora's face, cataloging changes—the new sharpness in her jaw, the way her black hair had been cut shorter, the exhaustion that Aurora knew sat beneath her eyes like bruises." | | 5 | "You didn't—I didn't know where—\"" | | 6 | "And then your mum was saying you'd gone to London, and I thought—I don't know what I thought." | | 7 | "The anger surprised Aurora. She'd thought she'd buried it, packed it away with everything else she'd left behind in Cardiff. But here it was, rising up fresh as the night she'd packed her bag while Evan slept off another bottle of whiskey, as the night she'd called Eva from the train station andEva had answered with sleep in her voice and said *Rory? It's two in the morning* and Aurora had said *I need you* and Eva had said *I can't, not tonight, I've got that thing in the morning*—" | | 8 | "It wasn't forgiveness. It wasn't a resolution. It was something smaller and more fragile—a beginning, maybe, or the possibility of one." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1078 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 38 | | adverbRatio | 0.03525046382189239 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.008348794063079777 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 129 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 129 | | mean | 12.28 | | std | 13.39 | | cv | 1.09 | | sampleLengths | | 0 | 13 | | 1 | 24 | | 2 | 24 | | 3 | 5 | | 4 | 4 | | 5 | 9 | | 6 | 30 | | 7 | 19 | | 8 | 2 | | 9 | 3 | | 10 | 14 | | 11 | 34 | | 12 | 4 | | 13 | 6 | | 14 | 18 | | 15 | 9 | | 16 | 10 | | 17 | 21 | | 18 | 3 | | 19 | 1 | | 20 | 5 | | 21 | 4 | | 22 | 26 | | 23 | 4 | | 24 | 1 | | 25 | 2 | | 26 | 1 | | 27 | 7 | | 28 | 6 | | 29 | 6 | | 30 | 4 | | 31 | 22 | | 32 | 3 | | 33 | 21 | | 34 | 1 | | 35 | 2 | | 36 | 26 | | 37 | 6 | | 38 | 26 | | 39 | 24 | | 40 | 7 | | 41 | 2 | | 42 | 3 | | 43 | 3 | | 44 | 33 | | 45 | 35 | | 46 | 5 | | 47 | 3 | | 48 | 24 | | 49 | 6 |
| |
| 45.99% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.34108527131782945 | | totalSentences | 129 | | uniqueOpeners | 44 | |
| 77.52% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 86 | | matches | | 0 | "Then he nodded and turned" | | 1 | "Really saw gave me a" |
| | ratio | 0.023 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 86 | | matches | | 0 | "Her delivery shift had ended" | | 1 | "She hadn't planned on drinking." | | 2 | "She'd planned on hiding." | | 3 | "She looked up." | | 4 | "He moved with that quiet" | | 5 | "He studied her for a" | | 6 | "She didn't look up." | | 7 | "She'd lost weight." | | 8 | "Her cheekbones were sharper, her" | | 9 | "Your mum said you'd moved" | | 10 | "she wasn't happy." | | 11 | "He lets me stay above" | | 12 | "You didn't—I didn't know" | | 13 | "I tried to find you." | | 14 | "she said finally" | | 15 | "He was with some woman," | | 16 | "They're so good at making" | | 17 | "They sat like that for" | | 18 | "I'm still figuring out how" | | 19 | "It wasn't forgiveness. It wasn't" |
| | ratio | 0.244 | |
| 70.47% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 86 | | matches | | 0 | "The green neon sign flickered" | | 1 | "Aurora pushed through the door" | | 2 | "Her delivery shift had ended" | | 3 | "She hadn't planned on drinking." | | 4 | "She'd planned on hiding." | | 5 | "The bar was nearly empty" | | 6 | "Aurora made her way to" | | 7 | "She looked up." | | 8 | "Silas was already there, a" | | 9 | "He moved with that quiet" | | 10 | "He studied her for a" | | 11 | "Aurora wrapped her fingers around" | | 12 | "The street outside had gone" | | 13 | "The door opened." | | 14 | "Footsteps on the worn floorboards." | | 15 | "She didn't look up." | | 16 | "The name hit her like" | | 17 | "Aurora's head snapped up." | | 18 | "Eva stood three feet away," | | 19 | "She'd lost weight." |
| | ratio | 0.779 | |
| 58.14% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 86 | | matches | | | ratio | 0.012 | |
| 65.64% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 4 | | matches | | 0 | "The street outside had gone quiet in that way London did sometimes, as if the city itself was holding its breath." | | 1 | "Didn't want to see whoever had just walked in, didn't want to make conversation or exchange pleasantries or perform the social rituals that exhausted her lately…" | | 2 | "The girl who'd shared her childhood, her secrets, her bed in that cramped Cardiff flat when they were seventeen and terrified and certain they'd escape together…" | | 3 | "The question hung there, unanswerable. Aurora thought about those last months in Cardiff, the bruises she'd hidden under long sleeves, the way she'd stopped ans…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 26 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 96.43% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 3 | | fancyTags | | 0 | "she repeated (repeat)" | | 1 | "Eva laughed (laugh)" | | 2 | "she admitted (admit)" |
| | dialogueSentences | 56 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0.214 | | effectiveRatio | 0.107 | |