| 48.48% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 25 | | adverbTagCount | 5 | | adverbTags | | 0 | "she said quietly [quietly]" | | 1 | "she said softly [softly]" | | 2 | "He smiled faintly [faintly]" | | 3 | "he said quietly [quietly]" | | 4 | "she said softly [softly]" |
| | dialogueSentences | 66 | | tagDensity | 0.379 | | leniency | 0.758 | | rawRatio | 0.2 | | effectiveRatio | 0.152 | |
| 71.26% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1392 | | totalAiIsmAdverbs | 8 | | found | | | highlights | | 0 | "suddenly" | | 1 | "softly" | | 2 | "slowly" | | 3 | "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) | |
| 35.34% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1392 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "flickered" | | 1 | "weight" | | 2 | "etched" | | 3 | "flicked" | | 4 | "unreadable" | | 5 | "unspoken" | | 6 | "trembled" | | 7 | "silence" | | 8 | "reminder" |
| |
| 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 the moment" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 109 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 109 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 150 | | 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 | 9 | | markdownWords | 15 | | totalWords | 1381 | | ratio | 0.011 | | matches | | 0 | "him" | | 1 | "he" | | 2 | "changes" | | 3 | "know" | | 4 | "Two days ago. King’s Cross." | | 5 | "you" | | 6 | "look at me" | | 7 | "knowing" | | 8 | "ran" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 21 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 959 | | uniqueNames | 6 | | maxNameDensity | 1.15 | | worstName | "Silas" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 2 | | Nest | 2 | | London | 2 | | Rory | 8 | | Took | 1 | | Silas | 11 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Silas" |
| | places | | | globalScore | 0.926 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 60 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.724 | | wordCount | 1381 | | matches | | 0 | "not on open fields but in rooms with no windows" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 150 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 72 | | mean | 19.18 | | std | 19.16 | | cv | 0.999 | | sampleLengths | | 0 | 99 | | 1 | 7 | | 2 | 71 | | 3 | 12 | | 4 | 16 | | 5 | 62 | | 6 | 8 | | 7 | 7 | | 8 | 85 | | 9 | 31 | | 10 | 11 | | 11 | 26 | | 12 | 33 | | 13 | 6 | | 14 | 1 | | 15 | 2 | | 16 | 20 | | 17 | 32 | | 18 | 5 | | 19 | 26 | | 20 | 12 | | 21 | 17 | | 22 | 24 | | 23 | 13 | | 24 | 5 | | 25 | 6 | | 26 | 30 | | 27 | 10 | | 28 | 38 | | 29 | 22 | | 30 | 12 | | 31 | 30 | | 32 | 8 | | 33 | 2 | | 34 | 68 | | 35 | 30 | | 36 | 6 | | 37 | 2 | | 38 | 39 | | 39 | 14 | | 40 | 7 | | 41 | 12 | | 42 | 12 | | 43 | 30 | | 44 | 16 | | 45 | 16 | | 46 | 33 | | 47 | 9 | | 48 | 27 | | 49 | 44 |
| |
| 98.83% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 109 | | matches | | 0 | "been finished" | | 1 | "was scrawled" |
| |
| 53.48% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 182 | | matches | | 0 | "wasn’t expecting" | | 1 | "weren’t saying" | | 2 | "was still piercing" | | 3 | "was already wiping" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 150 | | ratio | 0.073 | | matches | | 0 | "The hinge groaned, a sound that had greeted countless patrons over the years—most of whom had come and gone without a trace." | | 1 | "The years had etched themselves into him—his auburn hair now streaked with silver, the limp in his left leg more pronounced since the last time she’d seen him." | | 2 | "“Rory,” he said, voice low, rough with age and something else—something unspoken." | | 3 | "The Raven’s Nest hadn’t changed—same maps on the walls, same black-and-white photographs of faces she didn’t recognise, same quiet hum of clipped words and clinking glasses." | | 4 | "Rory picked up the glass, let the scent rise—peat, smoke, years of stored memory." | | 5 | "“You don’t know what it’s like to wake up every day with the weight of something you didn’t do, something you let happen, something you couldn’t stop.” Her left wrist twitched—the old scar hidden beneath her sleeve, a reminder of another kind of wound." | | 6 | "Inside was a photograph—grainy, black-and-white." | | 7 | "But the old habit of trust, of following Silas’s lead, was still there—buried, but not gone." | | 8 | "The lines around his eyes, the weariness in his shoulders—no longer the sharp intelligence operative she’d known, but a man worn down by years of silence and solitude." | | 9 | "Both of them flinched—old reflexes, old instincts." | | 10 | "The neon sign flickered once more, green bleeding into darkness, then back again—like a heartbeat that wouldn’t stay steady." |
| |
| 91.03% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 975 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 49 | | adverbRatio | 0.050256410256410255 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.013333333333333334 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 150 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 150 | | mean | 9.21 | | std | 7.38 | | cv | 0.802 | | sampleLengths | | 0 | 28 | | 1 | 25 | | 2 | 24 | | 3 | 22 | | 4 | 7 | | 5 | 22 | | 6 | 28 | | 7 | 21 | | 8 | 12 | | 9 | 15 | | 10 | 1 | | 11 | 7 | | 12 | 23 | | 13 | 13 | | 14 | 19 | | 15 | 8 | | 16 | 5 | | 17 | 2 | | 18 | 15 | | 19 | 7 | | 20 | 26 | | 21 | 3 | | 22 | 34 | | 23 | 15 | | 24 | 12 | | 25 | 4 | | 26 | 9 | | 27 | 2 | | 28 | 12 | | 29 | 7 | | 30 | 7 | | 31 | 11 | | 32 | 14 | | 33 | 4 | | 34 | 4 | | 35 | 6 | | 36 | 1 | | 37 | 2 | | 38 | 16 | | 39 | 4 | | 40 | 25 | | 41 | 7 | | 42 | 5 | | 43 | 20 | | 44 | 6 | | 45 | 12 | | 46 | 4 | | 47 | 6 | | 48 | 7 | | 49 | 3 |
| |
| 47.56% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.3333333333333333 | | totalSentences | 150 | | uniqueOpeners | 50 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 93 | | matches | | 0 | "Instead, she looked around, avoiding" | | 1 | "Of course he’d see it." | | 2 | "Then, slowly, he reached under" | | 3 | "Then, slowly, she stood." |
| | ratio | 0.043 | |
| 52.26% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 39 | | totalSentences | 93 | | matches | | 0 | "She wasn’t expecting to see" | | 1 | "His hazel eyes flicked up" | | 2 | "he said, voice low, rough" | | 3 | "She froze halfway to the" | | 4 | "He set the glass down," | | 5 | "She pulled out the stool" | | 6 | "He poured two fingers into" | | 7 | "She nodded, watching the amber" | | 8 | "He poured himself one, slower," | | 9 | "She took a sip." | | 10 | "she said quietly" | | 11 | "She wanted to ask him" | | 12 | "He rubbed his knee absently," | | 13 | "His fingers stilled on the" | | 14 | "He leaned forward, voice dropping" | | 15 | "He held up a hand," | | 16 | "she shot back" | | 17 | "His eyes darkened." | | 18 | "She set the glass down" | | 19 | "she said softly" |
| | ratio | 0.419 | |
| 40.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 78 | | totalSentences | 93 | | matches | | 0 | "The Raven’s Nest had always" | | 1 | "The green neon sign outside" | | 2 | "Rory pushed through the door," | | 3 | "The hinge groaned, a sound" | | 4 | "She wasn’t expecting to see" | | 5 | "Silas stood motionless behind the" | | 6 | "The years had etched themselves" | | 7 | "His hazel eyes flicked up" | | 8 | "he said, voice low, rough" | | 9 | "She froze halfway to the" | | 10 | "The regulars hunched over their" | | 11 | "He set the glass down," | | 12 | "The silver signet ring on" | | 13 | "Rory swallowed, throat suddenly dry." | | 14 | "She pulled out the stool" | | 15 | "The worn leather creaked under" | | 16 | "The Raven’s Nest hadn’t changed—same" | | 17 | "Time had etched lines into" | | 18 | "Silas reached beneath the bar" | | 19 | "He poured two fingers into" |
| | ratio | 0.839 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 93 | | matches | (empty) | | ratio | 0 | |
| 75.89% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 3 | | matches | | 0 | "The hinge groaned, a sound that had greeted countless patrons over the years—most of whom had come and gone without a trace." | | 1 | "Silas stood motionless behind the bar, polishing a glass with a rag that had long since lost any hope of becoming clean." | | 2 | "The neon sign flickered once more, green bleeding into darkness, then back again—like a heartbeat that wouldn’t stay steady." |
| |
| 45.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 25 | | uselessAdditionCount | 4 | | matches | | 0 | "he said, voice low, rough with age and something else—something unspoken" | | 1 | "He rubbed, the old injury twinging in the damp London air" | | 2 | "He leaned, voice dropping" | | 3 | "Her left, a reminder of another kind of wound" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 15 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 66 | | tagDensity | 0.227 | | leniency | 0.455 | | rawRatio | 0 | | effectiveRatio | 0 | |