| 48.48% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 33 | | adverbTagCount | 5 | | adverbTags | | 0 | "The green —\" Eva pulled back [back]" | | 1 | "Silas said quietly [quietly]" | | 2 | "Eva said quickly [quickly]" | | 3 | "still —\" She gestured uselessly [uselessly]" | | 4 | "Eva squeezed hard. [hard]" |
| | dialogueSentences | 52 | | tagDensity | 0.635 | | leniency | 1 | | rawRatio | 0.152 | | effectiveRatio | 0.152 | |
| 83.05% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1770 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "very" | | 1 | "slowly" | | 2 | "quickly" | | 3 | "slightly" | | 4 | "suddenly" |
| |
| 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) | |
| 83.05% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1770 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "weight" | | 1 | "eyebrow" | | 2 | "familiar" | | 3 | "clandestine" | | 4 | "trembled" | | 5 | "perfect" |
| |
| 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 | 94 | | matches | (empty) | |
| 82.07% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 94 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 107 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 93 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1789 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 28 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 109 | | wordCount | 1464 | | uniqueNames | 36 | | maxNameDensity | 1.64 | | worstName | "Rory" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 3 | | Nest | 2 | | Greek | 1 | | Street | 2 | | Thursday | 1 | | Soho | 1 | | Silas | 8 | | Rory | 24 | | Prague | 1 | | Golden | 1 | | Empress | 1 | | London | 3 | | Mayfair | 1 | | Eva | 24 | | Davies | 1 | | Parry | 1 | | Jennifer | 1 | | Carter | 2 | | Cardiff | 5 | | University | 1 | | Pre-Law | 2 | | Evan | 2 | | Laila | 2 | | Aurora | 1 | | Doc | 1 | | Martens | 1 | | Cathays | 1 | | Boots | 1 | | Wardour | 1 | | You | 5 | | Harcourt | 1 | | Lane | 1 | | Remember | 1 | | Jesus | 1 | | Wales | 1 | | Since | 3 |
| | persons | | 0 | "Raven" | | 1 | "Silas" | | 2 | "Rory" | | 3 | "Empress" | | 4 | "Eva" | | 5 | "Davies" | | 6 | "Parry" | | 7 | "Jennifer" | | 8 | "Carter" | | 9 | "Evan" | | 10 | "Laila" | | 11 | "Martens" | | 12 | "You" | | 13 | "Jesus" |
| | places | | 0 | "Nest" | | 1 | "Greek" | | 2 | "Street" | | 3 | "Soho" | | 4 | "Prague" | | 5 | "London" | | 6 | "Cardiff" | | 7 | "Cathays" | | 8 | "Boots" | | 9 | "Wardour" | | 10 | "Harcourt" | | 11 | "Lane" | | 12 | "Wales" |
| | globalScore | 0.68 | | windowScore | 0.5 | |
| 59.09% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 55 | | glossingSentenceCount | 2 | | matches | | 0 | "as if checking that no one from her client dinner could see her crying in a dim bar covered in maps" | | 1 | "smelled like oil, living in the flat above" | | 2 | "felt like being slowly buried alive and" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1789 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 107 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 58 | | mean | 30.84 | | std | 26.61 | | cv | 0.863 | | sampleLengths | | 0 | 13 | | 1 | 70 | | 2 | 93 | | 3 | 14 | | 4 | 4 | | 5 | 4 | | 6 | 85 | | 7 | 5 | | 8 | 14 | | 9 | 19 | | 10 | 63 | | 11 | 13 | | 12 | 71 | | 13 | 18 | | 14 | 1 | | 15 | 3 | | 16 | 39 | | 17 | 11 | | 18 | 52 | | 19 | 92 | | 20 | 3 | | 21 | 78 | | 22 | 32 | | 23 | 18 | | 24 | 63 | | 25 | 34 | | 26 | 21 | | 27 | 15 | | 28 | 37 | | 29 | 14 | | 30 | 72 | | 31 | 21 | | 32 | 6 | | 33 | 3 | | 34 | 48 | | 35 | 2 | | 36 | 77 | | 37 | 23 | | 38 | 89 | | 39 | 4 | | 40 | 41 | | 41 | 30 | | 42 | 18 | | 43 | 53 | | 44 | 30 | | 45 | 22 | | 46 | 34 | | 47 | 3 | | 48 | 5 | | 49 | 24 |
| |
| 90.33% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 94 | | matches | | 0 | "was allowed" | | 1 | "was passed" | | 2 | "been sanded" | | 3 | "was crooked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 246 | | matches | | 0 | "was stuttering" | | 1 | "was reading" | | 2 | "was hugging" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 21 | | semicolonCount | 0 | | flaggedSentences | 16 | | totalSentences | 107 | | ratio | 0.15 | | matches | | 0 | "The bar was empty except for the usual early crowd — not a crowd at all, two old men in the corner arguing about football — and Silas behind the bar, wiping down a glass with a white towel." | | 1 | "He leaned his weight off his left leg without thinking about it — that slight limp still there after all these years since Prague, after MI6 and all the rest of it he never talked about directly." | | 2 | "The woman had her back half turned, looking at one of the maps — a 1938 A-Z of London with a coffee stain over Mayfair — and she had a glass of white wine that she hadn't touched. Her coat was expensive. Camel-colored wool, dry despite the weather, draped over the stool beside her. Blonde hair cut sharp to her jaw. A gold watch that caught the light whenever she moved." | | 3 | "For a second neither of them moved. Then Eva Davies — Eva Parry, when they were eight and trading friendship bracelets in the yard behind Jennifer Carter's classroom in Cardiff — stood up too fast and knocked her stool." | | 4 | "Not just the coat. The woman who used to wear Doc Martens held together with electrical tape, who used to shave half her eyebrow off on a dare, who used to sit in Rory's tiny kitchen in Cathays and say, fuck all this law stuff, let's open a chippy on the coast — that girl had been sanded down and polished until she shone. Her makeup was precise. She was thinner in a way that looked managed. Professional." | | 5 | "\"Oh my God,\" Eva said, and then she was hugging her, and Rory smelled familiar perfume under expensive perfume — same cheap vanilla body spray from Boots they'd both worn at seventeen." | | 6 | "I walked past — I saw the sign." | | 7 | "The green —\" Eva pulled back and held her at arm's length, her hands tight on Rory's damp sleeves. Her bright blue eyes — not as bright as Rory's, Eva's were waterier, grey-blue — were already wet. \"I thought, no way." | | 8 | "And Silas —?\"" | | 9 | "You still — do you still have that horrible back room?" | | 10 | "With the —\"" | | 11 | "You look like —\"" | | 12 | "After — you know." | | 13 | "I was —\" She searched for the right shape for it. The quick, out-of-the-box thinking that usually saved her was useless here. \"I was embarrassed." | | 14 | "I'm still —\" She gestured, uselessly, at the delivery bag crumpled on the floor, at the apartment with its single gas ring above a bar that was itself a front for favors and old ghosts. \"I didn't want you to see this and think I'd wasted the rescue.\"" | | 15 | "Rory looked at their hands. Eva's manicure was perfect and chipped at the edge of her thumb — she had been picking at it." |
| |
| 92.10% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 830 | | adjectiveStacks | 1 | | stackExamples | | 0 | "slight limp still there" |
| | adverbCount | 35 | | adverbRatio | 0.04216867469879518 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.00963855421686747 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 107 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 107 | | mean | 16.72 | | std | 17.79 | | cv | 1.064 | | sampleLengths | | 0 | 13 | | 1 | 20 | | 2 | 11 | | 3 | 12 | | 4 | 27 | | 5 | 21 | | 6 | 39 | | 7 | 23 | | 8 | 10 | | 9 | 3 | | 10 | 11 | | 11 | 4 | | 12 | 4 | | 13 | 11 | | 14 | 18 | | 15 | 37 | | 16 | 19 | | 17 | 5 | | 18 | 14 | | 19 | 8 | | 20 | 11 | | 21 | 15 | | 22 | 48 | | 23 | 13 | | 24 | 71 | | 25 | 18 | | 26 | 1 | | 27 | 3 | | 28 | 39 | | 29 | 11 | | 30 | 46 | | 31 | 6 | | 32 | 92 | | 33 | 3 | | 34 | 78 | | 35 | 32 | | 36 | 18 | | 37 | 5 | | 38 | 3 | | 39 | 8 | | 40 | 41 | | 41 | 3 | | 42 | 3 | | 43 | 34 | | 44 | 7 | | 45 | 11 | | 46 | 3 | | 47 | 15 | | 48 | 37 | | 49 | 13 |
| |
| 60.44% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.42990654205607476 | | totalSentences | 107 | | uniqueOpeners | 46 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 77 | | matches | (empty) | | ratio | 0 | |
| 90.13% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 77 | | matches | | 0 | "She pushed through the back" | | 1 | "His hazel eyes caught hers" | | 2 | "He made a small, amused" | | 3 | "He leaned his weight off" | | 4 | "His silver signet ring knocked" | | 5 | "He nodded toward the taps" | | 6 | "She said it like she" | | 7 | "It had been four years." | | 8 | "I walked past — I" | | 9 | "You still — do you" | | 10 | "You look like —\"" | | 11 | "I'm at Harcourt Lane now." | | 12 | "You used to do all" | | 13 | "You were better than kept" | | 14 | "I let you have the" | | 15 | "I was —\" She searched" | | 16 | "You'd done what you said" | | 17 | "I'm still —\" She gestured," | | 18 | "I gave you a sofa" | | 19 | "I live upstairs." |
| | ratio | 0.325 | |
| 44.42% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 64 | | totalSentences | 77 | | matches | | 0 | "The green neon sign above" | | 1 | "Rory saw it from the" | | 2 | "Raven, then dark, then Raven" | | 3 | "The light bled down onto" | | 4 | "She pushed through the back" | | 5 | "The bar was empty except" | | 6 | "The walls were covered floor" | | 7 | "The air always smelled faintly" | | 8 | "Silas looked up." | | 9 | "His hazel eyes caught hers" | | 10 | "He made a small, amused" | | 11 | "The grey in it matched" | | 12 | "He leaned his weight off" | | 13 | "His silver signet ring knocked" | | 14 | "He nodded toward the taps" | | 15 | "Rory shrugged out of the" | | 16 | "That's when she saw the" | | 17 | "The woman had her back" | | 18 | "Rory knew the back of" | | 19 | "The woman turned." |
| | ratio | 0.831 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 77 | | matches | (empty) | | ratio | 0 | |
| 4.61% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 31 | | technicalSentenceCount | 6 | | matches | | 0 | "Rory saw it from the landing, through the small, grimy window over the stairwell that led down from her flat." | | 1 | "The woman had her back half turned, looking at one of the maps — a 1938 A-Z of London with a coffee stain over Mayfair — and she had a glass of white wine that …" | | 2 | "It had been four years. Since Cardiff University. Since Pre-Law. Since Evan and the night she finally packed a bag at 2 a.m. while he was passed out on their ti…" | | 3 | "Not just the coat. The woman who used to wear Doc Martens held together with electrical tape, who used to shave half her eyebrow off on a dare, who used to sit …" | | 4 | "That got a real laugh out of her, and she wiped at her eyes, glancing around as if checking that no one from her client dinner could see her crying in a dim bar…" | | 5 | "Rory knew that wasn't true. Or that it was true in the worst possible way. Eva in her wool coat and her gold watch, talking about client dinners, and Rory in a …" |
| |
| 90.52% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 29 | | uselessAdditionCount | 2 | | matches | | 0 | "The green —\" Eva pulled back, her hands tight on Rory's damp sleeves" | | 1 | "Eva said, and her smile was crooked and sad and entirely the same as it had been when she was fifteen and had failed her maths GCSE" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 19 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 52 | | tagDensity | 0.365 | | leniency | 0.731 | | rawRatio | 0.053 | | effectiveRatio | 0.038 | |