| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 2 | | adverbTags | | 0 | "Rory drank again [again]" | | 1 | "Mara's voice hardened then [then]" |
| | dialogueSentences | 58 | | tagDensity | 0.328 | | leniency | 0.655 | | rawRatio | 0.105 | | effectiveRatio | 0.069 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1104 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 86.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1104 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "weight" | | 1 | "flickered" | | 2 | "silence" |
| |
| 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 | 55 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 55 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 93 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 1099 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 2.71% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 44 | | wordCount | 645 | | uniqueNames | 7 | | maxNameDensity | 2.95 | | worstName | "Rory" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Rory" | | discoveredNames | | Tuesday | 1 | | Silas | 5 | | Cardiff | 1 | | Mara | 16 | | Rory | 19 | | Prague | 1 | | Pressed | 1 |
| | persons | | | places | | | globalScore | 0.027 | | windowScore | 0.167 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 30 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1099 | | matches | (empty) | |
| 94.98% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 93 | | matches | | 0 | "knew that voice" | | 1 | "understood that he" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 56 | | mean | 19.63 | | std | 16.51 | | cv | 0.842 | | sampleLengths | | 0 | 51 | | 1 | 29 | | 2 | 4 | | 3 | 36 | | 4 | 1 | | 5 | 70 | | 6 | 4 | | 7 | 18 | | 8 | 5 | | 9 | 34 | | 10 | 24 | | 11 | 6 | | 12 | 13 | | 13 | 26 | | 14 | 8 | | 15 | 29 | | 16 | 2 | | 17 | 16 | | 18 | 2 | | 19 | 24 | | 20 | 5 | | 21 | 2 | | 22 | 33 | | 23 | 33 | | 24 | 17 | | 25 | 5 | | 26 | 4 | | 27 | 28 | | 28 | 7 | | 29 | 25 | | 30 | 2 | | 31 | 10 | | 32 | 38 | | 33 | 33 | | 34 | 14 | | 35 | 21 | | 36 | 34 | | 37 | 15 | | 38 | 4 | | 39 | 2 | | 40 | 2 | | 41 | 42 | | 42 | 58 | | 43 | 3 | | 44 | 45 | | 45 | 6 | | 46 | 46 | | 47 | 21 | | 48 | 25 | | 49 | 1 |
| |
| 92.50% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 55 | | matches | | 0 | "were lacquered" | | 1 | "being told" |
| |
| 89.81% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 121 | | matches | | 0 | "was testing" | | 1 | "was filing" |
| |
| 19.97% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 93 | | ratio | 0.043 | | matches | | 0 | "Rory shook the rain from her jacket and stepped inside, expecting nothing more than the usual quiet of a Tuesday night—Silas behind the bar, two regulars nursing pints, the smell of furniture polish and old paper." | | 1 | "Rory studied the woman beside her over the rim of the glass—the coat, the manicure, the watch that probably cost more than three months of delivery shifts." | | 2 | "Mara laughed again, but it broke in the middle, and underneath it Rory heard something she remembered—the girl who'd cried over deportation letters, who'd given her last twenty quid to a stranger at a bus stop because the stranger had cried first." | | 3 | "He poured, watching, saying nothing, and Rory understood that he was filing it all away the way he filed everything—the names, the silences, the things people couldn't bring themselves to say across two inches of mahogany and six years of distance." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 652 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 21 | | adverbRatio | 0.032208588957055216 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.006134969325153374 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 93 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 93 | | mean | 11.82 | | std | 10.39 | | cv | 0.879 | | sampleLengths | | 0 | 15 | | 1 | 36 | | 2 | 29 | | 3 | 4 | | 4 | 12 | | 5 | 24 | | 6 | 1 | | 7 | 5 | | 8 | 28 | | 9 | 22 | | 10 | 15 | | 11 | 4 | | 12 | 14 | | 13 | 4 | | 14 | 4 | | 15 | 1 | | 16 | 18 | | 17 | 4 | | 18 | 12 | | 19 | 24 | | 20 | 4 | | 21 | 2 | | 22 | 7 | | 23 | 6 | | 24 | 26 | | 25 | 8 | | 26 | 18 | | 27 | 11 | | 28 | 2 | | 29 | 11 | | 30 | 5 | | 31 | 2 | | 32 | 8 | | 33 | 16 | | 34 | 5 | | 35 | 2 | | 36 | 2 | | 37 | 4 | | 38 | 27 | | 39 | 7 | | 40 | 26 | | 41 | 5 | | 42 | 12 | | 43 | 5 | | 44 | 4 | | 45 | 20 | | 46 | 8 | | 47 | 7 | | 48 | 18 | | 49 | 7 |
| |
| 73.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.4838709677419355 | | totalSentences | 93 | | uniqueOpeners | 45 | |
| 74.07% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 45 | | matches | | 0 | "Somewhere a glass clinked, the" |
| | ratio | 0.022 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 8 | | totalSentences | 45 | | matches | | 0 | "She knew that voice from" | | 1 | "Her hair, once a wild" | | 2 | "She patted the stool." | | 3 | "She set her glass down" | | 4 | "She delivered it smoothly, a" | | 5 | "She lifted her whisky, found" | | 6 | "He came without being told." | | 7 | "He poured, watching, saying nothing," |
| | ratio | 0.178 | |
| 15.56% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 40 | | totalSentences | 45 | | matches | | 0 | "The green neon hummed above" | | 1 | "Rory shook the rain from" | | 2 | "The voice landed somewhere beneath" | | 3 | "She knew that voice from" | | 4 | "The girl Rory remembered had" | | 5 | "This woman wore a tailored" | | 6 | "Her hair, once a wild" | | 7 | "The embrace was brief and" | | 8 | "Rory pulled back first." | | 9 | "Mara laughed, and even the" | | 10 | "She patted the stool." | | 11 | "Silas materialised, cloth over his" | | 12 | "Rory told him" | | 13 | "Mara cut in" | | 14 | "Silas inclined his head and" | | 15 | "Mara waved her hand, the" | | 16 | "Mara said the word like" | | 17 | "The whisky arrived, amber under" | | 18 | "Mara lifted hers and Rory" | | 19 | "The peat burned pleasantly." |
| | ratio | 0.889 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 45 | | matches | (empty) | | ratio | 0 | |
| 45.45% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 22 | | technicalSentenceCount | 3 | | matches | | 0 | "The girl Rory remembered had worn charity-shop cardigans and bitten her nails to nothing, who'd talked about saving the world with the certainty of someone who'…" | | 1 | "Behind the counter, Silas had drifted to the far end, polishing a glass that didn't need it, granting them the privacy of his pretended distance." | | 2 | "Mara laughed again, but it broke in the middle, and underneath it Rory heard something she remembered—the girl who'd cried over deportation letters, who'd given…" |
| |
| 72.37% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 2 | | matches | | 0 | "Mara waved, the gesture taking in years" | | 1 | "She delivered, a line worn smooth by repetition" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 2 | | fancyTags | | 0 | "Mara laughed (laugh)" | | 1 | "Rory muttered (mutter)" |
| | dialogueSentences | 58 | | tagDensity | 0.155 | | leniency | 0.31 | | rawRatio | 0.222 | | effectiveRatio | 0.069 | |