| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 60 | | tagDensity | 0.317 | | leniency | 0.633 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1842 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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.71% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1842 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "tracing" | | 1 | "measured" | | 2 | "footsteps" | | 3 | "flicked" | | 4 | "furrowing" | | 5 | "silence" | | 6 | "silk" | | 7 | "familiar" | | 8 | "warmth" | | 9 | "shattered" | | 10 | "weight" | | 11 | "dance" |
| |
| 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 | 79 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 79 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 120 | | 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 | 1839 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 80 | | wordCount | 1132 | | uniqueNames | 21 | | maxNameDensity | 2.39 | | worstName | "Rory" | | maxWindowNameDensity | 5 | | worstWindowName | "Clara" | | discoveredNames | | Raven | 1 | | Nest | 3 | | Golden | 1 | | Empress | 1 | | Silas | 6 | | Soho | 1 | | London | 1 | | Cardiff | 1 | | Evan | 2 | | Burberry | 1 | | Clara | 26 | | Rory | 27 | | Piccadilly | 1 | | Circus | 1 | | Crwys | 1 | | Road | 1 | | Sunday | 1 | | Welsh | 1 | | Clwb | 1 | | Ifor | 1 | | Bach | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Evan" | | 4 | "Clara" | | 5 | "Rory" | | 6 | "Ifor" | | 7 | "Bach" |
| | places | | 0 | "Golden" | | 1 | "Soho" | | 2 | "London" | | 3 | "Cardiff" | | 4 | "Burberry" | | 5 | "Crwys" | | 6 | "Road" | | 7 | "Clwb" |
| | globalScore | 0.307 | | windowScore | 0 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1839 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 120 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 61 | | mean | 30.15 | | std | 22.41 | | cv | 0.743 | | sampleLengths | | 0 | 80 | | 1 | 64 | | 2 | 26 | | 3 | 13 | | 4 | 1 | | 5 | 30 | | 6 | 64 | | 7 | 14 | | 8 | 35 | | 9 | 12 | | 10 | 14 | | 11 | 5 | | 12 | 50 | | 13 | 46 | | 14 | 49 | | 15 | 37 | | 16 | 4 | | 17 | 32 | | 18 | 8 | | 19 | 11 | | 20 | 11 | | 21 | 1 | | 22 | 3 | | 23 | 23 | | 24 | 43 | | 25 | 38 | | 26 | 20 | | 27 | 3 | | 28 | 8 | | 29 | 45 | | 30 | 65 | | 31 | 12 | | 32 | 41 | | 33 | 5 | | 34 | 34 | | 35 | 26 | | 36 | 7 | | 37 | 51 | | 38 | 5 | | 39 | 83 | | 40 | 37 | | 41 | 40 | | 42 | 19 | | 43 | 61 | | 44 | 43 | | 45 | 15 | | 46 | 47 | | 47 | 55 | | 48 | 20 | | 49 | 8 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 79 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 177 | | matches | (empty) | |
| 95.24% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 120 | | ratio | 0.017 | | matches | | 0 | "The scent of sweet-and-sour pork still clung to her denim jacket—the lingering ghost of her shift at the Golden Empress." | | 1 | "The familiar warmth of the Nest seemed to recede, replaced by the sterile, suffocating memory of Evan’s flat on Crwys Road—the locked doors, the shattered phone, the way he smiled when her parents came for Sunday roast." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1142 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 24 | | adverbRatio | 0.021015761821366025 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.0070052539404553416 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 120 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 120 | | mean | 15.33 | | std | 10.76 | | cv | 0.702 | | sampleLengths | | 0 | 21 | | 1 | 15 | | 2 | 20 | | 3 | 24 | | 4 | 23 | | 5 | 25 | | 6 | 16 | | 7 | 10 | | 8 | 16 | | 9 | 13 | | 10 | 1 | | 11 | 6 | | 12 | 24 | | 13 | 4 | | 14 | 23 | | 15 | 25 | | 16 | 12 | | 17 | 13 | | 18 | 1 | | 19 | 14 | | 20 | 14 | | 21 | 7 | | 22 | 10 | | 23 | 2 | | 24 | 14 | | 25 | 5 | | 26 | 12 | | 27 | 24 | | 28 | 14 | | 29 | 26 | | 30 | 5 | | 31 | 15 | | 32 | 38 | | 33 | 11 | | 34 | 10 | | 35 | 12 | | 36 | 15 | | 37 | 4 | | 38 | 23 | | 39 | 9 | | 40 | 8 | | 41 | 11 | | 42 | 7 | | 43 | 4 | | 44 | 1 | | 45 | 3 | | 46 | 9 | | 47 | 14 | | 48 | 10 | | 49 | 33 |
| |
| 66.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.425 | | totalSentences | 120 | | uniqueOpeners | 51 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 77 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 77 | | matches | | 0 | "She rotated her left wrist," | | 1 | "He moved with his usual" | | 2 | "She stepped closer, the sharp" | | 3 | "She smelled of bergamot and" | | 4 | "Her gaze swept the dim" | | 5 | "His hazel eyes flicked from" | | 6 | "He rested his knuckles on" | | 7 | "He didn't bring a second." | | 8 | "He caught Rory’s eye, received" | | 9 | "She kept it beneath the" | | 10 | "It missed the coaster, the" | | 11 | "Her eyes dropped to Rory’s" | | 12 | "It wasn't the law." | | 13 | "It didn't come with a" | | 14 | "She reached into her jeans" | | 15 | "Her grip was hesitant, nothing" |
| | ratio | 0.208 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 71 | | totalSentences | 77 | | matches | | 0 | "Rory sat at the corner" | | 1 | "The scent of sweet-and-sour pork" | | 2 | "She rotated her left wrist," | | 3 | "He moved with his usual" | | 4 | "The silver signet ring on" | | 5 | "The brass bell above the" | | 6 | "A gust of damp Soho" | | 7 | "Rory didn’t look up until" | | 8 | "Nobody in London called her" | | 9 | "Rory turned her head." | | 10 | "A woman stood there, shaking" | | 11 | "Blonde hair, once hacked into" | | 12 | "Pearl studs sat in her" | | 13 | "Rory murmured, her brain misfiring" | | 14 | "Clara’s mouth twitched, a curated" | | 15 | "She stepped closer, the sharp" | | 16 | "She smelled of bergamot and" | | 17 | "Clara gestured to the empty" | | 18 | "Rory nodded, pulling her helmet" | | 19 | "Clara sat, crossing her ankles" |
| | ratio | 0.922 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 77 | | matches | (empty) | | ratio | 0 | |
| 65.22% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 5 | | matches | | 0 | "Clara’s mouth twitched, a curated smile that didn’t reach the corners of her eyes." | | 1 | "The polish seemed to strip away from her face, leaving her looking younger, paler, much closer to the nineteen-year-old who used to share roll-ups outside the l…" | | 2 | "Across the room, the green neon sign buzzed, a faint electrical hum that filled the sudden vacuum of their conversation." | | 3 | "Down at the end of the bar, Silas reached beneath the counter, his hand resting near the button that released the catch on the bookshelf door." | | 4 | "Her grip was hesitant, nothing like the girl who used to drag Rory onto the dance floor at Clwb Ifor Bach." |
| |
| 46.05% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 3 | | matches | | 0 | "Rory murmured, her brain misfiring before locking onto the correct name" | | 1 | "Clara said, her voice dropping an octave" | | 2 | "Clara leaned in, the bergamot scent thickening" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 3 | | fancyTags | | 0 | "Rory murmured (murmur)" | | 1 | "brittle snapping (snap)" | | 2 | "Clara whispered (whisper)" |
| | dialogueSentences | 60 | | tagDensity | 0.1 | | leniency | 0.2 | | rawRatio | 0.5 | | effectiveRatio | 0.1 | |