| 69.35% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 25 | | adverbTagCount | 5 | | adverbTags | | 0 | "Eva's laugh tinkled like [like]" | | 1 | "But Aurora just said [just]" | | 2 | "Aurora said finally [finally]" | | 3 | "Eva's voice cracked just [just]" | | 4 | "Silas said quietly [quietly]" |
| | dialogueSentences | 62 | | tagDensity | 0.403 | | leniency | 0.806 | | rawRatio | 0.2 | | effectiveRatio | 0.161 | |
| 83.69% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1533 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "perfectly" | | 1 | "slightly" | | 2 | "really" |
| |
| 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) | |
| 57.60% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1533 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "flickered" | | 1 | "familiar" | | 2 | "methodical" | | 3 | "perfect" | | 4 | "crystal" | | 5 | "silence" | | 6 | "unravel" | | 7 | "determined" | | 8 | "weight" | | 9 | "reminder" | | 10 | "flicker" |
| |
| 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 | 88 | | matches | | |
| 61.69% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 4 | | narrationSentences | 88 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 123 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 7 | | totalWords | 1512 | | ratio | 0.005 | | matches | | 0 | "Come to London. Now. Don't tell him" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.07% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 78 | | wordCount | 1120 | | uniqueNames | 17 | | maxNameDensity | 2.68 | | worstName | "Aurora" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Aurora" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Tuesday | 2 | | Soho | 4 | | Carter | 1 | | Aurora | 30 | | Prague | 1 | | Berlin | 1 | | Silas | 8 | | Cardiff | 1 | | Eva | 22 | | Marsh | 1 | | London | 1 | | Three | 1 | | Hermès | 1 | | Welsh | 1 | | Clean | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Carter" | | 3 | "Aurora" | | 4 | "Silas" | | 5 | "Eva" |
| | places | | 0 | "Soho" | | 1 | "Prague" | | 2 | "Berlin" | | 3 | "Cardiff" | | 4 | "Marsh" | | 5 | "London" |
| | globalScore | 0.161 | | windowScore | 0.167 | |
| 18.42% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 76 | | glossingSentenceCount | 4 | | matches | | 0 | "seemed more pronounced tonight" | | 1 | "ous habit that apparently even finishing scho" | | 2 | "quite hide the shadows under her eyes" | | 3 | "quite hers anymore" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1512 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 123 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 49 | | mean | 30.86 | | std | 17.46 | | cv | 0.566 | | sampleLengths | | 0 | 61 | | 1 | 46 | | 2 | 42 | | 3 | 17 | | 4 | 53 | | 5 | 65 | | 6 | 1 | | 7 | 22 | | 8 | 57 | | 9 | 25 | | 10 | 24 | | 11 | 31 | | 12 | 20 | | 13 | 52 | | 14 | 15 | | 15 | 28 | | 16 | 48 | | 17 | 18 | | 18 | 14 | | 19 | 17 | | 20 | 12 | | 21 | 12 | | 22 | 24 | | 23 | 45 | | 24 | 18 | | 25 | 15 | | 26 | 41 | | 27 | 14 | | 28 | 28 | | 29 | 38 | | 30 | 31 | | 31 | 61 | | 32 | 45 | | 33 | 10 | | 34 | 45 | | 35 | 59 | | 36 | 34 | | 37 | 20 | | 38 | 8 | | 39 | 22 | | 40 | 61 | | 41 | 9 | | 42 | 35 | | 43 | 3 | | 44 | 22 | | 45 | 15 | | 46 | 52 | | 47 | 29 | | 48 | 48 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 88 | | matches | (empty) | |
| 66.67% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 200 | | matches | | 0 | "was polishing" | | 1 | "was reaching" | | 2 | "was cataloging" | | 3 | "was posing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 123 | | ratio | 0.081 | | matches | | 0 | "The Raven's Nest hummed with its usual Tuesday night crowd—a mix of locals nursing pints and tourists drawn by the green neon sign that flickered like a dying firefly against the Soho drizzle." | | 1 | "He was polishing glasses with the same methodical precision he brought to everything—left to right, three clockwise turns, hold to the light." | | 2 | "The woman's gaze swept the room—past the faded maps of Prague and Berlin, past the black-and-white photographs of faces whose names Silas never shared—before landing on Aurora." | | 3 | "The woman who'd once been Eva Marsh—who'd eaten cheese sandwiches on Aurora's bedroom floor while they studied for A-levels, who'd held Aurora's hair back after too many shots of cheap vodka at university, who'd sent the text that had saved her life (*Come to London." | | 4 | "Don't tell him*)—clicked across the worn floorboards in those ridiculous heels." | | 5 | "Aurora could practically feel him filing away Eva's manicured appearance, the Hermès bag, the way she kept touching her pearl earrings—a nervous habit that apparently even finishing school hadn't cured." | | 6 | "Her hands moved automatically—two parts gin, three parts tonic, cucumber slice balanced on the rim." | | 7 | "\"I don't know. I transferred to the London office six months later.\" Eva looked up then, and for a moment Aurora saw her old friend beneath the corporate veneer—the girl who'd shared her lunch money, who'd taught her Welsh curse words, who'd known something was wrong before Aurora could admit it to herself." | | 8 | "Aurora studied the woman across the bar—the expensive highlights, the designer clothes, the careful makeup that couldn't quite hide the shadows under her eyes." | | 9 | "She wondered what Eva saw when she looked back—a university dropout serving drinks in a dingy Soho bar, living above her workplace, delivering takeaway to make ends meet." |
| |
| 96.62% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1140 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 50 | | adverbRatio | 0.043859649122807015 | | lyAdverbCount | 20 | | lyAdverbRatio | 0.017543859649122806 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 123 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 123 | | mean | 12.29 | | std | 8.4 | | cv | 0.683 | | sampleLengths | | 0 | 33 | | 1 | 13 | | 2 | 15 | | 3 | 12 | | 4 | 22 | | 5 | 12 | | 6 | 24 | | 7 | 3 | | 8 | 15 | | 9 | 10 | | 10 | 7 | | 11 | 14 | | 12 | 17 | | 13 | 11 | | 14 | 11 | | 15 | 10 | | 16 | 28 | | 17 | 27 | | 18 | 1 | | 19 | 7 | | 20 | 14 | | 21 | 1 | | 22 | 45 | | 23 | 1 | | 24 | 11 | | 25 | 20 | | 26 | 5 | | 27 | 19 | | 28 | 5 | | 29 | 22 | | 30 | 9 | | 31 | 14 | | 32 | 6 | | 33 | 5 | | 34 | 17 | | 35 | 30 | | 36 | 15 | | 37 | 20 | | 38 | 8 | | 39 | 6 | | 40 | 7 | | 41 | 15 | | 42 | 13 | | 43 | 7 | | 44 | 8 | | 45 | 10 | | 46 | 9 | | 47 | 5 | | 48 | 7 | | 49 | 10 |
| |
| 67.48% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.4634146341463415 | | totalSentences | 123 | | uniqueOpeners | 57 | |
| 78.43% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 85 | | matches | | 0 | "Even the usual Tuesday night" | | 1 | "Instead, Eva pulled her coat" |
| | ratio | 0.024 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 85 | | matches | | 0 | "He was polishing glasses with" | | 1 | "His silver signet ring caught" | | 2 | "She hung her jacket on" | | 3 | "She was reaching for an" | | 4 | "He stood perfectly still, the" | | 5 | "he asked, breaking the silence" | | 6 | "She pulled down a glass," | | 7 | "Her hands moved automatically—two parts" | | 8 | "She turned to wipe down" | | 9 | "She trailed off, perhaps remembering" | | 10 | "She pushed the drink away," | | 11 | "She wondered what Eva saw" | | 12 | "It wasn't forgiveness, exactly, but" | | 13 | "She clicked toward the door" | | 14 | "She considered the question, rolling" |
| | ratio | 0.176 | |
| 71.76% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 66 | | totalSentences | 85 | | matches | | 0 | "The Raven's Nest hummed with" | | 1 | "Aurora Carter slipped through the" | | 2 | "The familiar smell of wood" | | 3 | "Silas called from behind the" | | 4 | "He was polishing glasses with" | | 5 | "His silver signet ring caught" | | 6 | "She hung her jacket on" | | 7 | "The weather, probably." | | 8 | "Silas glanced up then, hazel" | | 9 | "She was reaching for an" | | 10 | "A woman stood in the" | | 11 | "The woman's gaze swept the" | | 12 | "Aurora's hands stilled on the" | | 13 | "That voice, polished now with" | | 14 | "The woman who'd once been" | | 15 | "Eva's smile was perfect, the" | | 16 | "Aurora heard how flat her" | | 17 | "Eva's laugh tinkled like crystal," | | 18 | "Silas had stopped polishing glasses." | | 19 | "He stood perfectly still, the" |
| | ratio | 0.776 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 85 | | matches | (empty) | | ratio | 0 | |
| 93.02% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 3 | | matches | | 0 | "The Raven's Nest hummed with its usual Tuesday night crowd—a mix of locals nursing pints and tourists drawn by the green neon sign that flickered like a dying f…" | | 1 | "The woman who'd once been Eva Marsh—who'd eaten cheese sandwiches on Aurora's bedroom floor while they studied for A-levels, who'd held Aurora's hair back after…" | | 2 | "Aurora studied the woman across the bar—the expensive highlights, the designer clothes, the careful makeup that couldn't quite hide the shadows under her eyes." |
| |
| 85.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 25 | | uselessAdditionCount | 2 | | matches | | 0 | "She turned, unable to meet those familiar brown eyes" | | 1 | "Eva repeated, as if the words were foreign" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 2 | | fancyTags | | 0 | "Aurora lied (lie)" | | 1 | "Eva repeated (repeat)" |
| | dialogueSentences | 62 | | tagDensity | 0.145 | | leniency | 0.29 | | rawRatio | 0.222 | | effectiveRatio | 0.065 | |