| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 26 | | adverbTagCount | 3 | | adverbTags | | 0 | "Eva started then [then]" | | 1 | "Eva said quietly [quietly]" | | 2 | "Eva said eventually [eventually]" |
| | dialogueSentences | 75 | | tagDensity | 0.347 | | leniency | 0.693 | | rawRatio | 0.115 | | effectiveRatio | 0.08 | |
| 97.32% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1867 | | 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) | |
| 73.22% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1867 | | totalAiIsms | 10 | | found | | 0 | | | 1 | | word | "practiced ease" | | count | 1 |
| | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | |
| | highlights | | 0 | "familiar" | | 1 | "practiced ease" | | 2 | "warmth" | | 3 | "lilt" | | 4 | "flickered" | | 5 | "could feel" | | 6 | "flicked" | | 7 | "silence" | | 8 | "weight" |
| |
| 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 | 131 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 131 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 179 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1863 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 29 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 99 | | wordCount | 1378 | | uniqueNames | 18 | | maxNameDensity | 2.54 | | worstName | "Eva" | | maxWindowNameDensity | 5.5 | | worstWindowName | "Eva" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Greek | 1 | | Street | 1 | | Carter | 1 | | Silas | 13 | | Tuesday | 1 | | Rory | 33 | | Cardiff | 3 | | Welsh | 1 | | Lucas | 1 | | Evan | 1 | | Wales | 1 | | London | 2 | | Eva | 35 | | Soho | 1 | | Shaftesbury | 1 | | Avenue | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Carter" | | 3 | "Silas" | | 4 | "Rory" | | 5 | "Lucas" | | 6 | "Evan" | | 7 | "Eva" |
| | places | | 0 | "Greek" | | 1 | "Street" | | 2 | "Cardiff" | | 3 | "Wales" | | 4 | "London" | | 5 | "Soho" | | 6 | "Shaftesbury" | | 7 | "Avenue" |
| | globalScore | 0.23 | | windowScore | 0 | |
| 32.35% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 85 | | glossingSentenceCount | 4 | | matches | | 0 | "not quite a question" | | 1 | "looked like someone who had learned to we" | | 2 | "felt like on her own skin" | | 3 | "as though deciding whether the room was large enough for both of their changed lives" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1863 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 179 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 79 | | mean | 23.58 | | std | 24.16 | | cv | 1.024 | | sampleLengths | | 0 | 125 | | 1 | 23 | | 2 | 2 | | 3 | 23 | | 4 | 9 | | 5 | 5 | | 6 | 59 | | 7 | 127 | | 8 | 29 | | 9 | 28 | | 10 | 6 | | 11 | 67 | | 12 | 14 | | 13 | 1 | | 14 | 24 | | 15 | 23 | | 16 | 12 | | 17 | 24 | | 18 | 29 | | 19 | 39 | | 20 | 25 | | 21 | 7 | | 22 | 7 | | 23 | 12 | | 24 | 3 | | 25 | 66 | | 26 | 23 | | 27 | 10 | | 28 | 11 | | 29 | 15 | | 30 | 4 | | 31 | 1 | | 32 | 38 | | 33 | 11 | | 34 | 15 | | 35 | 24 | | 36 | 18 | | 37 | 19 | | 38 | 10 | | 39 | 4 | | 40 | 34 | | 41 | 25 | | 42 | 28 | | 43 | 8 | | 44 | 58 | | 45 | 13 | | 46 | 2 | | 47 | 15 | | 48 | 6 | | 49 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 131 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 245 | | matches | | |
| 15.16% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 4 | | flaggedSentences | 8 | | totalSentences | 179 | | ratio | 0.045 | | matches | | 0 | "The bar was quiet for a Tuesday—two men in suits at the corner table, a woman in a red coat reading by the window, and Silas himself behind the counter, polishing a glass with his good hand while his left rested on the polished oak, the silver signet ring catching the low light." | | 1 | "Rory didn’t look up at first; she was already counting the till drawer, stacking coins in short stacks that clicked against the wood." | | 2 | "Her posture had always been confident; now it carried the practiced ease of someone used to arriving in rooms where she was already expected." | | 3 | "The coat parted to show a charcoal blouse and matching trousers; the blouse was cut high at the collar, hiding whatever the years might have left at her throat." | | 4 | "Something crossed Eva’s face—regret or anger, Rory couldn’t tell." | | 5 | "Eva looked like someone who had learned to wear authority the way other women wore perfume—lightly, but every day." | | 6 | "Somewhere in the back, Silas opened the dishwasher; the rattle of clean glasses was domestic and ordinary." | | 7 | "Outside, Soho kept its night rhythm—cabs hissing through puddles, distant laughter, the low thrum of traffic on Shaftesbury Avenue." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1383 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 50 | | adverbRatio | 0.036153289949385395 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.005784526391901663 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 179 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 179 | | mean | 10.41 | | std | 8.36 | | cv | 0.803 | | sampleLengths | | 0 | 22 | | 1 | 26 | | 2 | 24 | | 3 | 53 | | 4 | 18 | | 5 | 5 | | 6 | 2 | | 7 | 10 | | 8 | 13 | | 9 | 3 | | 10 | 6 | | 11 | 3 | | 12 | 2 | | 13 | 9 | | 14 | 6 | | 15 | 23 | | 16 | 17 | | 17 | 4 | | 18 | 14 | | 19 | 24 | | 20 | 24 | | 21 | 29 | | 22 | 36 | | 23 | 8 | | 24 | 10 | | 25 | 11 | | 26 | 3 | | 27 | 12 | | 28 | 13 | | 29 | 5 | | 30 | 1 | | 31 | 7 | | 32 | 8 | | 33 | 2 | | 34 | 32 | | 35 | 9 | | 36 | 9 | | 37 | 3 | | 38 | 11 | | 39 | 1 | | 40 | 2 | | 41 | 9 | | 42 | 13 | | 43 | 17 | | 44 | 6 | | 45 | 6 | | 46 | 6 | | 47 | 4 | | 48 | 20 | | 49 | 20 |
| |
| 44.97% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.29608938547486036 | | totalSentences | 179 | | uniqueOpeners | 53 | |
| 30.03% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 111 | | matches | | 0 | "Somewhere in the back, Silas" |
| | ratio | 0.009 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 111 | | matches | | 0 | "She smelled the familiar mix" | | 1 | "She threaded behind the bar" | | 2 | "His mouth twitched." | | 3 | "She almost smiled." | | 4 | "She followed his gaze." | | 5 | "She was tall, her black" | | 6 | "Her posture had always been" | | 7 | "Her eyes, when they lifted," | | 8 | "Her voice was lower than" | | 9 | "she corrected, automatically, though she" | | 10 | "They stood across the bar" | | 11 | "It was not quite a" | | 12 | "She heard the defensiveness in" | | 13 | "Her hands were steady on" | | 14 | "She had always bitten them" | | 15 | "She could feel Eva watching" | | 16 | "It was not a question." | | 17 | "She poured herself a glass" | | 18 | "She had never been good" | | 19 | "She heard the faint condescension" |
| | ratio | 0.252 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 103 | | totalSentences | 111 | | matches | | 0 | "The Raven’s Nest sat half" | | 1 | "Rory Carter pushed through the" | | 2 | "She smelled the familiar mix" | | 3 | "The bar was quiet for" | | 4 | "She threaded behind the bar" | | 5 | "Silas glanced up only once." | | 6 | "His mouth twitched." | | 7 | "She almost smiled." | | 8 | "The door opened behind them" | | 9 | "Rory didn’t look up at" | | 10 | "Silas’s posture changed, the slight" | | 11 | "She followed his gaze." | | 12 | "A woman stood just inside" | | 13 | "She was tall, her black" | | 14 | "Her posture had always been" | | 15 | "The coat parted to show" | | 16 | "Her eyes, when they lifted," | | 17 | "The woman’s gaze moved past" | | 18 | "Recognition widened her eyes a" | | 19 | "Her voice was lower than" |
| | ratio | 0.928 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 111 | | matches | (empty) | | ratio | 0 | |
| 74.18% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 52 | | technicalSentenceCount | 5 | | matches | | 0 | "Rory didn’t look up at first; she was already counting the till drawer, stacking coins in short stacks that clicked against the wood." | | 1 | "Her eyes, when they lifted, were the same hazel that had once watched Rory climb fences behind the school in Cardiff, but the lines around them were deeper, and…" | | 2 | "The girl who had dragged her out of Cardiff the night Evan smashed his fist through the kitchen window and told her there was nothing left for them in Wales but…" | | 3 | "Behind them, Silas switched off the back lights, and the room sank into the kind of half-dark that keeps its own counsel." | | 4 | "Inside, two women who had once shared a bedroom in Cardiff and a promise in London sat across a small table and let the weight of four years settle between them…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 26 | | uselessAdditionCount | 1 | | matches | | 0 | "She stopped, the sentence unfinished, and drank again" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 19 | | fancyCount | 2 | | fancyTags | | 0 | "she corrected (correct)" | | 1 | "Rory repeated (repeat)" |
| | dialogueSentences | 75 | | tagDensity | 0.253 | | leniency | 0.507 | | rawRatio | 0.105 | | effectiveRatio | 0.053 | |