| 88.89% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 27 | | adverbTagCount | 3 | | adverbTags | | 0 | "She gestured vaguely [vaguely]" | | 1 | "he said softly [softly]" | | 2 | "she said finally [finally]" |
| | dialogueSentences | 49 | | tagDensity | 0.551 | | leniency | 1 | | rawRatio | 0.111 | | effectiveRatio | 0.111 | |
| 86.11% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1440 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slightly" | | 1 | "softly" | | 2 | "very" | | 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) | |
| 82.64% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1440 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "warmth" | | 1 | "silence" | | 2 | "constructed" |
| |
| 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 | 1 | | narrationSentences | 64 | | matches | | |
| 98.21% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 64 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 84 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 59 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 12 | | totalWords | 1435 | | ratio | 0.008 | | matches | | 0 | "Are you all right?" | | 1 | "not now, not him" | | 2 | "barrister" | | 3 | "something useful" | | 4 | "enough" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 28 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 1043 | | uniqueNames | 11 | | maxNameDensity | 0.86 | | worstName | "Daniel" | | maxWindowNameDensity | 2 | | worstWindowName | "Daniel" | | discoveredNames | | Rory | 3 | | Tuesday-night | 1 | | Yu-Fei | 1 | | Daniel | 9 | | Okafor | 1 | | Cardiff | 2 | | Silas | 4 | | Roath | 1 | | Irish | 1 | | Evan | 1 | | Eva | 1 |
| | persons | | 0 | "Rory" | | 1 | "Yu-Fei" | | 2 | "Daniel" | | 3 | "Okafor" | | 4 | "Silas" | | 5 | "Evan" | | 6 | "Eva" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 44 | | 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 | 1435 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 84 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 38.78 | | std | 36.96 | | cv | 0.953 | | sampleLengths | | 0 | 104 | | 1 | 7 | | 2 | 5 | | 3 | 121 | | 4 | 19 | | 5 | 35 | | 6 | 62 | | 7 | 3 | | 8 | 37 | | 9 | 92 | | 10 | 4 | | 11 | 59 | | 12 | 3 | | 13 | 9 | | 14 | 74 | | 15 | 10 | | 16 | 1 | | 17 | 5 | | 18 | 53 | | 19 | 21 | | 20 | 17 | | 21 | 103 | | 22 | 30 | | 23 | 107 | | 24 | 1 | | 25 | 70 | | 26 | 1 | | 27 | 29 | | 28 | 86 | | 29 | 22 | | 30 | 4 | | 31 | 58 | | 32 | 42 | | 33 | 102 | | 34 | 11 | | 35 | 17 | | 36 | 11 |
| |
| 99.78% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 64 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 184 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 2 | | flaggedSentences | 6 | | totalSentences | 84 | | ratio | 0.071 | | matches | | 0 | "The green neon sign buzzed faintly above the door, throwing a sickly emerald wash across the wet pavement, and when Rory pushed inside she let the warmth take her—the low amber light, the smell of old wood and spilled whisky, the murmur of a Tuesday-night crowd too small to be called a crowd." | | 1 | "\"I was.\" He smiled, and even the smile was different—slower, more deliberate, as though he'd had to relearn it." | | 2 | "*Are you all right?* She gave him the smallest shake of her head—*not now, not him*—and slid onto the stool beside Daniel." | | 3 | "\"I am tired.\" She caught Silas's eye and lifted two fingers; he poured a measure of the good Irish into a glass and set it before her without a word, his silver signet ring catching the light, and withdrew to the far end of the bar to give them the fiction of privacy." | | 4 | "Somewhere a glass clinked; Silas laughed at something a regular said, low and easy, the sound of a man who had folded all his own four years into the careful walls of this room and learned to live among them." | | 5 | "Rory looked at Daniel and felt the strange vertigo of it—two people who had once been so certain they'd grow into the people they'd promised each other they'd be, sitting here with the wreckage and the relief all mixed up together." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1050 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 41 | | adverbRatio | 0.039047619047619046 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.010476190476190476 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 84 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 84 | | mean | 17.08 | | std | 14.8 | | cv | 0.866 | | sampleLengths | | 0 | 53 | | 1 | 51 | | 2 | 7 | | 3 | 5 | | 4 | 7 | | 5 | 18 | | 6 | 34 | | 7 | 13 | | 8 | 6 | | 9 | 18 | | 10 | 25 | | 11 | 13 | | 12 | 6 | | 13 | 19 | | 14 | 9 | | 15 | 7 | | 16 | 8 | | 17 | 32 | | 18 | 22 | | 19 | 3 | | 20 | 11 | | 21 | 22 | | 22 | 4 | | 23 | 2 | | 24 | 29 | | 25 | 37 | | 26 | 24 | | 27 | 4 | | 28 | 10 | | 29 | 45 | | 30 | 4 | | 31 | 3 | | 32 | 5 | | 33 | 4 | | 34 | 53 | | 35 | 9 | | 36 | 12 | | 37 | 6 | | 38 | 4 | | 39 | 1 | | 40 | 5 | | 41 | 14 | | 42 | 29 | | 43 | 10 | | 44 | 9 | | 45 | 12 | | 46 | 4 | | 47 | 13 | | 48 | 8 | | 49 | 21 |
| |
| 62.70% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.44047619047619047 | | totalSentences | 84 | | uniqueOpeners | 37 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 53 | | matches | | 0 | "Instead something in his face" | | 1 | "Somewhere a glass clinked; Silas" |
| | ratio | 0.038 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 35 | | totalSentences | 53 | | matches | | 0 | "She'd been on her feet" | | 1 | "She didn't make it past" | | 2 | "She knew the voice before" | | 3 | "It had thinned somehow, lost" | | 4 | "She turned and there was" | | 5 | "He'd been broad once, a" | | 6 | "His shoulders had a careful" | | 7 | "she said, and the name" | | 8 | "He smiled, and even the" | | 9 | "He spread his hands" | | 10 | "He turned the glass a" | | 11 | "He laughed, a short dry" | | 12 | "She remembered the kitchen in" | | 13 | "She'd said *barrister*, because that" | | 14 | "He looked at her then," | | 15 | "She caught Silas's eye and" | | 16 | "He was good at that," | | 17 | "It was, she'd come to" | | 18 | "It wasn't a question." | | 19 | "She turned the glass without" |
| | ratio | 0.66 | |
| 54.34% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 43 | | totalSentences | 53 | | matches | | 0 | "The green neon sign buzzed" | | 1 | "She'd been on her feet" | | 2 | "She didn't make it past" | | 3 | "She knew the voice before" | | 4 | "It had thinned somehow, lost" | | 5 | "She turned and there was" | | 6 | "He'd been broad once, a" | | 7 | "His shoulders had a careful" | | 8 | "she said, and the name" | | 9 | "He smiled, and even the" | | 10 | "He spread his hands" | | 11 | "The word landed between them" | | 12 | "He turned the glass a" | | 13 | "He laughed, a short dry" | | 14 | "A precise man, a surgeon," | | 15 | "She remembered the kitchen in" | | 16 | "She'd said *barrister*, because that" | | 17 | "He looked at her then," | | 18 | "She caught Silas's eye and" | | 19 | "He was good at that," |
| | ratio | 0.811 | |
| 94.34% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 53 | | matches | | 0 | "Now the breadth had folded" |
| | ratio | 0.019 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 23 | | technicalSentenceCount | 8 | | matches | | 0 | "There was grey in his close-cropped hair that hadn't been there in Cardiff, and a stillness in his face that she didn't recognize at all." | | 1 | "Behind the bar, Silas moved with his quiet, limping efficiency, polishing a glass that didn't need polishing, his hazel eyes flicking once toward Rory in the qu…" | | 2 | "A precise man, a surgeon, who'd terrified the lot of them at eighteen and who Daniel had spent his entire adolescence trying to please and then trying to escape…" | | 3 | "But Daniel was watching her with the old attention, the attention that had once made her feel, at nineteen, like the only person in a loud room, and she underst…" | | 4 | "Somewhere a glass clinked; Silas laughed at something a regular said, low and easy, the sound of a man who had folded all his own four years into the careful wa…" | | 5 | "Rory looked at Daniel and felt the strange vertigo of it—two people who had once been so certain they'd grow into the people they'd promised each other they'd b…" | | 6 | "Outside, the green light buzzed on, and the rain kept falling, and the two of them sat with the long silence of people who had loved each other once in the unco…" | | 7 | "For now there was the warm bar, and the old map on the wall behind his head, and Silas pretending not to listen, and the small, unbearable mercy of being seen b…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 27 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, and the name felt strange in her mouth, a relic" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 49 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0.071 | | effectiveRatio | 0.041 | |