| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 1 | | adverbTags | | 0 | "He laughed again [again]" |
| | dialogueSentences | 37 | | tagDensity | 0.351 | | leniency | 0.703 | | rawRatio | 0.077 | | effectiveRatio | 0.054 | |
| 76.04% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1252 | | totalAiIsmAdverbs | 6 | | found | | 0 | | | 1 | | | 2 | | | 3 | | adverb | "deliberately" | | count | 1 |
| | 4 | |
| | highlights | | 0 | "slightly" | | 1 | "really" | | 2 | "very" | | 3 | "deliberately" | | 4 | "slowly" |
| |
| 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) | |
| 72.04% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1252 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "methodical" | | 1 | "weight" | | 2 | "navigating" | | 3 | "trembled" | | 4 | "could feel" | | 5 | "silence" | | 6 | "reminder" |
| |
| 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 | 61 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 61 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 86 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 1239 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 849 | | uniqueNames | 8 | | maxNameDensity | 0.94 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | Nest | 1 | | London | 1 | | Silas | 5 | | Hartwell | 1 | | James | 6 | | Cardiff | 2 | | Rory | 8 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Hartwell" | | 4 | "James" | | 5 | "Rory" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 45 | | glossingSentenceCount | 4 | | matches | | 0 | "felt like lifetimes" | | 1 | "looked like someone had extracted all the" | | 2 | "sounded like an accusation" | | 3 | "not quite interrupting, but present" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.807 | | wordCount | 1239 | | matches | | 0 | "not quite interrupting, but present" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 86 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 28.16 | | std | 22.48 | | cv | 0.798 | | sampleLengths | | 0 | 72 | | 1 | 50 | | 2 | 11 | | 3 | 62 | | 4 | 3 | | 5 | 76 | | 6 | 16 | | 7 | 1 | | 8 | 48 | | 9 | 28 | | 10 | 2 | | 11 | 5 | | 12 | 42 | | 13 | 64 | | 14 | 13 | | 15 | 2 | | 16 | 30 | | 17 | 19 | | 18 | 30 | | 19 | 30 | | 20 | 33 | | 21 | 26 | | 22 | 44 | | 23 | 4 | | 24 | 51 | | 25 | 3 | | 26 | 5 | | 27 | 33 | | 28 | 70 | | 29 | 12 | | 30 | 67 | | 31 | 18 | | 32 | 57 | | 33 | 6 | | 34 | 20 | | 35 | 57 | | 36 | 12 | | 37 | 12 | | 38 | 11 | | 39 | 6 | | 40 | 3 | | 41 | 36 | | 42 | 20 | | 43 | 29 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 61 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 147 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 86 | | ratio | 0.058 | | matches | | 0 | "He crossed the distance between them with the careful movements of someone navigating unfamiliar terrain, and she saw it then—the way his left hand trembled slightly before he tucked it into his coat pocket." | | 1 | "Up close, she could see the details she'd missed—the silvering at his temples came from stress rather than age, the way his eyes had lost their particular brightness, the tremor in his fingers that returned the moment he stopped thinking about it." | | 2 | "Rory remembered the last time they'd properly spoken—his graduation, when he'd kissed her forehead and promised they'd grab coffee soon, both of them knowing that soon meant never." | | 3 | "She'd learned that skill at least—how to let people tell their truths without flinching." | | 4 | "Rory considered him—this man who used to make her laugh until her ribs hurt, who'd promised her the world and meant it, who'd then disappeared into the machinery of conventional life and come out the other side broken." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 874 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 29 | | adverbRatio | 0.03318077803203661 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.014874141876430207 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 86 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 86 | | mean | 14.41 | | std | 10.68 | | cv | 0.741 | | sampleLengths | | 0 | 20 | | 1 | 30 | | 2 | 22 | | 3 | 12 | | 4 | 14 | | 5 | 24 | | 6 | 11 | | 7 | 24 | | 8 | 15 | | 9 | 23 | | 10 | 3 | | 11 | 2 | | 12 | 10 | | 13 | 34 | | 14 | 17 | | 15 | 13 | | 16 | 16 | | 17 | 1 | | 18 | 14 | | 19 | 34 | | 20 | 22 | | 21 | 6 | | 22 | 2 | | 23 | 3 | | 24 | 2 | | 25 | 13 | | 26 | 20 | | 27 | 9 | | 28 | 7 | | 29 | 42 | | 30 | 15 | | 31 | 13 | | 32 | 2 | | 33 | 5 | | 34 | 25 | | 35 | 5 | | 36 | 14 | | 37 | 28 | | 38 | 2 | | 39 | 7 | | 40 | 23 | | 41 | 5 | | 42 | 21 | | 43 | 3 | | 44 | 4 | | 45 | 5 | | 46 | 21 | | 47 | 23 | | 48 | 21 | | 49 | 4 |
| |
| 63.18% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.4069767441860465 | | totalSentences | 86 | | uniqueOpeners | 35 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 55 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 55 | | matches | | 0 | "It was barely past eight," | | 1 | "She was halfway across the" | | 2 | "His dark hair had receded" | | 3 | "It took her a full" | | 4 | "She hadn't thought about James" | | 5 | "They'd met in first year" | | 6 | "He'd been beautiful then in" | | 7 | "She said his name like" | | 8 | "He crossed the distance between" | | 9 | "He laughed, the sound brittle" | | 10 | "His smile faltered." | | 11 | "She gestured toward one of" | | 12 | "He set down his glass" | | 13 | "He ordered a gin and" | | 14 | "he said, and it sounded" | | 15 | "He reached for the glass" | | 16 | "He held up the trembling" | | 17 | "He returned to his drink." | | 18 | "She thought about the delivery" | | 19 | "He laughed again, that brittle" |
| | ratio | 0.6 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 52 | | totalSentences | 55 | | matches | | 0 | "The Raven's Nest occupied that" | | 1 | "Rory had climbed the narrow" | | 2 | "Silas needed her to collect" | | 3 | "The bar exhaled its usual" | | 4 | "It was barely past eight," | | 5 | "She was halfway across the" | | 6 | "The man who entered wore" | | 7 | "His dark hair had receded" | | 8 | "It took her a full" | | 9 | "She hadn't thought about James" | | 10 | "They'd met in first year" | | 11 | "He'd been beautiful then in" | | 12 | "This version looked like someone" | | 13 | "She said his name like" | | 14 | "He crossed the distance between" | | 15 | "He laughed, the sound brittle" | | 16 | "His smile faltered." | | 17 | "She gestured toward one of" | | 18 | "Silas watched from behind the" | | 19 | "He set down his glass" |
| | ratio | 0.945 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 55 | | matches | (empty) | | ratio | 0 | |
| 16.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 6 | | matches | | 0 | "Silas needed her to collect something from a contact, a favour that came without explanation, which had stopped surprising her months ago." | | 1 | "The man who entered wore an expensive wool coat that hung from his shoulders like he'd forgotten how to fit inside his own clothes." | | 2 | "He'd been beautiful then in that careless way of twenty-year-olds who hadn't yet learned their own worth." | | 3 | "Up close, she could see the details she'd missed—the silvering at his temples came from stress rather than age, the way his eyes had lost their particular brigh…" | | 4 | "He reached for the glass Silas brought, drained half of it immediately, and set it down with exaggerated care, as if it might shatter otherwise." | | 5 | "Rory considered him—this man who used to make her laugh until her ribs hurt, who'd promised her the world and meant it, who'd then disappeared into the machiner…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 68.92% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 3 | | fancyTags | | 0 | "He laughed (laugh)" | | 1 | "He laughed again (laugh)" | | 2 | "he continued (continue)" |
| | dialogueSentences | 37 | | tagDensity | 0.189 | | leniency | 0.378 | | rawRatio | 0.429 | | effectiveRatio | 0.162 | |