| 84.43% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 29 | | adverbTagCount | 4 | | adverbTags | | 0 | "He looked around [around]" | | 1 | "Dan said suddenly [suddenly]" | | 2 | "she said honestly [honestly]" | | 3 | "Dan said finally [finally]" |
| | dialogueSentences | 61 | | tagDensity | 0.475 | | leniency | 0.951 | | rawRatio | 0.138 | | effectiveRatio | 0.131 | |
| 54.55% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1650 | | totalAiIsmAdverbs | 15 | | found | | | highlights | | 0 | "slowly" | | 1 | "coldly" | | 2 | "slightly" | | 3 | "completely" | | 4 | "carefully" | | 5 | "quickly" | | 6 | "suddenly" | | 7 | "very" |
| |
| 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) | |
| 75.76% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1650 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "calculated" | | 1 | "unreadable" | | 2 | "silence" | | 3 | "comfortable" | | 4 | "absolutely" |
| |
| 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 | 110 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 110 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 142 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 70 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1663 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 36 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 1312 | | uniqueNames | 13 | | maxNameDensity | 0.46 | | worstName | "Silas" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Silas" | | discoveredNames | | Nest | 1 | | Marsh | 2 | | Daniel | 4 | | Edinburgh | 1 | | Scottish | 1 | | Silas | 6 | | Rory | 2 | | Dan | 5 | | Senedd | 1 | | Cardiff | 2 | | Bay | 1 | | Evan | 1 | | Pre-Law | 1 |
| | persons | | 0 | "Silas" | | 1 | "Rory" | | 2 | "Dan" | | 3 | "Evan" |
| | places | | 0 | "Nest" | | 1 | "Marsh" | | 2 | "Daniel" | | 3 | "Edinburgh" | | 4 | "Senedd" | | 5 | "Cardiff" | | 6 | "Bay" |
| | globalScore | 1 | | windowScore | 1 | |
| 34.62% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 65 | | glossingSentenceCount | 3 | | matches | | 0 | "quite committed to the full gesture yet" | | 1 | "seemed rude not to, and they did the brief awkward calculation of what kind of greeting they were — a hug, it turned out, short and slightly too careful" | | 2 | "quite throw away" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.601 | | wordCount | 1663 | | matches | | 0 | "Not a comfortable one, but not hostile either" |
| |
| 96.24% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 142 | | matches | | 0 | "land that way" | | 1 | "understood that certainty" | | 2 | "giving that answer" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 66 | | mean | 25.2 | | std | 25.22 | | cv | 1.001 | | sampleLengths | | 0 | 85 | | 1 | 54 | | 2 | 23 | | 3 | 1 | | 4 | 18 | | 5 | 38 | | 6 | 125 | | 7 | 3 | | 8 | 25 | | 9 | 31 | | 10 | 46 | | 11 | 23 | | 12 | 27 | | 13 | 10 | | 14 | 2 | | 15 | 4 | | 16 | 93 | | 17 | 18 | | 18 | 12 | | 19 | 27 | | 20 | 64 | | 21 | 5 | | 22 | 8 | | 23 | 1 | | 24 | 4 | | 25 | 23 | | 26 | 5 | | 27 | 1 | | 28 | 26 | | 29 | 4 | | 30 | 26 | | 31 | 13 | | 32 | 13 | | 33 | 7 | | 34 | 36 | | 35 | 28 | | 36 | 20 | | 37 | 19 | | 38 | 45 | | 39 | 7 | | 40 | 11 | | 41 | 33 | | 42 | 14 | | 43 | 75 | | 44 | 6 | | 45 | 14 | | 46 | 12 | | 47 | 13 | | 48 | 3 | | 49 | 7 |
| |
| 89.31% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 110 | | matches | | 0 | "been decided" | | 1 | "being summoned" | | 2 | "been asked" | | 3 | "was swallowed" | | 4 | "been outraged" |
| |
| 84.56% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 231 | | matches | | 0 | "was shrugging" | | 1 | "was standing" | | 2 | "were working" | | 3 | "was wearing" |
| |
| 22.13% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 142 | | ratio | 0.042 | | matches | | 0 | "She'd just taken her usual stool — second from the left, habit — and was shrugging off her jacket when she heard it." | | 1 | "He was thirty now, or nearly — the same as she'd last calculated him in the back of her mind — but he wore it differently than she'd imagined." | | 2 | "Not coldly — she didn't mean it coldly — but she heard it land that way and watched him register it." | | 3 | "\"Few months now.\" She crossed the distance between them because it seemed rude not to, and they did the brief awkward calculation of what kind of greeting they were — a hug, it turned out, short and slightly too careful." | | 4 | "He looked at Rory with a brief, unreadable expression — she'd learned to read his brief, unreadable expressions, and this one asked if she was alright without asking — and then at Daniel with the polite, professional appraisal he gave everyone new." | | 5 | "He smiled, and it was almost the old smile — slightly crooked, self-deprecating — but quieter now, like a fire that had learned to bank itself low." |
| |
| 83.64% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1304 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 69 | | adverbRatio | 0.05291411042944785 | | lyAdverbCount | 34 | | lyAdverbRatio | 0.02607361963190184 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 142 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 142 | | mean | 11.71 | | std | 11.59 | | cv | 0.99 | | sampleLengths | | 0 | 18 | | 1 | 30 | | 2 | 37 | | 3 | 7 | | 4 | 9 | | 5 | 17 | | 6 | 21 | | 7 | 23 | | 8 | 1 | | 9 | 7 | | 10 | 11 | | 11 | 7 | | 12 | 7 | | 13 | 24 | | 14 | 8 | | 15 | 12 | | 16 | 29 | | 17 | 36 | | 18 | 8 | | 19 | 32 | | 20 | 3 | | 21 | 4 | | 22 | 21 | | 23 | 31 | | 24 | 40 | | 25 | 5 | | 26 | 1 | | 27 | 6 | | 28 | 9 | | 29 | 8 | | 30 | 2 | | 31 | 1 | | 32 | 4 | | 33 | 19 | | 34 | 1 | | 35 | 7 | | 36 | 3 | | 37 | 2 | | 38 | 4 | | 39 | 3 | | 40 | 5 | | 41 | 4 | | 42 | 45 | | 43 | 6 | | 44 | 30 | | 45 | 12 | | 46 | 4 | | 47 | 2 | | 48 | 12 | | 49 | 18 |
| |
| 54.23% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.38028169014084506 | | totalSentences | 142 | | uniqueOpeners | 54 | |
| 37.04% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 90 | | matches | | | ratio | 0.011 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 55 | | totalSentences | 90 | | matches | | 0 | "She'd just taken her usual" | | 1 | "It landed somewhere between her" | | 2 | "She turned slowly, because she" | | 3 | "They stay the same age," | | 4 | "He was thirty now, or" | | 5 | "His hair was cut close" | | 6 | "He was wearing a jacket" | | 7 | "She noticed the jacket specifically," | | 8 | "It came out flat." | | 9 | "he said, still standing, half" | | 10 | "She crossed the distance between" | | 11 | "He smelled of something expensive." | | 12 | "He sat back down" | | 13 | "She knew the name." | | 14 | "Her father would have known" | | 15 | "he said, with a small" | | 16 | "She wasn't, actually." | | 17 | "She'd expected to be." | | 18 | "He'd been going to change" | | 19 | "She'd believed that completely, with" |
| | ratio | 0.611 | |
| 21.11% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 79 | | totalSentences | 90 | | matches | | 0 | "The green neon sign bled" | | 1 | "Rory had learned to stop" | | 2 | "Wednesday nights were quiet at" | | 3 | "A couple sharing a bottle" | | 4 | "A man reading a paperback" | | 5 | "Silas moving behind the counter" | | 6 | "She'd just taken her usual" | | 7 | "The voice came from the" | | 8 | "It landed somewhere between her" | | 9 | "She turned slowly, because she" | | 10 | "Voices don't change the way" | | 11 | "They stay the same age," | | 12 | "Daniel Marsh was standing up" | | 13 | "He was thirty now, or" | | 14 | "His hair was cut close" | | 15 | "He was wearing a jacket" | | 16 | "She noticed the jacket specifically," | | 17 | "It came out flat." | | 18 | "he said, still standing, half" | | 19 | "She crossed the distance between" |
| | ratio | 0.878 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 90 | | matches | (empty) | | ratio | 0 | |
| 87.91% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 39 | | technicalSentenceCount | 3 | | matches | | 0 | "His hair was cut close on the sides now, neat and professional, and he had the kind of careful posture that people developed when they were working hard not to …" | | 1 | "He smiled, and it was almost the old smile — slightly crooked, self-deprecating — but quieter now, like a fire that had learned to bank itself low." | | 2 | "The neon light moved faintly as something passed on the street outside, and the room rearranged itself in green and shadow, and neither of them rushed to fill t…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 29 | | uselessAdditionCount | 1 | | matches | | 0 | "he said, though his voice didn't believe it" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 22 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 61 | | tagDensity | 0.361 | | leniency | 0.721 | | rawRatio | 0.045 | | effectiveRatio | 0.033 | |