| 6.45% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 3 | | adverbTags | | 0 | "she said finally [finally]" | | 1 | "Mai's jaw tightened just [just]" | | 2 | "she said softly [softly]" |
| | dialogueSentences | 31 | | tagDensity | 0.452 | | leniency | 0.903 | | rawRatio | 0.214 | | effectiveRatio | 0.194 | |
| 68.21% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1101 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "slightly" | | 1 | "slowly" | | 2 | "really" | | 3 | "softly" |
| |
| 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.38% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1101 | | totalAiIsms | 3 | | found | | | highlights | | |
| 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 | 37 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 37 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 54 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 82 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 19 | | totalWords | 1116 | | ratio | 0.017 | | matches | | 0 | "come to London, Ror, just come, I've got a sofa and a job lined up." | | 1 | "later, we have business" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 22 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 859 | | uniqueNames | 18 | | maxNameDensity | 1.63 | | worstName | "Rory" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Mai" | | discoveredNames | | Rory | 14 | | Raven | 1 | | Nest | 1 | | Silas | 4 | | Soho | 1 | | London | 2 | | Mairwen | 1 | | Hughes | 1 | | Cardiff | 2 | | University | 1 | | Valleys | 1 | | Evan | 2 | | Mai | 13 | | Eva | 1 | | Ror | 1 | | Aurora | 1 | | Laila | 1 | | Malphora | 1 |
| | persons | | 0 | "Rory" | | 1 | "Raven" | | 2 | "Nest" | | 3 | "Silas" | | 4 | "Mairwen" | | 5 | "Hughes" | | 6 | "Evan" | | 7 | "Mai" | | 8 | "Eva" | | 9 | "Ror" | | 10 | "Laila" |
| | places | | 0 | "Soho" | | 1 | "London" | | 2 | "Cardiff" | | 3 | "University" |
| | globalScore | 0.685 | | windowScore | 0.5 | |
| 69.35% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 31 | | glossingSentenceCount | 1 | | matches | | 0 | "Some things, apparently, didn't change, and" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1116 | | matches | (empty) | |
| 43.21% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 54 | | matches | | 0 | "expected that answer" | | 1 | "heard that promise" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 28 | | mean | 39.86 | | std | 30.78 | | cv | 0.772 | | sampleLengths | | 0 | 84 | | 1 | 55 | | 2 | 15 | | 3 | 1 | | 4 | 80 | | 5 | 45 | | 6 | 46 | | 7 | 49 | | 8 | 29 | | 9 | 68 | | 10 | 6 | | 11 | 2 | | 12 | 42 | | 13 | 4 | | 14 | 68 | | 15 | 101 | | 16 | 14 | | 17 | 39 | | 18 | 4 | | 19 | 42 | | 20 | 81 | | 21 | 11 | | 22 | 95 | | 23 | 6 | | 24 | 9 | | 25 | 71 | | 26 | 18 | | 27 | 31 |
| |
| 95.78% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 37 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 150 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 54 | | ratio | 0.204 | | matches | | 0 | "She'd meant to just grab her post from behind the bar — Silas had a habit of collecting her deliveries when she wasn't home — and go straight up to the flat." | | 1 | "The woman turned on her stool, and for a moment Rory thought she'd made a mistake — the woman's hair was different, cropped short and threaded with the beginnings of grey at the temples, and there was a hardness to her jaw that hadn't been there before." | | 2 | "\"Rory bloody Carter.\" Mai's voice hadn't changed at all — still that soft Valleys lilt, warm as a kettle on the boil." | | 3 | "\"I live upstairs,\" Rory said, and immediately regretted the way it sounded — vague, evasive, the sort of thing she'd trained herself to say without saying anything at all." | | 4 | "That had always been her way — patient, observant, willing to let silences do the asking." | | 5 | "\"Ha. No. Some things don't change.\" Mai took a sip of her drink — whisky, neat, which surprised Rory, because Mai had never touched anything stronger than cider in university." | | 6 | "She thought of Evan's hands, of the flat in Cardiff with its damp corner by the window, of Eva's voice on the phone saying *come to London, Ror, just come, I've got a sofa and a job lined up.* She thought of all the versions of herself she'd worn since then — Rory the delivery girl, Aurora the name on her birth certificate, Laila when Silas needed her to be someone else entirely, Malphora when the job called for something colder still." | | 7 | "Rory looked at her — really looked, the way she'd trained herself to look at marks and contacts and men who might be lying to her, cataloguing the small tells, the things people didn't mean to show." | | 8 | "\"I suppose not.\" She looked at Rory for a long moment, and there was something searching in it, something that wanted an answer Rory wasn't sure she could give — not tonight, not to someone who still remembered her as a girl arguing about tort law over cheap wine, who didn't know about the back room behind the bookshelf, or the things Silas had taught her to do with a knife, or the names she wore like coats she could shed at will." | | 9 | "But behind the bar, Silas caught Rory's eye — a small, deliberate glance, the kind that meant *later, we have business* — and Rory felt the old life and the new one collide in her chest, felt the impossible weight of trying to be both women at once, the girl who'd once known exactly who she was and the woman who now wasn't sure the truth would fit through the door." | | 10 | "Mai's smile didn't waver, but her eyes did, just slightly — the particular sadness of someone who has heard that promise before and knows, somehow, that it will not be kept." |
| |
| 85.63% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 848 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 44 | | adverbRatio | 0.05188679245283019 | | lyAdverbCount | 21 | | lyAdverbRatio | 0.024764150943396228 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 54 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 54 | | mean | 20.67 | | std | 18.88 | | cv | 0.914 | | sampleLengths | | 0 | 30 | | 1 | 21 | | 2 | 33 | | 3 | 32 | | 4 | 23 | | 5 | 15 | | 6 | 1 | | 7 | 47 | | 8 | 33 | | 9 | 22 | | 10 | 23 | | 11 | 9 | | 12 | 6 | | 13 | 1 | | 14 | 22 | | 15 | 8 | | 16 | 45 | | 17 | 4 | | 18 | 29 | | 19 | 8 | | 20 | 16 | | 21 | 18 | | 22 | 26 | | 23 | 6 | | 24 | 2 | | 25 | 30 | | 26 | 12 | | 27 | 4 | | 28 | 16 | | 29 | 52 | | 30 | 19 | | 31 | 82 | | 32 | 5 | | 33 | 9 | | 34 | 18 | | 35 | 21 | | 36 | 4 | | 37 | 31 | | 38 | 11 | | 39 | 37 | | 40 | 29 | | 41 | 15 | | 42 | 5 | | 43 | 6 | | 44 | 3 | | 45 | 83 | | 46 | 9 | | 47 | 6 | | 48 | 4 | | 49 | 5 |
| |
| 73.46% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.46296296296296297 | | totalSentences | 54 | | uniqueOpeners | 25 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 32 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 9 | | totalSentences | 32 | | matches | | 0 | "She'd meant to just grab" | | 1 | "It had been a long" | | 2 | "She didn't expect to see" | | 3 | "It had been what, six" | | 4 | "It was probably why she'd" | | 5 | "She thought of Evan's hands," | | 6 | "she said finally" | | 7 | "She looked at Rory for" | | 8 | "she said softly, and hated" |
| | ratio | 0.281 | |
| 38.13% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 27 | | totalSentences | 32 | | matches | | 0 | "The rain had followed her" | | 1 | "She'd meant to just grab" | | 2 | "It had been a long" | | 3 | "She didn't expect to see" | | 4 | "The woman turned on her" | | 5 | "Mai's voice hadn't changed at" | | 6 | "Rory stopped, laughed, shook her" | | 7 | "It had been what, six" | | 8 | "Mai gestured at the stool" | | 9 | "Rory said, and immediately regretted" | | 10 | "Mai's eyebrows lifted slightly, but" | | 11 | "That had always been her" | | 12 | "It was probably why she'd" | | 13 | "Rory settled onto the stool" | | 14 | "Mai took a sip of" | | 15 | "Mai turned her glass slowly" | | 16 | "The words landed somewhere under" | | 17 | "She thought of Evan's hands," | | 18 | "she said finally" | | 19 | "Mai nodded slowly, as if" |
| | ratio | 0.844 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 32 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 20 | | technicalSentenceCount | 5 | | matches | | 0 | "The woman turned on her stool, and for a moment Rory thought she'd made a mistake — the woman's hair was different, cropped short and threaded with the beginnin…" | | 1 | "But then she smiled, and it was unmistakably Mairwen Hughes, the same crooked smile that used to appear over lecture notes in the Cardiff University library, th…" | | 2 | "Rory looked at her — really looked, the way she'd trained herself to look at marks and contacts and men who might be lying to her, cataloguing the small tells, …" | | 3 | "Mai's nails were bitten short despite the expensive-looking coat, the wedding ring loose enough to spin, the tiredness around her eyes that had nothing to do wi…" | | 4 | "But behind the bar, Silas caught Rory's eye — a small, deliberate glance, the kind that meant *later, we have business* — and Rory felt the old life and the new…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 31 | | tagDensity | 0.226 | | leniency | 0.452 | | rawRatio | 0.143 | | effectiveRatio | 0.065 | |