| 82.35% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 2 | | adverbTags | | 0 | "Eva said finally [finally]" | | 1 | "Rory said quietly [quietly]" |
| | dialogueSentences | 29 | | tagDensity | 0.586 | | leniency | 1 | | rawRatio | 0.118 | | effectiveRatio | 0.118 | |
| 73.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1111 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "really" | | 1 | "lightly" | | 2 | "gently" | | 3 | "very" | | 4 | "carefully" |
| |
| 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) | |
| 68.50% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1111 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "wavering" | | 1 | "flicked" | | 2 | "silence" | | 3 | "constructed" | | 4 | "gleaming" |
| |
| 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 | 39 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 39 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 51 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 70 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1098 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 51.23% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 41 | | wordCount | 810 | | uniqueNames | 10 | | maxNameDensity | 1.98 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Silas | 6 | | Mrs | 1 | | Wardour | 1 | | Street | 1 | | Rory | 16 | | Eva | 12 | | Cardiff | 1 | | Last | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Mrs" | | 4 | "Rory" | | 5 | "Eva" |
| | places | | 0 | "Wardour" | | 1 | "Street" | | 2 | "Cardiff" | | 3 | "Last" |
| | globalScore | 0.512 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 31 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.911 | | wordCount | 1098 | | matches | | 0 | "not indifference, but something closer to exhaustion, a tiredness" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 51 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 26 | | mean | 42.23 | | std | 28.21 | | cv | 0.668 | | sampleLengths | | 0 | 81 | | 1 | 65 | | 2 | 33 | | 3 | 10 | | 4 | 15 | | 5 | 105 | | 6 | 13 | | 7 | 79 | | 8 | 17 | | 9 | 17 | | 10 | 58 | | 11 | 80 | | 12 | 15 | | 13 | 29 | | 14 | 35 | | 15 | 23 | | 16 | 2 | | 17 | 4 | | 18 | 56 | | 19 | 86 | | 20 | 35 | | 21 | 41 | | 22 | 32 | | 23 | 39 | | 24 | 70 | | 25 | 58 |
| |
| 78.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 39 | | matches | | 0 | "was meant" | | 1 | "being summoned" | | 2 | "being asked" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 130 | | matches | | 0 | "was listening" | | 1 | "wasn't really drinking" | | 2 | "was doing" | | 3 | "wasn't hiding" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 51 | | ratio | 0.137 | | matches | | 0 | "The door opened, and the bell above it gave its small brass complaint, and Rory didn't look up—not until the voice hit her, low and amused, unmistakably itself even after all this time." | | 1 | "Not the Eva of memory—not the girl with the gap in her front teeth who used to climb out of her bedroom window in Cardiff to smoke on the flat roof of the garage, who once talked their way past a bouncer with nothing but sheer nerve and a borrowed ID that didn't even look like either of them." | | 2 | "\"Don't sound so thrilled,\" Eva said, but she was smiling, and for a second—just a second—there was something of the old face underneath the new one, like a photograph held up to a light." | | 3 | "Silas's eyes flicked to Rory—a small question—and she gave the faintest nod." | | 4 | "There it was—the first small blade, slipped in so gently it took a moment to feel the cut." | | 5 | "\"You look well,\" Rory said, because the silence had become unbearable, and because it was, in its own way, true—Eva did look well, in the specific, exhausting manner of someone who had constructed wellness out of very expensive materials." | | 6 | "Outside, the wet street went on gleaming under the neon, indifferent, and somewhere behind the bar Silas set down his cloth at last, and refilled both their glasses without being asked, as if he understood—better than either of them—that some conversations required more time than either woman currently believed they had." |
| |
| 95.52% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 820 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 37 | | adverbRatio | 0.045121951219512194 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.015853658536585366 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 51 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 51 | | mean | 21.53 | | std | 16.43 | | cv | 0.763 | | sampleLengths | | 0 | 28 | | 1 | 53 | | 2 | 5 | | 3 | 11 | | 4 | 30 | | 5 | 13 | | 6 | 6 | | 7 | 33 | | 8 | 10 | | 9 | 15 | | 10 | 59 | | 11 | 46 | | 12 | 11 | | 13 | 2 | | 14 | 34 | | 15 | 45 | | 16 | 17 | | 17 | 12 | | 18 | 5 | | 19 | 17 | | 20 | 10 | | 21 | 31 | | 22 | 13 | | 23 | 49 | | 24 | 18 | | 25 | 5 | | 26 | 10 | | 27 | 19 | | 28 | 10 | | 29 | 18 | | 30 | 17 | | 31 | 5 | | 32 | 18 | | 33 | 2 | | 34 | 4 | | 35 | 37 | | 36 | 19 | | 37 | 6 | | 38 | 68 | | 39 | 12 | | 40 | 8 | | 41 | 27 | | 42 | 33 | | 43 | 8 | | 44 | 32 | | 45 | 39 | | 46 | 7 | | 47 | 43 | | 48 | 20 | | 49 | 7 |
| |
| 71.90% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.49019607843137253 | | totalSentences | 51 | | uniqueOpeners | 25 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 37 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 9 | | totalSentences | 37 | | matches | | 0 | "She'd had a long day." | | 1 | "It was doing an adequate" | | 2 | "She turned on the stool" | | 3 | "She slid onto the stool" | | 4 | "He moved off to pour." | | 5 | "She stopped herself" | | 6 | "She said it lightly, the" | | 7 | "She stopped, exhaled through her" | | 8 | "She studied Rory for a" |
| | ratio | 0.243 | |
| 27.57% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 32 | | totalSentences | 37 | | matches | | 0 | "The rain had stopped an" | | 1 | "Rory sat at the far" | | 2 | "She'd had a long day." | | 3 | "Cheung had docked her for" | | 4 | "The whisky was meant to" | | 5 | "It was doing an adequate" | | 6 | "The door opened, and the" | | 7 | "She turned on the stool" | | 8 | "This Eva wore a coat" | | 9 | "The name came out smaller" | | 10 | "Eva said, but she was" | | 11 | "She slid onto the stool" | | 12 | "Eva said, nodding at Rory's" | | 13 | "Silas's eyes flicked to Rory—a" | | 14 | "He moved off to pour." | | 15 | "Rory said, once the silence" | | 16 | "She stopped herself" | | 17 | "Eva said, saving her the" | | 18 | "She said it lightly, the" | | 19 | "Eva accepted the drink from" |
| | ratio | 0.865 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 37 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 18 | | technicalSentenceCount | 6 | | matches | | 0 | "Rory sat at the far end of the bar with a whisky she wasn't really drinking, watching Silas polish the same glass he'd been polishing for the last ten minutes, …" | | 1 | "This Eva wore a coat that cost more than Rory's monthly rent, and her hair, once a wild reddish tangle, had been cut into something sharp and precise, the kind …" | | 2 | "She slid onto the stool beside Rory without waiting for an invitation, the way she always had, and Silas appeared without being summoned, setting a napkin down …" | | 3 | "Eva was quiet for a moment, and in that quiet, Rory saw it: not indifference, but something closer to exhaustion, a tiredness that lived somewhere behind the ey…" | | 4 | "Silas, from the far end of the bar, was very carefully not listening, wiping down a surface that did not need wiping, and Rory was grateful for the fiction of h…" | | 5 | "Outside, the wet street went on gleaming under the neon, indifferent, and somewhere behind the bar Silas set down his cloth at last, and refilled both their gla…" |
| |
| 95.59% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 1 | | matches | | 0 | "Eva corrected, not unkindly" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 1 | | fancyTags | | 0 | "Eva corrected (correct)" |
| | dialogueSentences | 29 | | tagDensity | 0.379 | | leniency | 0.759 | | rawRatio | 0.091 | | effectiveRatio | 0.069 | |