| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 92.30% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1298 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 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) | |
| 30.66% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1298 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "familiar" | | 1 | "methodical" | | 2 | "rhythmic" | | 3 | "weight" | | 4 | "navigating" | | 5 | "scanning" | | 6 | "lilt" | | 7 | "measured" | | 8 | "efficient" | | 9 | "traced" | | 10 | "silence" | | 11 | "calculated" | | 12 | "beacon" |
| |
| 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 | 95 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 95 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 95 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 40 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1293 | | ratio | 0 | | matches | (empty) | |
| 69.44% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 2 | | matches | | 0 | "Rory, he said." | | 1 | "I heard you moved to London, he said, pulling a leather wallet from his inner pocket to signal for a drink." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 46 | | wordCount | 1293 | | uniqueNames | 16 | | maxNameDensity | 0.7 | | worstName | "Brendan" | | maxWindowNameDensity | 2 | | worstWindowName | "Brendan" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Rory | 8 | | Tuesday | 1 | | Golden | 1 | | Empress | 1 | | London | 4 | | Cardiff | 3 | | Evan | 3 | | Brendan | 9 | | Silas | 7 | | High | 1 | | Court | 1 | | Legal | 1 | | Aid | 1 | | You | 3 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Empress" | | 4 | "Evan" | | 5 | "Brendan" | | 6 | "Silas" | | 7 | "You" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 76 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1293 | | matches | (empty) | |
| 96.49% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 95 | | matches | | 0 | "convinced that time" | | 1 | "knew that some" |
| |
| 85.86% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 44.59 | | std | 20.09 | | cv | 0.451 | | sampleLengths | | 0 | 88 | | 1 | 56 | | 2 | 63 | | 3 | 47 | | 4 | 43 | | 5 | 61 | | 6 | 13 | | 7 | 63 | | 8 | 45 | | 9 | 15 | | 10 | 44 | | 11 | 44 | | 12 | 32 | | 13 | 28 | | 14 | 45 | | 15 | 22 | | 16 | 55 | | 17 | 13 | | 18 | 66 | | 19 | 37 | | 20 | 21 | | 21 | 59 | | 22 | 44 | | 23 | 49 | | 24 | 16 | | 25 | 32 | | 26 | 44 | | 27 | 54 | | 28 | 94 |
| |
| 94.18% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 95 | | matches | | 0 | "was tired" | | 1 | "were destined" | | 2 | "were tired" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 224 | | matches | | 0 | "were shifting" | | 1 | "was polishing" | | 2 | "was intently reorganizing" |
| |
| 22.56% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 95 | | ratio | 0.042 | | matches | | 0 | "The small, crescent-shaped scar on her left wrist caught the light—a relic of a childhood she sometimes struggled to remember as her own." | | 1 | "The man looked familiar—the structured set of his jaw, the way he carried his shoulders—but the man who had occupied her memories had been softer, unformed, fueled by the reckless kinetic energy of their student days in Cardiff." | | 2 | "He saw the change—the guarded blue eyes, the way her shoulders stayed pulled back, the subtle scar on her wrist that spoke of a history she never shared with him." | | 3 | "He didn't look up, but he reached under the bar, and the mechanism triggered—a soft, pneumatic hiss." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1305 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small, crescent-shaped scar" |
| | adverbCount | 40 | | adverbRatio | 0.03065134099616858 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.00842911877394636 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 95 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 95 | | mean | 13.61 | | std | 8.76 | | cv | 0.644 | | sampleLengths | | 0 | 25 | | 1 | 13 | | 2 | 21 | | 3 | 29 | | 4 | 21 | | 5 | 17 | | 6 | 18 | | 7 | 12 | | 8 | 23 | | 9 | 28 | | 10 | 20 | | 11 | 27 | | 12 | 13 | | 13 | 13 | | 14 | 17 | | 15 | 11 | | 16 | 5 | | 17 | 38 | | 18 | 7 | | 19 | 13 | | 20 | 1 | | 21 | 10 | | 22 | 20 | | 23 | 3 | | 24 | 29 | | 25 | 2 | | 26 | 13 | | 27 | 30 | | 28 | 3 | | 29 | 12 | | 30 | 1 | | 31 | 14 | | 32 | 29 | | 33 | 8 | | 34 | 22 | | 35 | 14 | | 36 | 21 | | 37 | 5 | | 38 | 5 | | 39 | 1 | | 40 | 1 | | 41 | 11 | | 42 | 16 | | 43 | 6 | | 44 | 13 | | 45 | 9 | | 46 | 5 | | 47 | 12 | | 48 | 5 | | 49 | 17 |
| |
| 36.32% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.28421052631578947 | | totalSentences | 95 | | uniqueOpeners | 27 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 87 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 49 | | totalSentences | 87 | | matches | | 0 | "She pushed inside, the bell" | | 1 | "It was a slow Tuesday," | | 2 | "He was polishing a glass" | | 3 | "She was tired, the heavy" | | 4 | "He leaned his weight onto" | | 5 | "He paused, scanning the dim" | | 6 | "She felt her breath stutter." | | 7 | "He turned toward her, and" | | 8 | "It wasn't Evan." | | 9 | "It was Brendan, a friend" | | 10 | "He pulled his hands from" | | 11 | "He looked older, the sharp," | | 12 | "She didn't move, her fingers" | | 13 | "She wondered if he noticed" | | 14 | "He walked over, his stride" | | 15 | "He looked at Silas, who" | | 16 | "I heard you moved to" | | 17 | "I didn't think you’d be…" | | 18 | "You mean in a place" | | 19 | "He kept his eyes on" |
| | ratio | 0.563 | |
| 17.47% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 87 | | matches | | 0 | "The green neon sign of" | | 1 | "She pushed inside, the bell" | | 2 | "The air was a familiar" | | 3 | "It was a slow Tuesday," | | 4 | "Silas stood behind the polished" | | 5 | "He was polishing a glass" | | 6 | "Rory climbed onto a stool," | | 7 | "The small, crescent-shaped scar on" | | 8 | "She was tired, the heavy" | | 9 | "Silas reached for a bottle" | | 10 | "He leaned his weight onto" | | 11 | "A man stepped in, shaking" | | 12 | "He paused, scanning the dim" | | 13 | "Rory watched through the reflection" | | 14 | "She felt her breath stutter." | | 15 | "The man looked familiar—the structured" | | 16 | "This man looked carved out" | | 17 | "He turned toward her, and" | | 18 | "Rory thought, the name hitting" | | 19 | "It wasn't Evan." |
| | ratio | 0.885 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 87 | | matches | | 0 | "Before she could reach for" | | 1 | "To hunt down the ghost" | | 2 | "Before everything got so…" | | 3 | "If you want to find" |
| | ratio | 0.046 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 61 | | technicalSentenceCount | 14 | | matches | | 0 | "It was a slow Tuesday, the kind of quiet that allowed the old maps lining the walls to seem as though they were shifting under the dim amber light." | | 1 | "He was polishing a glass with the methodical, rhythmic motion of a man who didn't trust stillness." | | 2 | "She was tired, the heavy thermal bag of the Golden Empress still digging into her shoulder, a physical weight that mirrored the mental exhaustion of navigating …" | | 3 | "He paused, scanning the dim interior, his gaze catching on the maps before lingering on the bar." | | 4 | "The man looked familiar—the structured set of his jaw, the way he carried his shoulders—but the man who had occupied her memories had been softer, unformed, fue…" | | 5 | "He looked older, the sharp, hungry ambition in his eyes replaced by a heavy, opaque look of someone who had won every argument but lost the reason for having th…" | | 6 | "He looked at Silas, who gave the briefest of nods, a silent acknowledgment between two men who understood the utility of secrets." | | 7 | "She left her notes in Cardiff and her life in an apartment that felt like a cage." | | 8 | "He noticed her look and shifted it slightly, a nervous tic that betrayed the granite exterior." | | 9 | "I spent five years litigating insurance claims for corporations that don’t even know my name." | | 10 | "He saw the change—the guarded blue eyes, the way her shoulders stayed pulled back, the subtle scar on her wrist that spoke of a history she never shared with hi…" | | 11 | "Rory looked at Silas, who was intently reorganizing a rack of glasses, providing them with the illusion of privacy." | | 12 | "She left Brendan sitting at the bar, a man in a charcoal coat holding his drink, staring at the space where she had been." | | 13 | "Behind her, the bar went silent, save for the hum of the fridge and the soft, rhythmic clink of Silas polishing another glass, the sound of a mentor who knew th…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |