| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said quietly [quietly]" |
| | dialogueSentences | 183 | | tagDensity | 0.087 | | leniency | 0.175 | | rawRatio | 0.063 | | effectiveRatio | 0.011 | |
| 90.96% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 3318 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "quickly" | | 1 | "very" | | 2 | "really" | | 3 | "slowly" | | 4 | "sharply" |
| |
| 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) | |
| 86.44% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 3318 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "tension" | | 1 | "weight" | | 2 | "eyebrow" | | 3 | "traced" | | 4 | "flicker" | | 5 | "silence" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "let out a breath" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 223 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 223 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 394 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 87 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 3316 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 38 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 80 | | wordCount | 1996 | | uniqueNames | 12 | | maxNameDensity | 1.3 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Eastern | 1 | | Europe | 1 | | Silas | 20 | | Rory | 26 | | Daniel | 22 | | Constitutional | 1 | | Law | 2 | | Pre-Law | 1 | | October | 1 | | Rain | 3 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Rory" | | 4 | "Daniel" | | 5 | "Rain" |
| | places | | 0 | "Eastern" | | 1 | "Europe" | | 2 | "Constitutional" | | 3 | "October" |
| | globalScore | 0.849 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 136 | | glossingSentenceCount | 1 | | matches | | 0 | "appeared in front of her with a face carved from oak" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 3316 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 394 | | matches | | 0 | "used that tone" | | 1 | "let that sit" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 297 | | mean | 11.16 | | std | 14.6 | | cv | 1.307 | | sampleLengths | | 0 | 67 | | 1 | 65 | | 2 | 2 | | 3 | 11 | | 4 | 29 | | 5 | 10 | | 6 | 3 | | 7 | 4 | | 8 | 19 | | 9 | 7 | | 10 | 5 | | 11 | 1 | | 12 | 58 | | 13 | 14 | | 14 | 5 | | 15 | 5 | | 16 | 6 | | 17 | 60 | | 18 | 95 | | 19 | 6 | | 20 | 11 | | 21 | 17 | | 22 | 1 | | 23 | 16 | | 24 | 1 | | 25 | 11 | | 26 | 12 | | 27 | 7 | | 28 | 76 | | 29 | 12 | | 30 | 3 | | 31 | 6 | | 32 | 3 | | 33 | 5 | | 34 | 2 | | 35 | 2 | | 36 | 34 | | 37 | 11 | | 38 | 4 | | 39 | 3 | | 40 | 13 | | 41 | 7 | | 42 | 12 | | 43 | 21 | | 44 | 6 | | 45 | 2 | | 46 | 7 | | 47 | 3 | | 48 | 3 | | 49 | 8 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 223 | | matches | | 0 | "been wasted" | | 1 | "being asked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 338 | | matches | | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 394 | | ratio | 0.005 | | matches | | 0 | "Rory shouldered through the door with a crate of empty wine bottles balanced against her hip and felt the bar’s usual heat fold round her—beer, polish, damp wool, fried onions from the kitchen next door, and the sharper note of whisky uncorked somewhere near the back." | | 1 | "He smiled at that, and there he was for half a second—the Daniel who had leaned over her notes in Constitutional Law and whispered running commentary in a terrible impression of their lecturer until she had to leave the room because she couldn’t stop laughing." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1309 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small cold hollow open" |
| | adverbCount | 49 | | adverbRatio | 0.0374331550802139 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.009931245225362872 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 394 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 394 | | mean | 8.42 | | std | 8.21 | | cv | 0.975 | | sampleLengths | | 0 | 21 | | 1 | 46 | | 2 | 25 | | 3 | 8 | | 4 | 8 | | 5 | 24 | | 6 | 2 | | 7 | 11 | | 8 | 29 | | 9 | 10 | | 10 | 3 | | 11 | 4 | | 12 | 19 | | 13 | 7 | | 14 | 5 | | 15 | 1 | | 16 | 9 | | 17 | 17 | | 18 | 11 | | 19 | 7 | | 20 | 3 | | 21 | 11 | | 22 | 14 | | 23 | 5 | | 24 | 5 | | 25 | 6 | | 26 | 13 | | 27 | 21 | | 28 | 26 | | 29 | 6 | | 30 | 30 | | 31 | 8 | | 32 | 20 | | 33 | 19 | | 34 | 2 | | 35 | 1 | | 36 | 1 | | 37 | 8 | | 38 | 6 | | 39 | 11 | | 40 | 7 | | 41 | 10 | | 42 | 1 | | 43 | 16 | | 44 | 1 | | 45 | 11 | | 46 | 12 | | 47 | 7 | | 48 | 10 | | 49 | 8 |
| |
| 44.16% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 23 | | diversityRatio | 0.233502538071066 | | totalSentences | 394 | | uniqueOpeners | 92 | |
| 52.36% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 191 | | matches | | 0 | "Then something old and buried" | | 1 | "Then the expression left." | | 2 | "Instead she watched him sit" |
| | ratio | 0.016 | |
| 58.74% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 77 | | totalSentences | 191 | | matches | | 0 | "He slid a clean tumbler" | | 1 | "She peeled off her gloves" | | 2 | "She knew better than to" | | 3 | "It wasn’t concern dressed up" | | 4 | "It was inventory." | | 5 | "He took stock of people" | | 6 | "She moved to the staff" | | 7 | "He reached for the kettle" | | 8 | "He was taller than she" | | 9 | "His hair used to be" | | 10 | "He wore a charcoal coat" | | 11 | "His mouth opened, shut, then" | | 12 | "She heard her own laugh" | | 13 | "He came in, letting the" | | 14 | "He had been handsome in" | | 15 | "Their handshake was brief." | | 16 | "He set the glass down." | | 17 | "His voice had dropped." | | 18 | "She looked at him properly" | | 19 | "His wedding finger was bare," |
| | ratio | 0.403 | |
| 28.06% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 165 | | totalSentences | 191 | | matches | | 0 | "The green neon above The" | | 1 | "Rory shouldered through the door" | | 2 | "Silas stood behind the bar" | | 3 | "A low jazz record scratched" | | 4 | "A woman in a red" | | 5 | "Rory dropped the crate by" | | 6 | "Silas glanced at the rain" | | 7 | "He slid a clean tumbler" | | 8 | "She peeled off her gloves" | | 9 | "The scar on her left" | | 10 | "She knew better than to" | | 11 | "It wasn’t concern dressed up" | | 12 | "It was inventory." | | 13 | "He took stock of people" | | 14 | "She moved to the staff" | | 15 | "He reached for the kettle" | | 16 | "The front door opened again" | | 17 | "Rory turned by habit, half" | | 18 | "The man in the doorway" | | 19 | "He was taller than she" |
| | ratio | 0.864 | |
| 52.36% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 191 | | matches | | 0 | "Now it was cut close" | | 1 | "Because too many people still" |
| | ratio | 0.01 | |
| 87.91% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 78 | | technicalSentenceCount | 6 | | matches | | 0 | "The man in the doorway paused with one hand still on the handle, blinking against the dimness as if he had stepped into the wrong decade." | | 1 | "He wore a charcoal coat too fine for the weather and carried himself with a stiffness that looked expensive." | | 2 | "Up close, time showed itself in the corners of his eyes, in the hollows under his cheekbones, in the way he held his jaw as if his teeth were always clenched ar…" | | 3 | "He smiled at that, and there he was for half a second—the Daniel who had leaned over her notes in Constitutional Law and whispered running commentary in a terri…" | | 4 | "Grief for the versions of themselves that had once sat up till three in the morning with chips wrapped in paper, certain the future would feel like expansion an…" | | 5 | "He looked at her with something careful in his face, as if sudden movements might break the moment." |
| |
| 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 | 13 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 183 | | tagDensity | 0.071 | | leniency | 0.142 | | rawRatio | 0 | | effectiveRatio | 0 | |