| 73.42% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 5 | | adverbTags | | 0 | "She looked around [around]" | | 1 | "she said finally [finally]" | | 2 | "she said quietly [quietly]" | | 3 | "She gestured vaguely [vaguely]" | | 4 | "she said finally [finally]" |
| | dialogueSentences | 79 | | tagDensity | 0.253 | | leniency | 0.506 | | rawRatio | 0.25 | | effectiveRatio | 0.127 | |
| 71.93% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1781 | | totalAiIsmAdverbs | 10 | | found | | | highlights | | 0 | "slightly" | | 1 | "really" | | 2 | "very" | | 3 | "carefully" |
| |
| 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) | |
| 66.31% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1781 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "warmth" | | 1 | "familiar" | | 2 | "flickered" | | 3 | "silence" | | 4 | "unreadable" | | 5 | "perfect" | | 6 | "weight" | | 7 | "echo" | | 8 | "crystal" | | 9 | "glistening" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "weight of words/silence" | | count | 1 |
|
| | highlights | | 0 | "The weight of those words" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 107 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 107 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 164 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1758 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 69 | | wordCount | 1129 | | uniqueNames | 14 | | maxNameDensity | 2.57 | | worstName | "Katherine" | | maxWindowNameDensity | 5 | | worstWindowName | "Katherine" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Silas | 5 | | Aurora | 19 | | Cardiff | 4 | | Katherine | 29 | | Evan | 2 | | Bristol | 1 | | London | 2 | | Jennifer | 1 | | Carter | 1 | | Ellis | 1 | | Pre-Law | 1 | | Cash | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Aurora" | | 4 | "Katherine" | | 5 | "Evan" | | 6 | "Jennifer" | | 7 | "Carter" | | 8 | "Ellis" | | 9 | "Cash" |
| | places | | 0 | "Cardiff" | | 1 | "Bristol" | | 2 | "London" |
| | globalScore | 0.216 | | windowScore | 0 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 71 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1758 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 164 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 86 | | mean | 20.44 | | std | 22.25 | | cv | 1.089 | | sampleLengths | | 0 | 89 | | 1 | 4 | | 2 | 76 | | 3 | 4 | | 4 | 3 | | 5 | 1 | | 6 | 13 | | 7 | 1 | | 8 | 50 | | 9 | 26 | | 10 | 14 | | 11 | 8 | | 12 | 3 | | 13 | 50 | | 14 | 2 | | 15 | 55 | | 16 | 5 | | 17 | 1 | | 18 | 10 | | 19 | 30 | | 20 | 3 | | 21 | 13 | | 22 | 4 | | 23 | 4 | | 24 | 30 | | 25 | 3 | | 26 | 3 | | 27 | 21 | | 28 | 12 | | 29 | 2 | | 30 | 37 | | 31 | 4 | | 32 | 2 | | 33 | 17 | | 34 | 5 | | 35 | 8 | | 36 | 41 | | 37 | 3 | | 38 | 7 | | 39 | 2 | | 40 | 32 | | 41 | 1 | | 42 | 22 | | 43 | 2 | | 44 | 65 | | 45 | 46 | | 46 | 2 | | 47 | 38 | | 48 | 5 | | 49 | 42 |
| |
| 95.43% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 107 | | matches | | 0 | "was fixed" | | 1 | "were bitten" | | 2 | "being asked" |
| |
| 59.65% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 190 | | matches | | 0 | "wasn't smoking" | | 1 | "was making" | | 2 | "was looking" | | 3 | "was watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 13 | | totalSentences | 164 | | ratio | 0.079 | | matches | | 0 | "She nodded at Silas behind the bar—he raised a glass in acknowledgment, the silver signet ring on his right hand catching the light—and made her way toward the corner booth she'd claimed as her own over the past three years." | | 1 | "Something familiar in the angle of those shoulders, the way she held her cigarette—no, she wasn't smoking, just turning the unlit thing between her fingers." | | 2 | "Three years since Cardiff, since late nights in the university library, since Katherine had held her hair back at a party and told her she was making a mistake with Evan, since everything fell apart and Aurora ran and Katherine—" | | 3 | "Her eyes—still that penetrating grey-green—carried shadows that no amount of concealer could hide." | | 4 | "Silas studied Katherine for a moment—his hazel eyes sharp despite the easy smile he wore—and gave a small nod." | | 5 | "Aurora watched Katherine watch the bar—the old maps on the walls, the black-and-white photographs of a London that no longer existed, the faded booth seats that had seen better decades." | | 6 | "Katherine wrapped both hands around the glass, and Aurora caught sight of something on her left hand—no ring, but the pale band of skin where one had been." | | 7 | "The safety of Silas's network, his quiet protection, the way he never asked about the scars she'd carried with her from Cardiff—visible and invisible both." | | 8 | "Searching for something—truth, perhaps, or reassurance, or maybe just a version of the past she could hold onto." | | 9 | "She raised her chin slightly—I'm fine—and his attention drifted elsewhere." | | 10 | "Katherine had been the only one who'd said something, who'd pulled her aside at a party and asked if she was alright, really alright—and Aurora had lied, because that was easier, because admitting the truth would have meant confronting it." | | 11 | "Aurora looked at her old friend—really looked, past the expensive clothes and the carefully maintained composure, to the exhaustion underneath." | | 12 | "Katherine smiled—a real smile this time, small and tired and genuine." |
| |
| 86.52% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1151 | | adjectiveStacks | 1 | | stackExamples | | 0 | "grey-green-carried shadows" |
| | adverbCount | 54 | | adverbRatio | 0.04691572545612511 | | lyAdverbCount | 25 | | lyAdverbRatio | 0.021720243266724587 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 164 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 164 | | mean | 10.72 | | std | 9.97 | | cv | 0.93 | | sampleLengths | | 0 | 22 | | 1 | 19 | | 2 | 8 | | 3 | 40 | | 4 | 4 | | 5 | 3 | | 6 | 28 | | 7 | 7 | | 8 | 13 | | 9 | 25 | | 10 | 4 | | 11 | 3 | | 12 | 1 | | 13 | 2 | | 14 | 11 | | 15 | 1 | | 16 | 8 | | 17 | 2 | | 18 | 40 | | 19 | 3 | | 20 | 3 | | 21 | 13 | | 22 | 7 | | 23 | 13 | | 24 | 1 | | 25 | 3 | | 26 | 5 | | 27 | 3 | | 28 | 3 | | 29 | 8 | | 30 | 9 | | 31 | 4 | | 32 | 22 | | 33 | 4 | | 34 | 2 | | 35 | 7 | | 36 | 16 | | 37 | 13 | | 38 | 8 | | 39 | 8 | | 40 | 3 | | 41 | 5 | | 42 | 1 | | 43 | 6 | | 44 | 4 | | 45 | 8 | | 46 | 12 | | 47 | 10 | | 48 | 3 | | 49 | 11 |
| |
| 67.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.4329268292682927 | | totalSentences | 164 | | uniqueOpeners | 71 | |
| 34.01% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 98 | | matches | | 0 | "Maybe someone had mentioned seeing" |
| | ratio | 0.01 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 23 | | totalSentences | 98 | | matches | | 0 | "She nodded at Silas behind" | | 1 | "She stopped mid-stride." | | 2 | "They stared at each other" | | 3 | "It didn't, really." | | 4 | "She'd always been thorough." | | 5 | "Her eyes—still that penetrating grey-green-carried" | | 6 | "She'd always been thin, but" | | 7 | "He set down a pint" | | 8 | "He left them in the" | | 9 | "She smoothed her blazer" | | 10 | "She downed half the whisky" | | 11 | "She finished the whisky" | | 12 | "She looked around the bar" | | 13 | "Her delivery shifts in all" | | 14 | "she said finally" | | 15 | "She met Aurora's eyes" | | 16 | "she said quietly" | | 17 | "She raised her chin slightly—I'm" | | 18 | "She gestured vaguely at herself," | | 19 | "She turned the empty whisky" |
| | ratio | 0.235 | |
| 21.22% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 86 | | totalSentences | 98 | | matches | | 0 | "The green neon sign bled" | | 1 | "Aurora pushed through the door" | | 2 | "The warmth hit her face" | | 3 | "She nodded at Silas behind" | | 4 | "Someone sat in it." | | 5 | "She stopped mid-stride." | | 6 | "The woman occupied the seat" | | 7 | "A blazer that probably cost" | | 8 | "Something familiar in the angle" | | 9 | "The woman looked up." | | 10 | "Aurora's breath caught." | | 11 | "They stared at each other" | | 12 | "Katherine had stayed." | | 13 | "The one her father pulled" | | 14 | "Katherine gestured at the seat" | | 15 | "Aurora remained standing." | | 16 | "It didn't, really." | | 17 | "Cardiff was a small city," | | 18 | "Evan's crowd still talked about" | | 19 | "The girl who ran." |
| | ratio | 0.878 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 98 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 39 | | technicalSentenceCount | 2 | | matches | | 0 | "The green neon sign bled through the rain-speckled window, casting the bar in a sickly glow that made everyone look slightly unwell." | | 1 | "Katherine had been the only one who'd said something, who'd pulled her aside at a party and asked if she was alright, really alright—and Aurora had lied, becaus…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 3 | | fancyTags | | 0 | "Katherine laughed (laugh)" | | 1 | "Katherine admitted (admit)" | | 2 | "Katherine laughed (laugh)" |
| | dialogueSentences | 79 | | tagDensity | 0.101 | | leniency | 0.203 | | rawRatio | 0.375 | | effectiveRatio | 0.076 | |