| 63.64% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 22 | | adverbTagCount | 3 | | adverbTags | | 0 | "He straightened slightly [slightly]" | | 1 | "Rory said quietly [quietly]" | | 2 | "Jamie said abruptly [abruptly]" |
| | dialogueSentences | 38 | | tagDensity | 0.579 | | leniency | 1 | | rawRatio | 0.136 | | effectiveRatio | 0.136 | |
| 68.15% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1413 | | totalAiIsmAdverbs | 9 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | adverb | "deliberately" | | count | 1 |
| | 5 | |
| | highlights | | 0 | "carefully" | | 1 | "really" | | 2 | "slowly" | | 3 | "slightly" | | 4 | "deliberately" | | 5 | "very" |
| |
| 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) | |
| 71.69% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1413 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "measured" | | 1 | "silence" | | 2 | "calculated" | | 3 | "unspoken" | | 4 | "could feel" | | 5 | "echoes" | | 6 | "warmth" |
| |
| 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 | 101 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 101 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 117 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 33 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1403 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 22 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 1148 | | uniqueNames | 8 | | maxNameDensity | 0.96 | | worstName | "Jamie" | | maxWindowNameDensity | 2 | | worstWindowName | "Jamie" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Silas | 6 | | Jamie | 11 | | Rory | 10 | | London | 1 | | Didn | 1 | | Catherine | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Jamie" | | 4 | "Rory" | | 5 | "Catherine" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 14.86% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 4 | | matches | | 0 | "seemed calculated" | | 1 | "as if processing this" | | 2 | "something like, and meant it" | | 3 | "something like this" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.713 | | wordCount | 1403 | | matches | | 0 | "Not known exactly, but anticipated it, the way you anticipate" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 117 | | matches | | 0 | "heard that voice" | | 1 | "suggesting that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 53 | | mean | 26.47 | | std | 21.31 | | cv | 0.805 | | sampleLengths | | 0 | 55 | | 1 | 54 | | 2 | 37 | | 3 | 4 | | 4 | 12 | | 5 | 42 | | 6 | 12 | | 7 | 1 | | 8 | 67 | | 9 | 45 | | 10 | 12 | | 11 | 31 | | 12 | 8 | | 13 | 29 | | 14 | 7 | | 15 | 47 | | 16 | 56 | | 17 | 16 | | 18 | 19 | | 19 | 7 | | 20 | 2 | | 21 | 36 | | 22 | 31 | | 23 | 10 | | 24 | 3 | | 25 | 47 | | 26 | 45 | | 27 | 7 | | 28 | 5 | | 29 | 81 | | 30 | 9 | | 31 | 8 | | 32 | 16 | | 33 | 49 | | 34 | 20 | | 35 | 11 | | 36 | 4 | | 37 | 70 | | 38 | 6 | | 39 | 10 | | 40 | 38 | | 41 | 3 | | 42 | 46 | | 43 | 72 | | 44 | 5 | | 45 | 26 | | 46 | 46 | | 47 | 4 | | 48 | 34 | | 49 | 29 |
| |
| 91.37% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 101 | | matches | | 0 | "been sewn" | | 1 | "was styled" | | 2 | "was had" | | 3 | "been erased" |
| |
| 78.23% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 219 | | matches | | 0 | "was reaching" | | 1 | "was thinking" | | 2 | "were suggesting" | | 3 | "was saying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 117 | | ratio | 0.06 | | matches | | 0 | "She'd grown accustomed to it over the past three years—the way the scent wrapped around you like an old coat." | | 1 | "His jaw had acquired a sharper angle, and there was something in his bearing—a controlled straightness in his spine—that hadn't existed before." | | 2 | "\"Meeting a client. Well, I was. They cancelled last minute.\" He laughed—a smooth, professional sound that bore only a distant resemblance to the raw, unguarded laugh she remembered from university." | | 3 | "\"Long enough.\" He straightened slightly, and she watched the shift happen—like watching someone deliberately brace themselves." | | 4 | "The bar hummed around them—the low murmur of other conversations, the clink of bottles, the exhale of the rain hitting the window outside." | | 5 | "He was saying he would have invited her because that's what the version of himself he was presenting would do—maintain the appearance of connection to the past while keeping it safely compartmentalized." | | 6 | "\"I should get going. Catherine's expecting me.\" He extended his hand—a formal gesture, handshake territory." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1156 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 39 | | adverbRatio | 0.03373702422145329 | | lyAdverbCount | 20 | | lyAdverbRatio | 0.01730103806228374 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 117 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 117 | | mean | 11.99 | | std | 8.05 | | cv | 0.672 | | sampleLengths | | 0 | 17 | | 1 | 12 | | 2 | 26 | | 3 | 15 | | 4 | 20 | | 5 | 7 | | 6 | 12 | | 7 | 5 | | 8 | 12 | | 9 | 20 | | 10 | 4 | | 11 | 12 | | 12 | 14 | | 13 | 2 | | 14 | 26 | | 15 | 12 | | 16 | 1 | | 17 | 9 | | 18 | 20 | | 19 | 28 | | 20 | 10 | | 21 | 17 | | 22 | 6 | | 23 | 22 | | 24 | 12 | | 25 | 20 | | 26 | 11 | | 27 | 8 | | 28 | 24 | | 29 | 5 | | 30 | 7 | | 31 | 6 | | 32 | 30 | | 33 | 11 | | 34 | 4 | | 35 | 22 | | 36 | 6 | | 37 | 6 | | 38 | 9 | | 39 | 9 | | 40 | 10 | | 41 | 6 | | 42 | 19 | | 43 | 3 | | 44 | 4 | | 45 | 2 | | 46 | 7 | | 47 | 9 | | 48 | 20 | | 49 | 16 |
| |
| 59.54% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.39316239316239315 | | totalSentences | 117 | | uniqueOpeners | 46 | |
| 38.31% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 87 | | matches | | 0 | "Even the casual nature of" |
| | ratio | 0.011 | |
| 45.29% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 38 | | totalSentences | 87 | | matches | | 0 | "Her delivery shift had run" | | 1 | "She'd grown accustomed to it" | | 2 | "He glanced up, his hazel" | | 3 | "she said, sliding onto a" | | 4 | "She was reaching for a" | | 5 | "His hair was styled with" | | 6 | "His jaw had acquired a" | | 7 | "She hadn't meant for it" | | 8 | "He closed the distance between" | | 9 | "His smile arrived carefully, like" | | 10 | "She appreciated that about him." | | 11 | "He laughed—a smooth, professional sound" | | 12 | "She didn't respond immediately." | | 13 | "He filled the silence by" | | 14 | "he offered when she still" | | 15 | "He nodded slowly, as if" | | 16 | "His fingers drummed once against" | | 17 | "He straightened slightly, and she" | | 18 | "She could feel it in" | | 19 | "He would have said something" |
| | ratio | 0.437 | |
| 51.95% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 71 | | totalSentences | 87 | | matches | | 0 | "The green neon sign of" | | 1 | "Rory pushed through the heavy" | | 2 | "Her delivery shift had run" | | 3 | "The bar smelled of aged" | | 4 | "She'd grown accustomed to it" | | 5 | "A handful of patrons occupied" | | 6 | "Rory moved toward the bar." | | 7 | "Silas stood behind the counter," | | 8 | "He glanced up, his hazel" | | 9 | "she said, sliding onto a" | | 10 | "She was reaching for a" | | 11 | "A silhouette emerged from the" | | 12 | "The face that appeared in" | | 13 | "The Jamie she'd known had" | | 14 | "That Jamie had worn cheap" | | 15 | "This Jamie wore a tailored" | | 16 | "His hair was styled with" | | 17 | "His jaw had acquired a" | | 18 | "She hadn't meant for it" | | 19 | "He closed the distance between" |
| | ratio | 0.816 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 87 | | matches | | 0 | "As if he were suggesting" | | 1 | "As if how successful and" |
| | ratio | 0.023 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 7 | | matches | | 0 | "A silhouette emerged from the darkness, moving between tables with a careful, measured stride that triggered something in her chest before her mind could catch …" | | 1 | "His jaw had acquired a sharper angle, and there was something in his bearing—a controlled straightness in his spine—that hadn't existed before." | | 2 | "Silas had discreetly vanished into the back, leaving them alone in the way that suggested he'd learned long ago when to make himself scarce." | | 3 | "He filled the silence by sitting on the stool beside her, angling his body toward hers in a way that felt rehearsed." | | 4 | "As if he were suggesting that she, by remaining in London in a small flat above a bar, by delivering food for a living, had failed to meet some unspoken expecta…" | | 5 | "She'd wondered about him occasionally, in that distant way you wonder about people who've gone through significant portions of your life." | | 6 | "She'd gotten it at twelve when she'd fallen out of a tree in their back garden, trying to impress Jamie, of all people, who'd been visiting her parents with his…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 22 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 71.05% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 16 | | fancyCount | 3 | | fancyTags | | 0 | "He laughed— (laugh)" | | 1 | "He would (would)" | | 2 | "she confirmed (confirm)" |
| | dialogueSentences | 38 | | tagDensity | 0.421 | | leniency | 0.842 | | rawRatio | 0.188 | | effectiveRatio | 0.158 | |