| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 26 | | adverbTagCount | 2 | | adverbTags | | 0 | "Rory said finally [finally]" | | 1 | "she said quietly [quietly]" |
| | dialogueSentences | 88 | | tagDensity | 0.295 | | leniency | 0.591 | | rawRatio | 0.077 | | effectiveRatio | 0.045 | |
| 83.29% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1795 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "suddenly" | | 1 | "very" | | 2 | "really" | | 3 | "sharply" | | 4 | "slowly" |
| |
| 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) | |
| 72.14% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1795 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "flickered" | | 1 | "familiar" | | 2 | "methodical" | | 3 | "footsteps" | | 4 | "traced" | | 5 | "silence" | | 6 | "unreadable" | | 7 | "firmly" |
| |
| 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 | 100 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 100 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 160 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1778 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 25 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 72 | | wordCount | 1062 | | uniqueNames | 14 | | maxNameDensity | 2.64 | | worstName | "Eva" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Eva" | | discoveredNames | | Raven | 1 | | Nest | 2 | | Silas | 9 | | Rory | 21 | | November | 1 | | Soho | 2 | | Reading | 1 | | Eva | 28 | | Started | 1 | | Lucky | 1 | | Cardiff | 1 | | Yu-Fei | 1 | | Evan | 2 | | Took | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Rory" | | 4 | "Eva" | | 5 | "Evan" |
| | places | | 0 | "Soho" | | 1 | "Cardiff" | | 2 | "Yu-Fei" |
| | globalScore | 0.182 | | windowScore | 0.167 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 64 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.562 | | wordCount | 1778 | | matches | | 0 | "Not the one with an empty space between them, but the one directly adjacent, close enough" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 160 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 92 | | mean | 19.33 | | std | 18.78 | | cv | 0.972 | | sampleLengths | | 0 | 54 | | 1 | 40 | | 2 | 18 | | 3 | 19 | | 4 | 4 | | 5 | 25 | | 6 | 12 | | 7 | 53 | | 8 | 20 | | 9 | 7 | | 10 | 29 | | 11 | 27 | | 12 | 2 | | 13 | 70 | | 14 | 14 | | 15 | 1 | | 16 | 1 | | 17 | 19 | | 18 | 13 | | 19 | 3 | | 20 | 37 | | 21 | 27 | | 22 | 42 | | 23 | 13 | | 24 | 20 | | 25 | 12 | | 26 | 1 | | 27 | 32 | | 28 | 18 | | 29 | 4 | | 30 | 1 | | 31 | 1 | | 32 | 18 | | 33 | 78 | | 34 | 7 | | 35 | 6 | | 36 | 29 | | 37 | 36 | | 38 | 19 | | 39 | 38 | | 40 | 1 | | 41 | 41 | | 42 | 13 | | 43 | 44 | | 44 | 3 | | 45 | 4 | | 46 | 49 | | 47 | 57 | | 48 | 6 | | 49 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 100 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 184 | | matches | (empty) | |
| 17.86% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 160 | | ratio | 0.044 | | matches | | 0 | "The Nest attracted all sorts—Silas's network of contacts drifting in and out like ghosts, tourists who'd wandered off the beaten path, locals seeking refuge from the relentless pace of Soho's nightlife." | | 1 | "Knew it the way she knew her own reflection, the way she knew the crescent-shaped scar on her wrist—instinctively, bodily, before thought could catch up." | | 2 | "But the hair itself was wrong—cropped close to her skull where it used to fall past her shoulders in careless waves." | | 3 | "Three syllables she hadn't spoken aloud in—what?" | | 4 | "Not the one with an empty space between them, but the one directly adjacent, close enough that Rory could smell her perfume—different now, something sharp and green where it used to be vanilla and amber." | | 5 | "The friend who'd convinced her to flee Cardiff, who'd helped her find the flat, who'd introduced her to Yu-Fei and held her hand through those first terrible months after Evan—that friend had simply moved on." | | 6 | "There had only been one that mattered—the two of them in Eva's cramped kitchen, a bottle of cheap wine between them, Rory's face still swollen from where Evan had grabbed her." |
| |
| 97.56% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1075 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 46 | | adverbRatio | 0.04279069767441861 | | lyAdverbCount | 19 | | lyAdverbRatio | 0.017674418604651163 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 160 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 160 | | mean | 11.11 | | std | 10.25 | | cv | 0.922 | | sampleLengths | | 0 | 21 | | 1 | 33 | | 2 | 4 | | 3 | 36 | | 4 | 18 | | 5 | 9 | | 6 | 10 | | 7 | 4 | | 8 | 17 | | 9 | 8 | | 10 | 6 | | 11 | 6 | | 12 | 19 | | 13 | 3 | | 14 | 31 | | 15 | 4 | | 16 | 16 | | 17 | 7 | | 18 | 4 | | 19 | 25 | | 20 | 15 | | 21 | 3 | | 22 | 9 | | 23 | 2 | | 24 | 26 | | 25 | 21 | | 26 | 4 | | 27 | 2 | | 28 | 17 | | 29 | 14 | | 30 | 1 | | 31 | 1 | | 32 | 7 | | 33 | 7 | | 34 | 2 | | 35 | 3 | | 36 | 4 | | 37 | 2 | | 38 | 7 | | 39 | 3 | | 40 | 17 | | 41 | 12 | | 42 | 8 | | 43 | 27 | | 44 | 7 | | 45 | 35 | | 46 | 13 | | 47 | 14 | | 48 | 6 | | 49 | 12 |
| |
| 58.13% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.39375 | | totalSentences | 160 | | uniqueOpeners | 63 | |
| 38.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 86 | | matches | | 0 | "Then, slowly, she nodded." |
| | ratio | 0.012 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 86 | | matches | | 0 | "She counted three regulars nursing" | | 1 | "He set a whiskey sour" | | 2 | "She took a long sip," | | 3 | "She knew that voice." | | 4 | "He'd always been too observant" | | 5 | "She did know, had known" | | 6 | "She'd told herself it was" | | 7 | "She stopped herself" | | 8 | "She stared at the remnants" | | 9 | "She lowered it again, leaning" | | 10 | "She broke off, pressing her" | | 11 | "Her shoulders shook once, twice." | | 12 | "she said quietly" | | 13 | "Her fingers were cold from" | | 14 | "he said, his hazel eyes" | | 15 | "He retreated before either of" |
| | ratio | 0.186 | |
| 47.21% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 71 | | totalSentences | 86 | | matches | | 0 | "The green neon sign of" | | 1 | "Aurora pushed through the door," | | 2 | "Thursday nights were dead." | | 3 | "She counted three regulars nursing" | | 4 | "He set a whiskey sour" | | 5 | "Rory slid onto the stool" | | 6 | "She took a long sip," | | 7 | "Silas's mouth twitched beneath his" | | 8 | "The door opened behind her," | | 9 | "Rory didn't turn." | | 10 | "The Nest attracted all sorts—Silas's" | | 11 | "Footsteps approached the bar." | | 12 | "A woman's voice, somewhere behind" | | 13 | "Rory's hand froze halfway to" | | 14 | "She knew that voice." | | 15 | "Silas reached for a pint" | | 16 | "He'd always been too observant" | | 17 | "The woman standing beside her" | | 18 | "The kind of thin that" | | 19 | "Eva's gaze landed on her," |
| | ratio | 0.826 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 86 | | matches | (empty) | | ratio | 0 | |
| 73.73% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 31 | | technicalSentenceCount | 3 | | matches | | 0 | "Aurora pushed through the door, shaking droplets from her jacket, the smell of old wood and cigarette smoke that had seeped into the walls decades ago wrapping …" | | 1 | "The Nest attracted all sorts—Silas's network of contacts drifting in and out like ghosts, tourists who'd wandered off the beaten path, locals seeking refuge fro…" | | 2 | "The friend who'd convinced her to flee Cardiff, who'd helped her find the flat, who'd introduced her to Yu-Fei and held her hand through those first terrible mo…" |
| |
| 86.54% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 26 | | uselessAdditionCount | 2 | | matches | | 0 | "Silas reached, his eyes flicking briefly to Rory's face" | | 1 | "Rory reached out, her hand hovering in the space between them" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 88 | | tagDensity | 0.102 | | leniency | 0.205 | | rawRatio | 0 | | effectiveRatio | 0 | |