| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 46 | | tagDensity | 0.348 | | leniency | 0.696 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 84.92% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 995 | | totalAiIsmAdverbs | 3 | | 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) | |
| 79.90% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 995 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "measured" | | 1 | "silk" | | 2 | "silence" | | 3 | "traced" |
| |
| 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 | 74 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 74 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 103 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1007 | | 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 | 49 | | wordCount | 763 | | uniqueNames | 13 | | maxNameDensity | 3.01 | | worstName | "Eva" | | maxWindowNameDensity | 5.5 | | worstWindowName | "Eva" | | discoveredNames | | Raven | 1 | | Nest | 2 | | November | 1 | | Paris | 1 | | Prague | 1 | | Marrakech | 1 | | Eva | 23 | | Rory | 14 | | Cathays | 1 | | City | 1 | | Road | 1 | | Christmas | 1 | | Pontypridd | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Eva" | | 3 | "Rory" |
| | places | | 0 | "Paris" | | 1 | "Prague" | | 2 | "Cathays" | | 3 | "City" | | 4 | "Road" | | 5 | "Pontypridd" |
| | globalScore | 0 | | windowScore | 0 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 49 | | 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 | 1007 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 103 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 50 | | mean | 20.14 | | std | 22.29 | | cv | 1.107 | | sampleLengths | | 0 | 98 | | 1 | 18 | | 2 | 82 | | 3 | 6 | | 4 | 1 | | 5 | 3 | | 6 | 21 | | 7 | 54 | | 8 | 15 | | 9 | 19 | | 10 | 73 | | 11 | 4 | | 12 | 7 | | 13 | 24 | | 14 | 39 | | 15 | 19 | | 16 | 14 | | 17 | 9 | | 18 | 42 | | 19 | 2 | | 20 | 10 | | 21 | 4 | | 22 | 39 | | 23 | 2 | | 24 | 12 | | 25 | 4 | | 26 | 24 | | 27 | 28 | | 28 | 3 | | 29 | 3 | | 30 | 18 | | 31 | 19 | | 32 | 5 | | 33 | 13 | | 34 | 3 | | 35 | 5 | | 36 | 49 | | 37 | 13 | | 38 | 2 | | 39 | 4 | | 40 | 38 | | 41 | 34 | | 42 | 6 | | 43 | 4 | | 44 | 7 | | 45 | 4 | | 46 | 67 | | 47 | 13 | | 48 | 1 | | 49 | 23 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 74 | | matches | | |
| 89.81% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 121 | | matches | | 0 | "was still sitting" | | 1 | "was buttoning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 103 | | ratio | 0.078 | | matches | | 0 | "A grey afternoon in November pressed against the windows, catching on the edges of old maps — Paris, Prague, Marrakech — that papered the walls alongside black-and-white photographs of people whose names no one remembered." | | 1 | "She wore a long charcoal coat — expensive, tailored, the kind of thing that got dry-cleaned rather than washed." | | 2 | "She crossed the room and stopped close enough that the small changes accumulated — the fine line between Eva's brows, the way Rory's black hair fell past her shoulders now, the pale crescent scar on Rory's left wrist catching the dim light." | | 3 | "Her thumb moved along the rim — once, twice — then stopped." | | 4 | "The gold band on her left hand caught the neon glow from outside — green, the colour of the Nest's sign." | | 5 | "Rory watched it happen — the way Eva's shoulders shifted and her gaze moved to some middle distance and then came back and she was still sitting on the stool but some other version of her had stepped to the side." | | 6 | "She'd done this before — on nights when the flat above felt too quiet and the city outside had nothing to say." | | 7 | "Her grey-blue eyes — the same eyes from the shared flat in Cathays, from hungover mornings at the greasy spoon on City Road, from that terrible Christmas in the pub in Pontypridd when they'd sung carols off-key until closing — held something very still and very deep behind them." |
| |
| 98.06% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 758 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 32 | | adverbRatio | 0.04221635883905013 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 103 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 103 | | mean | 9.78 | | std | 9.17 | | cv | 0.938 | | sampleLengths | | 0 | 16 | | 1 | 28 | | 2 | 5 | | 3 | 35 | | 4 | 10 | | 5 | 4 | | 6 | 18 | | 7 | 14 | | 8 | 19 | | 9 | 6 | | 10 | 17 | | 11 | 10 | | 12 | 16 | | 13 | 6 | | 14 | 1 | | 15 | 3 | | 16 | 7 | | 17 | 5 | | 18 | 9 | | 19 | 7 | | 20 | 42 | | 21 | 5 | | 22 | 15 | | 23 | 11 | | 24 | 6 | | 25 | 2 | | 26 | 2 | | 27 | 15 | | 28 | 8 | | 29 | 8 | | 30 | 12 | | 31 | 3 | | 32 | 13 | | 33 | 12 | | 34 | 4 | | 35 | 7 | | 36 | 5 | | 37 | 13 | | 38 | 6 | | 39 | 7 | | 40 | 32 | | 41 | 4 | | 42 | 8 | | 43 | 7 | | 44 | 8 | | 45 | 6 | | 46 | 9 | | 47 | 8 | | 48 | 13 | | 49 | 21 |
| |
| 65.37% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.39805825242718446 | | totalSentences | 103 | | uniqueOpeners | 41 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 63 | | matches | | 0 | "She'd just reached for the" | | 1 | "She wore a long charcoal" | | 2 | "Her hair was dark and" | | 3 | "She stood with one foot" | | 4 | "She crossed the room and" | | 5 | "She slid one across the" | | 6 | "She unbuttoned her coat with" | | 7 | "She picked up the glass" | | 8 | "Her thumb moved along the" | | 9 | "She shook her head" | | 10 | "Her reflection in the mirror" | | 11 | "Her eyes stayed on Rory" | | 12 | "Her mouth shifted and then" | | 13 | "They looked at each other." | | 14 | "She'd done this before —" | | 15 | "Her grey-blue eyes — the" | | 16 | "Her fingers stopped an inch" | | 17 | "Her coat came off the" |
| | ratio | 0.286 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 60 | | totalSentences | 63 | | matches | | 0 | "The rain had turned mean" | | 1 | "Rory sat at the end" | | 2 | "The lunch crowd had gone." | | 3 | "A grey afternoon in November" | | 4 | "Silas had disappeared behind the" | | 5 | "The bar was hers." | | 6 | "She'd just reached for the" | | 7 | "A woman stepped in from" | | 8 | "She wore a long charcoal" | | 9 | "Leather gloves went into one" | | 10 | "Her hair was dark and" | | 11 | "A thin gold chain caught" | | 12 | "She stood with one foot" | | 13 | "Rory's hand froze on the" | | 14 | "The woman turned." | | 15 | "The rain beat the awning." | | 16 | "A tap dripped behind the" | | 17 | "Eva's voice caught on the" | | 18 | "She crossed the room and" | | 19 | "Eva looked at the maps," |
| | ratio | 0.952 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 49.69% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 23 | | technicalSentenceCount | 3 | | matches | | 0 | "A grey afternoon in November pressed against the windows, catching on the edges of old maps — Paris, Prague, Marrakech — that papered the walls alongside black-…" | | 1 | "She wore a long charcoal coat — expensive, tailored, the kind of thing that got dry-cleaned rather than washed." | | 2 | "Her reflection in the mirror behind the bottles showed her the way she was: hair too long, jacket too big, delivery bag on the floor like a dog that had given u…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 16 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 46 | | tagDensity | 0.065 | | leniency | 0.13 | | rawRatio | 0 | | effectiveRatio | 0 | |