| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 44 | | tagDensity | 0.295 | | leniency | 0.591 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1546 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 87.06% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1546 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "stomach" | | 1 | "velvet" | | 2 | "weight" | | 3 | "etched" |
| |
| 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 | 66 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 66 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 98 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 92 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1546 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 81.43% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 23 | | wordCount | 875 | | uniqueNames | 3 | | maxNameDensity | 1.37 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | | persons | | | places | (empty) | | globalScore | 0.814 | | windowScore | 0.833 | |
| 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 | 1546 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 98 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 48 | | mean | 32.21 | | std | 29.92 | | cv | 0.929 | | sampleLengths | | 0 | 76 | | 1 | 36 | | 2 | 12 | | 3 | 14 | | 4 | 29 | | 5 | 4 | | 6 | 6 | | 7 | 76 | | 8 | 17 | | 9 | 18 | | 10 | 3 | | 11 | 82 | | 12 | 25 | | 13 | 3 | | 14 | 46 | | 15 | 31 | | 16 | 10 | | 17 | 46 | | 18 | 9 | | 19 | 71 | | 20 | 16 | | 21 | 14 | | 22 | 92 | | 23 | 4 | | 24 | 2 | | 25 | 45 | | 26 | 24 | | 27 | 55 | | 28 | 52 | | 29 | 5 | | 30 | 24 | | 31 | 45 | | 32 | 15 | | 33 | 48 | | 34 | 64 | | 35 | 6 | | 36 | 1 | | 37 | 67 | | 38 | 23 | | 39 | 3 | | 40 | 28 | | 41 | 119 | | 42 | 11 | | 43 | 46 | | 44 | 5 | | 45 | 107 | | 46 | 4 | | 47 | 7 |
| |
| 78.68% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 66 | | matches | | 0 | "been closed" | | 1 | "was caked" | | 2 | "been etched" | | 3 | "been laid" | | 4 | "been swept" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 129 | | matches | | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 98 | | ratio | 0 | | matches | (empty) | |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 866 | | adjectiveStacks | 1 | | stackExamples | | 0 | "under moth-eaten velvet" |
| | adverbCount | 14 | | adverbRatio | 0.016166281755196306 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 98 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 98 | | mean | 15.78 | | std | 14.12 | | cv | 0.895 | | sampleLengths | | 0 | 21 | | 1 | 35 | | 2 | 13 | | 3 | 4 | | 4 | 3 | | 5 | 8 | | 6 | 28 | | 7 | 12 | | 8 | 14 | | 9 | 14 | | 10 | 15 | | 11 | 4 | | 12 | 6 | | 13 | 8 | | 14 | 27 | | 15 | 13 | | 16 | 4 | | 17 | 24 | | 18 | 17 | | 19 | 4 | | 20 | 14 | | 21 | 3 | | 22 | 12 | | 23 | 15 | | 24 | 4 | | 25 | 19 | | 26 | 17 | | 27 | 15 | | 28 | 2 | | 29 | 23 | | 30 | 3 | | 31 | 13 | | 32 | 33 | | 33 | 5 | | 34 | 26 | | 35 | 7 | | 36 | 3 | | 37 | 19 | | 38 | 10 | | 39 | 17 | | 40 | 9 | | 41 | 60 | | 42 | 11 | | 43 | 7 | | 44 | 9 | | 45 | 14 | | 46 | 92 | | 47 | 4 | | 48 | 2 | | 49 | 26 |
| |
| 87.76% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.5510204081632653 | | totalSentences | 98 | | uniqueOpeners | 54 | |
| 56.50% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 59 | | matches | | 0 | "Then she looked at the" |
| | ratio | 0.017 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 59 | | matches | | 0 | "She held up the token" | | 1 | "They had set up beside" | | 2 | "She checked her watch out" | | 3 | "She took a pen from" | | 4 | "He gestured at the stalls," | | 5 | "She looked at him" | | 6 | "She crouched again and looked" | | 7 | "She did not believe the" | | 8 | "It pointed steady and true" | | 9 | "It ran to the dead" | | 10 | "She thought about mud on" | | 11 | "It bent and ran out" | | 12 | "It started there." | | 13 | "She held Roake's eye." |
| | ratio | 0.237 | |
| 44.75% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 49 | | totalSentences | 59 | | matches | | 0 | "The arc lights threw a" | | 1 | "Harlow Quinn ducked under the" | | 2 | "The station had been closed" | | 3 | "Posters for variety shows peeled" | | 4 | "She held up the token" | | 5 | "The constable kept his eyes" | | 6 | "Quinn pocketed the token and" | | 7 | "Traders huddled behind the tape" | | 8 | "Nobody met her eye." | | 9 | "The southern tunnel mouth gaped" | | 10 | "DS Roake came out from" | | 11 | "They had set up beside" | | 12 | "The victim sat against it," | | 13 | "Arc light showed her face" | | 14 | "She checked her watch out" | | 15 | "Roake flipped a page" | | 16 | "Roake scratched the back of" | | 17 | "She took a pen from" | | 18 | "The boot was caked in" | | 19 | "Quinn stood and looked down" |
| | ratio | 0.831 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 59 | | matches | (empty) | | ratio | 0 | |
| 44.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 4 | | matches | | 0 | "Market stalls lined the north wall under moth-eaten velvet and tarpaulin, crates of stoppered bottles, jars of grey powder, a cage of something that had stopped…" | | 1 | "The southern tunnel mouth gaped behind a rusted grille, and beyond it the dark had a depth to it that made her jaw set." | | 2 | "A patina of verdigris furred the casing, green as pond water, and the face had been etched with marks that were not any lettering she knew, fine little cuts tha…" | | 3 | "The tiles there were the same nicotine yellow as the rest, the same cracked glaze, and yet the grout was paler in two clean lines that stopped dead at the old p…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 44 | | tagDensity | 0.045 | | leniency | 0.091 | | rawRatio | 0 | | effectiveRatio | 0 | |