| 78.79% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 4 | | adverbTags | | 0 | "Natasha gestured vaguely [vaguely]" | | 1 | "Natasha looked around [around]" | | 2 | "Natasha turned back [back]" | | 3 | "Her voice cracked — just [just]" |
| | dialogueSentences | 66 | | tagDensity | 0.288 | | leniency | 0.576 | | rawRatio | 0.211 | | effectiveRatio | 0.121 | |
| 93.58% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1557 | | totalAiIsmAdverbs | 2 | | 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) | |
| 90.37% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1557 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "warmth" | | 1 | "methodical" | | 2 | "silence" |
| |
| 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 | 91 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 91 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 98.45% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 138 | | gibberishSentences | 1 | | adjustedGibberishSentences | 1 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 1 | | maxSentenceWordsSeen | 84 | | ratio | 0.007 | | matches | | 0 | "\"The truth is I spent two years in Bristol working at a print shop. The truth is the print shop was a front for distribution. The truth is I didn't know that until I did, and by th…" |
| |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1575 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 64 | | wordCount | 882 | | uniqueNames | 12 | | maxNameDensity | 2.83 | | worstName | "Natasha" | | maxWindowNameDensity | 6.5 | | worstWindowName | "Natasha" | | discoveredNames | | Soho | 1 | | Raven | 1 | | Nest | 1 | | Golden | 1 | | Empress | 1 | | Gerald | 4 | | Rory | 21 | | Silas | 6 | | Cardiff | 1 | | Natasha | 25 | | Set | 1 | | London | 1 |
| | persons | | 0 | "Raven" | | 1 | "Gerald" | | 2 | "Rory" | | 3 | "Silas" | | 4 | "Natasha" |
| | places | | 0 | "Soho" | | 1 | "Golden" | | 2 | "Cardiff" | | 3 | "London" |
| | globalScore | 0.083 | | windowScore | 0 | |
| 16.07% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like it hadn't seen consistent sun" | | 1 | "quite reach where it needed to go" | | 2 | "smelled like cigarettes and cold rain and" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1575 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 138 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 72 | | mean | 21.88 | | std | 23.64 | | cv | 1.081 | | sampleLengths | | 0 | 84 | | 1 | 51 | | 2 | 4 | | 3 | 26 | | 4 | 21 | | 5 | 14 | | 6 | 28 | | 7 | 15 | | 8 | 28 | | 9 | 75 | | 10 | 2 | | 11 | 1 | | 12 | 38 | | 13 | 46 | | 14 | 48 | | 15 | 2 | | 16 | 1 | | 17 | 27 | | 18 | 50 | | 19 | 8 | | 20 | 41 | | 21 | 13 | | 22 | 23 | | 23 | 3 | | 24 | 8 | | 25 | 39 | | 26 | 1 | | 27 | 2 | | 28 | 8 | | 29 | 6 | | 30 | 4 | | 31 | 35 | | 32 | 3 | | 33 | 11 | | 34 | 3 | | 35 | 1 | | 36 | 5 | | 37 | 49 | | 38 | 22 | | 39 | 4 | | 40 | 128 | | 41 | 21 | | 42 | 4 | | 43 | 49 | | 44 | 7 | | 45 | 50 | | 46 | 5 | | 47 | 18 | | 48 | 24 | | 49 | 4 |
| |
| 93.70% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 91 | | matches | | 0 | "been dragged" | | 1 | "was cropped" | | 2 | "was blackened" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 154 | | matches | | 0 | "was slouching" | | 1 | "was holding" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 138 | | ratio | 0.087 | | matches | | 0 | "Tuesday nights were quiet — just old Gerald nursing his usual whiskey at the end of the bar, and a couple of tourists whispering over a phone screen near the window." | | 1 | "Rory didn't turn around — not until she heard the voice." | | 2 | "The woman standing in the doorway was lean — almost gaunt." | | 3 | "She had a tattoo creeping up the left side of her neck — a thorned vine, inked in green and black." | | 4 | "The woman's eyes — still that strange amber, like honey held to light — found hers." | | 5 | "They were almost the same height now — Natasha had always been taller, but the inches between them had shrunk, or Natasha was slouching, or both." | | 6 | "He set the glass in front of Natasha and returned to his polishing, but his posture had shifted — angled toward them, listening without pretending not to." | | 7 | "Her jaw worked — not chewing, just working, the way it did when she was holding something behind her teeth." | | 8 | "\"The truth.\" Natasha laughed — a short, dry sound, like a match striking." | | 9 | "\"I know you left Evan. I know you left your dad's plan. I know you're delivering dumplings in London and living above a bar.\" Natasha looked around the room — at the maps on the walls, the photographs, the dim amber light." | | 10 | "\"I care about everything now. That's the problem. You get sober and the world gets loud. Every single thing matters. The way someone looks at you. The way the rain sounds. The fact that I walked into a random bar in London and the first face I see is yours.\" Her voice cracked — just slightly, just enough." | | 11 | "Her thumb moved — a small, tentative gesture — across Rory's knuckles." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 869 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 32 | | adverbRatio | 0.03682393555811277 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.0034522439585730723 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 138 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 138 | | mean | 11.41 | | std | 11.75 | | cv | 1.03 | | sampleLengths | | 0 | 20 | | 1 | 25 | | 2 | 8 | | 3 | 31 | | 4 | 22 | | 5 | 12 | | 6 | 17 | | 7 | 4 | | 8 | 26 | | 9 | 13 | | 10 | 6 | | 11 | 2 | | 12 | 14 | | 13 | 5 | | 14 | 12 | | 15 | 11 | | 16 | 15 | | 17 | 4 | | 18 | 1 | | 19 | 18 | | 20 | 5 | | 21 | 11 | | 22 | 15 | | 23 | 13 | | 24 | 15 | | 25 | 21 | | 26 | 2 | | 27 | 1 | | 28 | 16 | | 29 | 5 | | 30 | 17 | | 31 | 19 | | 32 | 13 | | 33 | 14 | | 34 | 15 | | 35 | 2 | | 36 | 26 | | 37 | 5 | | 38 | 2 | | 39 | 1 | | 40 | 12 | | 41 | 7 | | 42 | 8 | | 43 | 4 | | 44 | 5 | | 45 | 5 | | 46 | 9 | | 47 | 27 | | 48 | 8 | | 49 | 41 |
| |
| 65.46% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.427536231884058 | | totalSentences | 138 | | uniqueOpeners | 59 | |
| 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 | 21 | | totalSentences | 78 | | matches | | 0 | "His silver signet ring caught" | | 1 | "He gave Rory a nod" | | 2 | "He ate it in two" | | 3 | "Her dark hair, once thick" | | 4 | "She had a tattoo creeping" | | 5 | "She smelled like cigarettes and" | | 6 | "They were almost the same" | | 7 | "She signalled to Silas with" | | 8 | "His eyes moved to Rory." | | 9 | "She gave him the smallest" | | 10 | "He set the glass in" | | 11 | "Her jaw worked — not" | | 12 | "She picked one up and" | | 13 | "She took another drink" | | 14 | "He walked to the other" | | 15 | "She set it down and" | | 16 | "She turned her whiskey glass" | | 17 | "Her voice cracked — just" | | 18 | "She sealed it shut." | | 19 | "She stared at Rory's hand" |
| | ratio | 0.269 | |
| 4.87% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 71 | | totalSentences | 78 | | matches | | 0 | "The green neon hummed its" | | 1 | "Rory pushed through the door" | | 2 | "The warmth hit her face" | | 3 | "Tuesday nights were quiet —" | | 4 | "Silas stood behind the counter," | | 5 | "His silver signet ring caught" | | 6 | "He gave Rory a nod" | | 7 | "Rory pulled the container out" | | 8 | "Silas opened the lid, inspected" | | 9 | "He ate it in two" | | 10 | "The door opened behind her." | | 11 | "A gust of cold air" | | 12 | "Rory didn't turn around —" | | 13 | "The accent was Cardiff." | | 14 | "Rory turned on her stool." | | 15 | "The woman standing in the" | | 16 | "Her dark hair, once thick" | | 17 | "A leather jacket hung off" | | 18 | "She had a tattoo creeping" | | 19 | "The woman's eyes — still" |
| | 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 | |
| 79.83% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 3 | | matches | | 0 | "Silas stood behind the counter, polishing a glass with the methodical precision of a man who'd done it ten thousand times before." | | 1 | "Sharp cheekbones jutted beneath skin that looked like it hadn't seen consistent sunlight in months." | | 2 | "The silence between them filled with the sound of Gerald's glass touching the bar, the low creak of the old building settling, the neon buzzing through the wind…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 2 | | fancyTags | | 0 | "Natasha laughed — (laugh)" | | 1 | "Natasha whispered (whisper)" |
| | dialogueSentences | 66 | | tagDensity | 0.091 | | leniency | 0.182 | | rawRatio | 0.333 | | effectiveRatio | 0.061 | |