| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 2 | | adverbTags | | 0 | "Megan pulled back [back]" | | 1 | "Megan said finally [finally]" |
| | dialogueSentences | 52 | | tagDensity | 0.404 | | leniency | 0.808 | | rawRatio | 0.095 | | effectiveRatio | 0.077 | |
| 96.12% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1289 | | totalAiIsmAdverbs | 1 | | 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) | |
| 84.48% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1289 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "scanning" | | 1 | "familiar" | | 2 | "weight" | | 3 | "warmth" |
| |
| 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 | 70 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 70 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 101 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 3 | | markdownWords | 5 | | totalWords | 1284 | | ratio | 0.004 | | matches | | 0 | "Rory." | | 1 | "work" | | 2 | "not my business" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 0 | | matches | (empty) | |
| 49.36% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 48 | | wordCount | 944 | | uniqueNames | 11 | | maxNameDensity | 2.01 | | worstName | "Megan" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Megan" | | discoveredNames | | Nest | 1 | | Silas | 4 | | Rory | 17 | | Megan | 19 | | Evan | 1 | | London | 1 | | Eva | 1 | | Golden | 1 | | Empress | 1 | | Yu-Fei | 1 | | Roath | 1 |
| | persons | | 0 | "Nest" | | 1 | "Silas" | | 2 | "Rory" | | 3 | "Megan" | | 4 | "Evan" | | 5 | "Eva" |
| | places | | | globalScore | 0.494 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | 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 | 1284 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 101 | | matches | | 0 | "like that hour" | | 1 | "let that sit" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 27.32 | | std | 25.87 | | cv | 0.947 | | sampleLengths | | 0 | 108 | | 1 | 21 | | 2 | 32 | | 3 | 1 | | 4 | 29 | | 5 | 3 | | 6 | 46 | | 7 | 15 | | 8 | 6 | | 9 | 97 | | 10 | 15 | | 11 | 34 | | 12 | 6 | | 13 | 53 | | 14 | 5 | | 15 | 9 | | 16 | 3 | | 17 | 4 | | 18 | 56 | | 19 | 36 | | 20 | 4 | | 21 | 12 | | 22 | 5 | | 23 | 69 | | 24 | 19 | | 25 | 3 | | 26 | 4 | | 27 | 77 | | 28 | 6 | | 29 | 50 | | 30 | 4 | | 31 | 35 | | 32 | 37 | | 33 | 28 | | 34 | 56 | | 35 | 18 | | 36 | 14 | | 37 | 69 | | 38 | 14 | | 39 | 28 | | 40 | 58 | | 41 | 8 | | 42 | 1 | | 43 | 23 | | 44 | 14 | | 45 | 28 | | 46 | 21 |
| |
| 95.24% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 70 | | matches | | 0 | "been left" | | 1 | "were lacquered" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 167 | | matches | | |
| 86.28% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 101 | | ratio | 0.02 | | matches | | 0 | "That was the strange thing—the body recognized her first, some old animal part that tightened in the chest." | | 1 | "She did know—or she knew the shape of it, the parts that had reached her secondhand." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 951 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 26 | | adverbRatio | 0.027339642481598318 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.00946372239747634 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 101 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 101 | | mean | 12.71 | | std | 10.61 | | cv | 0.834 | | sampleLengths | | 0 | 16 | | 1 | 40 | | 2 | 14 | | 3 | 19 | | 4 | 19 | | 5 | 21 | | 6 | 7 | | 7 | 18 | | 8 | 7 | | 9 | 1 | | 10 | 4 | | 11 | 21 | | 12 | 4 | | 13 | 3 | | 14 | 46 | | 15 | 12 | | 16 | 3 | | 17 | 6 | | 18 | 10 | | 19 | 17 | | 20 | 5 | | 21 | 24 | | 22 | 41 | | 23 | 7 | | 24 | 8 | | 25 | 19 | | 26 | 15 | | 27 | 6 | | 28 | 11 | | 29 | 42 | | 30 | 5 | | 31 | 9 | | 32 | 3 | | 33 | 4 | | 34 | 11 | | 35 | 45 | | 36 | 5 | | 37 | 2 | | 38 | 29 | | 39 | 4 | | 40 | 5 | | 41 | 7 | | 42 | 5 | | 43 | 13 | | 44 | 3 | | 45 | 16 | | 46 | 37 | | 47 | 7 | | 48 | 12 | | 49 | 3 |
| |
| 61.06% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.39603960396039606 | | totalSentences | 101 | | uniqueOpeners | 40 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 57 | | matches | | 0 | "Then the name arrived, slow" | | 1 | "Then it cracked open." | | 2 | "Then the door, and the" |
| | ratio | 0.053 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 57 | | matches | | 0 | "She had agreed to mind" | | 1 | "She crossed the room with" | | 2 | "She had cut hers too," | | 3 | "She set her umbrella against" | | 4 | "She slid one across, and" | | 5 | "She did know—or she knew" | | 6 | "She had imagined this conversation," | | 7 | "She had imagined Megan, Eva," | | 8 | "It had got her through" | | 9 | "It surprised her now how" | | 10 | "She turned the glass again" | | 11 | "She waited for the flinch," | | 12 | "She shook her head" | | 13 | "She knew Megan was remembering" | | 14 | "She finished her whisky and" | | 15 | "She stood, gathered her coat," |
| | ratio | 0.281 | |
| 21.40% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 57 | | matches | | 0 | "The green neon hummed against" | | 1 | "Rory had come to like" | | 2 | "Silas was in the back," | | 3 | "She had agreed to mind" | | 4 | "The door let in a" | | 5 | "Rory knew her before she" | | 6 | "That was the strange thing—the" | | 7 | "The woman looked up." | | 8 | "She crossed the room with" | | 9 | "Megan pulled back and held" | | 10 | "Megan touched her own collarbone" | | 11 | "She had cut hers too," | | 12 | "Everything about her was sharper." | | 13 | "The girl Rory remembered had" | | 14 | "This woman wore a coat" | | 15 | "Megan laughed, glancing around at" | | 16 | "Megan said it like a" | | 17 | "She set her umbrella against" | | 18 | "Rory poured two, because it" | | 19 | "She slid one across, and" |
| | ratio | 0.877 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 57 | | matches | (empty) | | ratio | 0 | |
| 99.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 2 | | matches | | 0 | "That was the strange thing—the body recognized her first, some old animal part that tightened in the chest." | | 1 | "She crossed the room with both hands out, and Rory came around the bar and let herself be held, and it was awkward in the way these things always were, two peop…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 1 | | matches | | 0 | "Megan straightened, and the brittleness rearranged itself into something more familiar to her, the armour she wore now" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 52 | | tagDensity | 0.269 | | leniency | 0.538 | | rawRatio | 0.071 | | effectiveRatio | 0.038 | |