| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 24 | | adverbTagCount | 2 | | adverbTags | | 0 | "She leaned back [back]" | | 1 | "Eva nodded once [once]" |
| | dialogueSentences | 58 | | tagDensity | 0.414 | | leniency | 0.828 | | rawRatio | 0.083 | | effectiveRatio | 0.069 | |
| 96.73% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1531 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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) | |
| 93.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1531 | | totalAiIsms | 2 | | 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 | 83 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 83 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 117 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 69 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1543 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 56 | | wordCount | 1133 | | uniqueNames | 13 | | maxNameDensity | 1.94 | | worstName | "Eva" | | maxWindowNameDensity | 5.5 | | worstWindowName | "Rory" | | discoveredNames | | Eva | 22 | | Raven | 1 | | Nest | 1 | | Silas | 3 | | Soho | 1 | | District | 1 | | Northern | 1 | | Carter | 1 | | London | 1 | | Rory | 21 | | Folded | 1 | | Yu-Fei | 1 | | October | 1 |
| | persons | | 0 | "Eva" | | 1 | "Raven" | | 2 | "Silas" | | 3 | "Carter" | | 4 | "Rory" |
| | places | | 0 | "Soho" | | 1 | "London" | | 2 | "October" |
| | globalScore | 0.529 | | windowScore | 0 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 55 | | glossingSentenceCount | 1 | | matches | | 0 | "as if confirming something she'd already known" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1543 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 117 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 54 | | mean | 28.57 | | std | 27.13 | | cv | 0.949 | | sampleLengths | | 0 | 79 | | 1 | 74 | | 2 | 94 | | 3 | 17 | | 4 | 18 | | 5 | 4 | | 6 | 42 | | 7 | 3 | | 8 | 10 | | 9 | 50 | | 10 | 91 | | 11 | 7 | | 12 | 27 | | 13 | 1 | | 14 | 57 | | 15 | 23 | | 16 | 13 | | 17 | 66 | | 18 | 3 | | 19 | 6 | | 20 | 37 | | 21 | 4 | | 22 | 25 | | 23 | 3 | | 24 | 8 | | 25 | 30 | | 26 | 4 | | 27 | 24 | | 28 | 5 | | 29 | 43 | | 30 | 39 | | 31 | 77 | | 32 | 4 | | 33 | 22 | | 34 | 44 | | 35 | 5 | | 36 | 31 | | 37 | 17 | | 38 | 63 | | 39 | 11 | | 40 | 37 | | 41 | 4 | | 42 | 3 | | 43 | 54 | | 44 | 110 | | 45 | 7 | | 46 | 1 | | 47 | 21 | | 48 | 21 | | 49 | 18 |
| |
| 96.81% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 83 | | matches | | 0 | "was scratched" | | 1 | "been invited" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 200 | | matches | | 0 | "was doing" | | 1 | "was, standing" | | 2 | "was talking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 117 | | ratio | 0.085 | | matches | | 0 | "She'd changed the name of the place in her head — called it something else, a wine bar maybe, some place with exposed brick and a chalkboard menu — until she stopped, squinted at the buzzing sign, and read it again." | | 1 | "The wine was thin and cold, and she was halfway through it before she heard the voice — low, even, punctuated by a laugh that arrived without warning, a bark of something bright — and she turned on the stool so fast the wine sloshed against the rim." | | 2 | "She had straight black hair falling to her shoulders, and she was talking to someone Eva couldn't see — gesturing with both hands, fingers spread, the way she always talked when she'd decided she was right and you were about to find out." | | 3 | "Rory Carter, who she hadn't seen in four years — four years since the phone call, since the texts that had stopped, since the forwarding address in London that Eva had written down and then lost or thrown away, she could never decide which." | | 4 | "The bright blue eyes moved over Eva's face, reading it the way Rory read everything — fast, thorough, cataloguing." | | 5 | "\"Delivery driver.\" Rory nodded at a jacket hung over the chair — a plain black thing with a logo Eva didn't recognize." | | 6 | "Eva looked at the scar on Rory's wrist — the old one, the crescent, from when they were children and Rory had put her hand through a greenhouse pane reaching for a cat." | | 7 | "\"— got a job with Yu-Fei. Learned the city. Learned which routes flood in October. It's not much of a story.\"" | | 8 | "Eva studied her — the straight black hair, the bright blue eyes that carried something new, some weight that hadn't been there at sixteen, at eighteen, at twenty-one when they'd still been taking the same bus to the same lectures." | | 9 | "Rory pulled a pen from her bag — a cheap biro, chewed at the cap — and wrote on the back of a receipt." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 941 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 27 | | adverbRatio | 0.028692879914984058 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.005313496280552604 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 117 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 117 | | mean | 13.19 | | std | 12.25 | | cv | 0.929 | | sampleLengths | | 0 | 19 | | 1 | 41 | | 2 | 3 | | 3 | 16 | | 4 | 5 | | 5 | 69 | | 6 | 4 | | 7 | 9 | | 8 | 24 | | 9 | 39 | | 10 | 18 | | 11 | 4 | | 12 | 13 | | 13 | 9 | | 14 | 9 | | 15 | 4 | | 16 | 17 | | 17 | 9 | | 18 | 8 | | 19 | 8 | | 20 | 3 | | 21 | 10 | | 22 | 2 | | 23 | 48 | | 24 | 25 | | 25 | 43 | | 26 | 3 | | 27 | 20 | | 28 | 7 | | 29 | 4 | | 30 | 6 | | 31 | 17 | | 32 | 1 | | 33 | 13 | | 34 | 44 | | 35 | 4 | | 36 | 19 | | 37 | 8 | | 38 | 5 | | 39 | 16 | | 40 | 9 | | 41 | 5 | | 42 | 4 | | 43 | 28 | | 44 | 4 | | 45 | 3 | | 46 | 6 | | 47 | 22 | | 48 | 15 | | 49 | 4 |
| |
| 51.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.36752136752136755 | | totalSentences | 117 | | uniqueOpeners | 43 | |
| 42.74% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 78 | | matches | | | ratio | 0.013 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 78 | | matches | | 0 | "She'd changed the name of" | | 1 | "She hadn't come for Silas." | | 2 | "She'd come because she'd heard" | | 3 | "He had a silver ring" | | 4 | "She set her bag on" | | 5 | "He set the glass down," | | 6 | "He pushed the glass toward" | | 7 | "He shrugged one shoulder and" | | 8 | "She had straight black hair" | | 9 | "Her hands came down to" | | 10 | "She said it like a" | | 11 | "She stopped at the edge" | | 12 | "She set her bag on" | | 13 | "She softened it, tried." | | 14 | "It was paler now, the" | | 15 | "She leaned back, let her" | | 16 | "She picked up the folded" | | 17 | "She slid it across the" | | 18 | "She reached for her wine" |
| | ratio | 0.244 | |
| 4.87% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 71 | | totalSentences | 78 | | matches | | 0 | "The green neon above the" | | 1 | "She'd changed the name of" | | 2 | "The Raven's Nest." | | 3 | "The door stuck on the" | | 4 | "She hadn't come for Silas." | | 5 | "She'd come because she'd heard" | | 6 | "The bar was half-full." | | 7 | "A couple leaned into each" | | 8 | "He had a silver ring" | | 9 | "Eva took a stool." | | 10 | "She set her bag on" | | 11 | "Silas didn't look up" | | 12 | "The cloth moved in slow" | | 13 | "He set the glass down," | | 14 | "The bottle left a dark" | | 15 | "He pushed the glass toward" | | 16 | "He shrugged one shoulder and" | | 17 | "The wine was thin and" | | 18 | "A woman sat at a" | | 19 | "She had straight black hair" |
| | ratio | 0.91 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 78 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 7 | | matches | | 0 | "She'd come because she'd heard someone mention Soho over lunch, and the word had slid through her like a blade between ribs, and before she knew what she was do…" | | 1 | "Two men in shirtsleeves played cards at a corner table, stacking coins with the quiet seriousness of people who'd done this many times before." | | 2 | "The wine was thin and cold, and she was halfway through it before she heard the voice — low, even, punctuated by a laugh that arrived without warning, a bark of…" | | 3 | "Rory glanced down at her own wrist as if she'd forgotten it was there." | | 4 | "Silas, still drying glasses, glanced over with the calm attention of a man who listened to everything and offered opinions rarely." | | 5 | "Eva studied her — the straight black hair, the bright blue eyes that carried something new, some weight that hadn't been there at sixteen, at eighteen, at twent…" | | 6 | "The woman in front of her had spent four years in a city alone, riding a bike through rain-soaked back streets with hot food balanced behind her, sleeping above…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 24 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 58 | | tagDensity | 0.069 | | leniency | 0.138 | | rawRatio | 0 | | effectiveRatio | 0 | |