| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said quietly [quietly]" | | 1 | "she said instead [instead]" |
| | dialogueSentences | 79 | | tagDensity | 0.215 | | leniency | 0.43 | | rawRatio | 0.118 | | effectiveRatio | 0.051 | |
| 92.39% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1971 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "really" | | 1 | "slowly" | | 2 | "very" |
| |
| 80.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 64.49% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1971 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "fleeting" | | 1 | "crystal" | | 2 | "warmth" | | 3 | "perfect" | | 4 | "familiar" | | 5 | "silence" | | 6 | "flickered" | | 7 | "unsettled" | | 8 | "tracing" | | 9 | "measured" | | 10 | "pulsed" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 3 | | maxInWindow | 2 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "clenched jaw/fists" | | count | 1 |
| | 2 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | 0 | "eyes widened" | | 1 | "clenched fist" | | 2 | "hung in the air" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 86 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 86 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 148 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 60 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1960 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 21 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 60 | | wordCount | 1280 | | uniqueNames | 14 | | maxNameDensity | 2.03 | | worstName | "Cerys" | | maxWindowNameDensity | 5 | | worstWindowName | "Cerys" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Thursday | 1 | | Golden | 1 | | Empress | 1 | | October | 1 | | Aurora | 16 | | Powell | 1 | | Cerys | 26 | | Silas | 7 | | Silence | 1 | | Cardiff | 1 | | Bay | 1 | | London | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Powell" | | 2 | "Cerys" | | 3 | "Silas" | | 4 | "Silence" |
| | places | | 0 | "Raven" | | 1 | "Cardiff" | | 2 | "Bay" | | 3 | "London" |
| | globalScore | 0.484 | | windowScore | 0 | |
| 78.57% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a held breath" | | 1 | "seemed duller now, or perhaps the light had simply shifted" |
| |
| 97.96% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.02 | | wordCount | 1960 | | matches | | 0 | "not toward her glass, not toward her bag, but toward Aurora's wrist, toward the small scar" | | 1 | "not toward her bag, but toward Aurora's wrist, toward the small scar" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 148 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 96 | | mean | 20.42 | | std | 21.31 | | cv | 1.044 | | sampleLengths | | 0 | 76 | | 1 | 42 | | 2 | 9 | | 3 | 30 | | 4 | 1 | | 5 | 1 | | 6 | 35 | | 7 | 68 | | 8 | 24 | | 9 | 1 | | 10 | 67 | | 11 | 1 | | 12 | 73 | | 13 | 31 | | 14 | 6 | | 15 | 38 | | 16 | 4 | | 17 | 44 | | 18 | 3 | | 19 | 41 | | 20 | 4 | | 21 | 1 | | 22 | 6 | | 23 | 4 | | 24 | 20 | | 25 | 59 | | 26 | 4 | | 27 | 4 | | 28 | 64 | | 29 | 10 | | 30 | 51 | | 31 | 4 | | 32 | 18 | | 33 | 4 | | 34 | 9 | | 35 | 14 | | 36 | 2 | | 37 | 27 | | 38 | 15 | | 39 | 3 | | 40 | 45 | | 41 | 1 | | 42 | 1 | | 43 | 4 | | 44 | 15 | | 45 | 26 | | 46 | 21 | | 47 | 3 | | 48 | 4 | | 49 | 5 |
| |
| 93.02% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 86 | | matches | | 0 | "were filed" | | 1 | "been explained" | | 2 | "being asked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 221 | | matches | | |
| 7.72% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 148 | | ratio | 0.047 | | matches | | 0 | "Cerys glanced at him, then back at Aurora, and something shifted in her expression—a recalibration, as though she were trying to match the woman in the delivery jacket to the girl she once knew." | | 1 | "Her wedding ring caught the light—a band of white gold with a diamond that spoke of billable hours and sensible investments." | | 2 | "From somewhere in the back, Silas dropped something—a muted curse, the sound of metal on stone—but neither woman turned to look." | | 3 | "Cerys's face did something complicated, a series of micro-expressions that catalogued frustration and resignation and something else—something softer, more tentative, like a hand reaching toward a flame and pulling back at the last second." | | 4 | "Cerys's hand moved across the bar top—not toward her glass, not toward her bag, but toward Aurora's wrist, toward the small scar that had always been explained away as a childhood accident." | | 5 | "The bar sounds filled the silence—low conversations, the clink of glasses, the distant hum of traffic through walls that had heard a hundred confessions and would hear a hundred more." | | 6 | "Aurora wanted to say something—something that would bridge the gap, something that would acknowledge the friendship they'd shared and the failures they'd both carried and the years that had sculpted them into strangers who recognised each other's faces." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1291 | | adjectiveStacks | 1 | | stackExamples | | 0 | "different, polished smooth like" |
| | adverbCount | 42 | | adverbRatio | 0.032532920216886134 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.005422153369481022 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 148 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 148 | | mean | 13.24 | | std | 11.93 | | cv | 0.901 | | sampleLengths | | 0 | 13 | | 1 | 20 | | 2 | 21 | | 3 | 22 | | 4 | 14 | | 5 | 10 | | 6 | 18 | | 7 | 9 | | 8 | 13 | | 9 | 17 | | 10 | 1 | | 11 | 1 | | 12 | 12 | | 13 | 23 | | 14 | 23 | | 15 | 25 | | 16 | 20 | | 17 | 4 | | 18 | 20 | | 19 | 1 | | 20 | 6 | | 21 | 18 | | 22 | 43 | | 23 | 1 | | 24 | 8 | | 25 | 25 | | 26 | 13 | | 27 | 27 | | 28 | 15 | | 29 | 16 | | 30 | 6 | | 31 | 21 | | 32 | 17 | | 33 | 4 | | 34 | 10 | | 35 | 34 | | 36 | 3 | | 37 | 8 | | 38 | 16 | | 39 | 17 | | 40 | 4 | | 41 | 1 | | 42 | 6 | | 43 | 4 | | 44 | 4 | | 45 | 16 | | 46 | 7 | | 47 | 52 | | 48 | 4 | | 49 | 4 |
| |
| 50.45% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.3310810810810811 | | totalSentences | 148 | | uniqueOpeners | 49 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 79 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 79 | | matches | | 0 | "She dropped onto her usual" | | 1 | "She tucked a strand of" | | 2 | "He set the glass down" | | 3 | "She drank half of it" | | 4 | "Her heels clicked against the" | | 5 | "Her eyes widened, and her" | | 6 | "Her nails were filed into" | | 7 | "She used to sit like" | | 8 | "Her wedding ring caught the" | | 9 | "She set her glass down" | | 10 | "She caught herself, pressing her" | | 11 | "He poured it slowly, his" | | 12 | "Her fingers stopped just short" | | 13 | "She picked up her bag," | | 14 | "she said quietly" | | 15 | "she said at last" | | 16 | "She had learned restraint somewhere" | | 17 | "She missed the Cerys who" | | 18 | "She paused, half off the" | | 19 | "she said instead" |
| | ratio | 0.278 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 76 | | totalSentences | 79 | | matches | | 0 | "The green neon hummed outside," | | 1 | "Silas dried the last of" | | 2 | "The old maps on the" | | 3 | "Aurora pushed through the door" | | 4 | "The scent of five-spice and" | | 5 | "She dropped onto her usual" | | 6 | "Silas asked, already reaching for" | | 7 | "She tucked a strand of" | | 8 | "He set the glass down" | | 9 | "She drank half of it" | | 10 | "The door to the street" | | 11 | "Her heels clicked against the" | | 12 | "Something in the way she" | | 13 | "The woman found her." | | 14 | "Her eyes widened, and her" | | 15 | "Aurora's fingers tightened around her" | | 16 | "The voice was different, polished" | | 17 | "Someone who used to sing" | | 18 | "The word came out flatter" | | 19 | "Cerys Powell stood by the" |
| | ratio | 0.962 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 79 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 49 | | technicalSentenceCount | 10 | | matches | | 0 | "Someone who used to sing off-key to whatever song played in the student union, who once dyed a streak of pink into her fringe during exam term, who argued about…" | | 1 | "Cerys glanced at him, then back at Aurora, and something shifted in her expression—a recalibration, as though she were trying to match the woman in the delivery…" | | 2 | "Her wedding ring caught the light—a band of white gold with a diamond that spoke of billable hours and sensible investments." | | 3 | "He poured it slowly, his gaze lingering on Cerys with the particular attention he gave strangers who unsettled his regulars." | | 4 | "Cerys's face did something complicated, a series of micro-expressions that catalogued frustration and resignation and something else—something softer, more tent…" | | 5 | "Aurora's hand had gone to her left wrist without thinking, her thumb tracing the crescent scar there." | | 6 | "Cerys studied her, and Aurora could see her friend filling in the gaps, connecting dots she should have connected years ago but had been too caught up in her ow…" | | 7 | "The bar sounds filled the silence—low conversations, the clink of glasses, the distant hum of traffic through walls that had heard a hundred confessions and wou…" | | 8 | "She missed the Cerys who used to steal chips from her plate and argue about whether mandatory sentencing was just, the Cerys who laughed with her whole body and…" | | 9 | "Aurora wanted to say something—something that would bridge the gap, something that would acknowledge the friendship they'd shared and the failures they'd both c…" |
| |
| 95.59% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 1 | | matches | | 0 | "Cerys walked, her heels marking her progress across the floor" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 79 | | tagDensity | 0.127 | | leniency | 0.253 | | rawRatio | 0 | | effectiveRatio | 0 | |