| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 25 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said quietly [quietly]" | | 1 | "she said finally [finally]" |
| | dialogueSentences | 57 | | tagDensity | 0.439 | | leniency | 0.877 | | rawRatio | 0.08 | | effectiveRatio | 0.07 | |
| 96.10% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2564 | | 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) | |
| 64.90% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2564 | | totalAiIsms | 18 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | word | "the last thing" | | count | 1 |
| | 12 | | | 13 | | | 14 | |
| | highlights | | 0 | "familiar" | | 1 | "solitary" | | 2 | "scanned" | | 3 | "stomach" | | 4 | "measured" | | 5 | "affection" | | 6 | "flicked" | | 7 | "eyebrow" | | 8 | "weight" | | 9 | "silence" | | 10 | "traced" | | 11 | "the last thing" | | 12 | "could feel" | | 13 | "warmth" | | 14 | "comfortable" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 160 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 160 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 192 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 64 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2560 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 28 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 42 | | wordCount | 1696 | | uniqueNames | 18 | | maxNameDensity | 0.77 | | worstName | "Silas" | | maxWindowNameDensity | 2 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 2 | | Nest | 2 | | Carter | 1 | | Soho | 1 | | Golden | 1 | | Empress | 1 | | Yu-Fei | 1 | | Greek | 1 | | Street | 1 | | Coltrane | 2 | | Blackwood | 2 | | Cardiff | 2 | | Talisker | 1 | | Cathays | 1 | | Silas | 13 | | Evan | 2 | | Rory | 7 | | Service | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Carter" | | 3 | "Empress" | | 4 | "Coltrane" | | 5 | "Blackwood" | | 6 | "Silas" | | 7 | "Evan" | | 8 | "Rory" | | 9 | "Service" |
| | places | | 0 | "Soho" | | 1 | "Golden" | | 2 | "Yu-Fei" | | 3 | "Greek" | | 4 | "Street" | | 5 | "Cardiff" | | 6 | "Cathays" |
| | globalScore | 1 | | windowScore | 1 | |
| 11.11% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 108 | | glossingSentenceCount | 6 | | matches | | 0 | "felt like an accusation" | | 1 | "Not quite the woman who had built a brittle shell in its place" | | 2 | "felt like stepping into sunlight after" | | 3 | "sounded like her again" | | 4 | "felt like it had been written for exact" | | 5 | "something like home" | | 6 | "tasted like rain and memory and the long" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.391 | | wordCount | 2560 | | matches | | 0 | "Not the careful, measured laugh she used with customers or dates, but the one" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 192 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 70 | | mean | 36.57 | | std | 24.67 | | cv | 0.675 | | sampleLengths | | 0 | 89 | | 1 | 60 | | 2 | 79 | | 3 | 91 | | 4 | 94 | | 5 | 7 | | 6 | 56 | | 7 | 19 | | 8 | 5 | | 9 | 49 | | 10 | 11 | | 11 | 92 | | 12 | 32 | | 13 | 10 | | 14 | 17 | | 15 | 10 | | 16 | 16 | | 17 | 31 | | 18 | 39 | | 19 | 65 | | 20 | 20 | | 21 | 39 | | 22 | 9 | | 23 | 38 | | 24 | 43 | | 25 | 13 | | 26 | 19 | | 27 | 2 | | 28 | 27 | | 29 | 39 | | 30 | 47 | | 31 | 77 | | 32 | 57 | | 33 | 12 | | 34 | 55 | | 35 | 52 | | 36 | 44 | | 37 | 15 | | 38 | 59 | | 39 | 85 | | 40 | 38 | | 41 | 8 | | 42 | 14 | | 43 | 68 | | 44 | 62 | | 45 | 10 | | 46 | 26 | | 47 | 32 | | 48 | 30 | | 49 | 32 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 160 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 294 | | matches | | |
| 23.81% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 5 | | flaggedSentences | 8 | | totalSentences | 192 | | ratio | 0.042 | | matches | | 0 | "The delivery run to Golden Empress had ended twenty minutes ago; the last order cancelled by a text from Yu-Fei." | | 1 | "A jazz record turned lazily on the vintage player behind the counter—Coltrane, probably." | | 2 | "The auburn hair had surrendered more ground to grey; it gleamed like weathered copper under the low lights." | | 3 | "Silas dealt in secrets; she had not wanted to become another one." | | 4 | "The limp made itself known when he shifted his weight; the knee would be aching in this damp." | | 5 | "The appraisal was gentle but relentless; she felt it peeling back layers she had spent years reinforcing." | | 6 | "Not to touch her—he knew better—but close enough that she could feel the warmth of his hand." | | 7 | "It was something better—something harder won." |
| |
| 92.84% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1702 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 82 | | adverbRatio | 0.0481786133960047 | | lyAdverbCount | 27 | | lyAdverbRatio | 0.015863689776733254 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 192 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 192 | | mean | 13.33 | | std | 10.33 | | cv | 0.774 | | sampleLengths | | 0 | 20 | | 1 | 16 | | 2 | 19 | | 3 | 8 | | 4 | 26 | | 5 | 8 | | 6 | 20 | | 7 | 26 | | 8 | 4 | | 9 | 2 | | 10 | 12 | | 11 | 13 | | 12 | 10 | | 13 | 28 | | 14 | 16 | | 15 | 20 | | 16 | 18 | | 17 | 25 | | 18 | 28 | | 19 | 6 | | 20 | 25 | | 21 | 2 | | 22 | 3 | | 23 | 37 | | 24 | 9 | | 25 | 12 | | 26 | 7 | | 27 | 15 | | 28 | 4 | | 29 | 17 | | 30 | 1 | | 31 | 19 | | 32 | 3 | | 33 | 16 | | 34 | 4 | | 35 | 1 | | 36 | 4 | | 37 | 8 | | 38 | 27 | | 39 | 10 | | 40 | 11 | | 41 | 5 | | 42 | 22 | | 43 | 20 | | 44 | 8 | | 45 | 12 | | 46 | 11 | | 47 | 14 | | 48 | 13 | | 49 | 5 |
| |
| 44.97% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.3072916666666667 | | totalSentences | 192 | | uniqueOpeners | 59 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 140 | | matches | | 0 | "Instead of heading back to" | | 1 | "Then her gaze landed on" | | 2 | "Then the quiet, measured pleasure" | | 3 | "Instead he reached beneath the" | | 4 | "Then he reached into his" |
| | ratio | 0.036 | |
| 54.29% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 58 | | totalSentences | 140 | | matches | | 0 | "She peeled off her helmet," | | 1 | "She had not meant to" | | 2 | "His shoulders remained broad, but" | | 3 | "He had not seen her" | | 4 | "She had slipped out of" | | 5 | "She had told herself it" | | 6 | "Their eyes met across twelve" | | 7 | "She managed a nod." | | 8 | "He did not smile." | | 9 | "He never had been one" | | 10 | "Her legs moved without permission." | | 11 | "She crossed the room, aware" | | 12 | "Their fingers did not touch." | | 13 | "He lifted his own glass," | | 14 | "she said, and immediately wished" | | 15 | "His eyebrows rose a fraction." | | 16 | "He took a slow sip." | | 17 | "She hated how easily the" | | 18 | "he repeated, tasting the word" | | 19 | "He had still been with" |
| | ratio | 0.414 | |
| 49.29% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 115 | | totalSentences | 140 | | matches | | 0 | "The Raven’s Nest smelled of" | | 1 | "Rory Carter pushed the heavy" | | 2 | "Water slid from her leathers" | | 3 | "She peeled off her helmet," | | 4 | "She had not meant to" | | 5 | "The delivery run to Golden" | | 6 | "The bar was quiet, only" | | 7 | "A jazz record turned lazily" | | 8 | "Silas had always favoured the" | | 9 | "Rory scanned the room out" | | 10 | "Silas Blackwood stood with his" | | 11 | "The auburn hair had surrendered" | | 12 | "His shoulders remained broad, but" | | 13 | "He had not seen her" | | 14 | "Rory stood frozen just inside" | | 15 | "She had slipped out of" | | 16 | "She had told herself it" | | 17 | "Silas dealt in secrets; she" | | 18 | "Their eyes met across twelve" | | 19 | "Hazel met bright blue." |
| | ratio | 0.821 | |
| 35.71% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 140 | | matches | | 0 | "Before she could retreat, he" |
| | ratio | 0.007 | |
| 63.49% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 72 | | technicalSentenceCount | 8 | | matches | | 0 | "Instead of heading back to the empty flat upstairs, her hands had steered the scooter toward Greek Street as if the bike itself remembered the way." | | 1 | "Rory scanned the room out of habit, noting exits, sightlines, the man in the far booth whose posture suggested he was waiting for someone who would not arrive." | | 2 | "His shoulders remained broad, but the left one sat a fraction higher than it used to, compensating for the limp that had never quite disappeared." | | 3 | "Then the quiet, measured pleasure of a man who had long ago trained himself not to show too much." | | 4 | "He lifted his own glass, studied the amber liquid as though it contained answers." | | 5 | "She stared at him, at the man who had once been mentor and friend and something dangerously close to father, and saw for the first time how much of himself he h…" | | 6 | "Inside, the bar felt smaller, warmer, as though the walls themselves had drawn closer to listen." | | 7 | "They sat in the comfortable quiet that only old friends can manage, the kind that does not require constant filling." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 25 | | uselessAdditionCount | 1 | | matches | | 0 | "The words cut, quiet but final" |
| |
| 79.82% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 19 | | fancyCount | 4 | | fancyTags | | 0 | "he repeated (repeat)" | | 1 | "she admitted (admit)" | | 2 | "she whispered (whisper)" | | 3 | "he observed (observe)" |
| | dialogueSentences | 57 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0.211 | | effectiveRatio | 0.14 | |