| 50.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 3 | | adverbTags | | 0 | "Quinn brushed away [away]" | | 1 | "Eva smiled softly [softly]" | | 2 | "Eva spoke again [again]" |
| | dialogueSentences | 35 | | tagDensity | 0.571 | | leniency | 1 | | rawRatio | 0.15 | | effectiveRatio | 0.15 | |
| 73.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 926 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "suddenly" | | 1 | "quickly" | | 2 | "softly" | | 3 | "slowly" |
| |
| 100.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 40.60% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 926 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "echoed" | | 1 | "navigated" | | 2 | "chaotic" | | 3 | "familiar" | | 4 | "amidst" | | 5 | "fascinating" | | 6 | "depths" | | 7 | "whisper" | | 8 | "trembled" | | 9 | "silence" |
| |
| 33.33% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 3 | | maxInWindow | 3 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 3 |
|
| | highlights | | 0 | "eyes narrowed" | | 1 | "eyes widened" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 56 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 56 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 71 | | 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 | 922 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 651 | | uniqueNames | 11 | | maxNameDensity | 2.61 | | worstName | "Quinn" | | maxWindowNameDensity | 6 | | worstWindowName | "Eva" | | discoveredNames | | Tube | 1 | | Camden | 1 | | Harlow | 1 | | Quinn | 17 | | Davis | 2 | | Hanging | 1 | | Davies | 2 | | London | 1 | | Standing | 1 | | Eva | 15 | | Kowalski | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Davis" | | 3 | "Hanging" | | 4 | "Davies" | | 5 | "Eva" | | 6 | "Kowalski" |
| | places | | | globalScore | 0.194 | | windowScore | 0 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like the inside of a dormant beast" | | 1 | "As if protecting some inner sanctum" | | 2 | "quite match the tender age of the owner" |
| |
| 91.54% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 1.085 | | wordCount | 922 | | matches | | 0 | "Not one I recognise… You could bring in an expert, but-\"" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 71 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 20.95 | | std | 13 | | cv | 0.62 | | sampleLengths | | 0 | 53 | | 1 | 58 | | 2 | 12 | | 3 | 14 | | 4 | 41 | | 5 | 18 | | 6 | 13 | | 7 | 11 | | 8 | 13 | | 9 | 26 | | 10 | 17 | | 11 | 11 | | 12 | 13 | | 13 | 3 | | 14 | 10 | | 15 | 18 | | 16 | 55 | | 17 | 16 | | 18 | 30 | | 19 | 34 | | 20 | 17 | | 21 | 2 | | 22 | 17 | | 23 | 12 | | 24 | 33 | | 25 | 11 | | 26 | 24 | | 27 | 24 | | 28 | 25 | | 29 | 14 | | 30 | 6 | | 31 | 21 | | 32 | 12 | | 33 | 28 | | 34 | 15 | | 35 | 10 | | 36 | 26 | | 37 | 44 | | 38 | 22 | | 39 | 18 | | 40 | 6 | | 41 | 20 | | 42 | 30 | | 43 | 19 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 56 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 123 | | matches | (empty) | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 1 | | semicolonCount | 0 | | flaggedSentences | 1 | | totalSentences | 71 | | ratio | 0.014 | | matches | | 0 | "The riddle nestled in her mind, stoking the fire of her curiosity—a flame that drove her, again and again, to brave the murkiest depths of London’s underbelly and uncover what lurked beneath its surface." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 653 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 23 | | adverbRatio | 0.03522205206738132 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.015313935681470138 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 71 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 71 | | mean | 12.99 | | std | 7.95 | | cv | 0.612 | | sampleLengths | | 0 | 14 | | 1 | 12 | | 2 | 15 | | 3 | 8 | | 4 | 4 | | 5 | 14 | | 6 | 6 | | 7 | 7 | | 8 | 3 | | 9 | 2 | | 10 | 16 | | 11 | 10 | | 12 | 12 | | 13 | 14 | | 14 | 8 | | 15 | 13 | | 16 | 9 | | 17 | 11 | | 18 | 18 | | 19 | 13 | | 20 | 11 | | 21 | 3 | | 22 | 10 | | 23 | 26 | | 24 | 17 | | 25 | 11 | | 26 | 9 | | 27 | 4 | | 28 | 3 | | 29 | 10 | | 30 | 18 | | 31 | 12 | | 32 | 43 | | 33 | 11 | | 34 | 5 | | 35 | 21 | | 36 | 6 | | 37 | 3 | | 38 | 34 | | 39 | 17 | | 40 | 2 | | 41 | 17 | | 42 | 12 | | 43 | 33 | | 44 | 7 | | 45 | 4 | | 46 | 18 | | 47 | 6 | | 48 | 24 | | 49 | 25 |
| |
| 97.18% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.6056338028169014 | | totalSentences | 71 | | uniqueOpeners | 43 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 54 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 7 | | totalSentences | 54 | | matches | | 0 | "Its concrete entrails, once pulsating" | | 1 | "It smelled of fresh ink" | | 2 | "She smirked, surveying the chaotic" | | 3 | "She approached, the ground crunching" | | 4 | "He chuckled, removing his cap" | | 5 | "She cut him off, reaching" | | 6 | "she corrected, dialling a number" |
| | ratio | 0.13 | |
| 52.59% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 44 | | totalSentences | 54 | | matches | | 0 | "The abandoned Tube station in" | | 1 | "Its concrete entrails, once pulsating" | | 2 | "Detective Harlow Quinn's leather-clad steps" | | 3 | "A crime scene, but not" | | 4 | "Something far from mundane." | | 5 | "The fluorescent torchlight bounced off" | | 6 | "It smelled of fresh ink" | | 7 | "Coppers were notorious for their" | | 8 | "She smirked, surveying the chaotic" | | 9 | "A familiar voice called from" | | 10 | "She approached, the ground crunching" | | 11 | "DS Davis, a stout, freckled" | | 12 | "Guards stood at attention, their" | | 13 | "DS Davis said, gazing at" | | 14 | "Quinn stooped, her keen eyes" | | 15 | "Quinn's eyes narrowed." | | 16 | "He chuckled, removing his cap" | | 17 | "Quinn brushed away dust, revealing" | | 18 | "She cut him off, reaching" | | 19 | "she corrected, dialling a number" |
| | ratio | 0.815 | |
| 92.59% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 54 | | matches | | 0 | "As if protecting some inner" |
| | ratio | 0.019 | |
| 45.45% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 22 | | technicalSentenceCount | 3 | | matches | | 0 | "The riddle nestled in her mind, stoking the fire of her curiosity—a flame that drove her, again and again, to brave the murkiest depths of London’s underbelly a…" | | 1 | "Standing by the entrance stood a girl, the newly arrived Eva Kowalski, accompanied by a tumbling wave of vibrant red hair and a full satchel of books that hung …" | | 2 | "Quinn paused, giving Eva a moment to gather her thoughts, watching as the young woman's fingers found the satchel's strap, clutching it as if for protection." |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 4 | | matches | | 0 | "Quinn stooped, her keen eyes scrutinising the scorch marks" | | 1 | "Quinn pressed, intuition piquing her interest further" | | 2 | "Eva nodded, her voice soft as a whisper" | | 3 | "Quinn soothed, a subtle smile curling her lips" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 6 | | fancyTags | | 0 | "He chuckled (chuckle)" | | 1 | "she corrected (correct)" | | 2 | "Davies chuckled (chuckle)" | | 3 | "Quinn pressed (press)" | | 4 | "Quinn continued (continue)" | | 5 | "Eva spoke again (speak)" |
| | dialogueSentences | 35 | | tagDensity | 0.229 | | leniency | 0.457 | | rawRatio | 0.75 | | effectiveRatio | 0.343 | |