| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 24 | | adverbTagCount | 6 | | adverbTags | | 0 | "She stepped back [back]" | | 1 | "He glanced around [around]" | | 2 | "gloved hand lifted gently [gently]" | | 3 | "She spoke firmly [firmly]" | | 4 | "The word tasted like [like]" | | 5 | "She spoke clearly [clearly]" |
| | dialogueSentences | 42 | | tagDensity | 0.571 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |
| 87.04% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1157 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | |
| 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) | |
| 65.43% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1157 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "perfect" | | 1 | "silence" | | 2 | "trembled" | | 3 | "tenderness" | | 4 | "firmly" | | 5 | "tracing" | | 6 | "desire" |
| |
| 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 | 67 | | matches | (empty) | |
| 36.25% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 5 | | narrationSentences | 67 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 84 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1157 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 20 | | wordCount | 869 | | uniqueNames | 8 | | maxNameDensity | 0.69 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Lucien | 6 | | Moreau | 1 | | Brick | 1 | | Lane | 1 | | Eva | 4 | | Ptolemy | 2 | | Silas | 1 | | Rory | 4 |
| | persons | | 0 | "Lucien" | | 1 | "Moreau" | | 2 | "Eva" | | 3 | "Ptolemy" | | 4 | "Silas" | | 5 | "Rory" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 43.62% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like violence" | | 1 | "tasted like wine and danger on his lips" |
| |
| 27.14% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.729 | | wordCount | 1157 | | matches | | 0 | "not that man, but you sound like him" | | 1 | "not for the knife she kept in her delivery bag, but for his lapel, pulling him close" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 84 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 48 | | mean | 24.1 | | std | 13.03 | | cv | 0.541 | | sampleLengths | | 0 | 26 | | 1 | 54 | | 2 | 13 | | 3 | 34 | | 4 | 15 | | 5 | 19 | | 6 | 18 | | 7 | 43 | | 8 | 35 | | 9 | 19 | | 10 | 15 | | 11 | 9 | | 12 | 20 | | 13 | 28 | | 14 | 27 | | 15 | 32 | | 16 | 20 | | 17 | 39 | | 18 | 22 | | 19 | 12 | | 20 | 68 | | 21 | 3 | | 22 | 24 | | 23 | 28 | | 24 | 13 | | 25 | 38 | | 26 | 34 | | 27 | 16 | | 28 | 13 | | 29 | 19 | | 30 | 22 | | 31 | 28 | | 32 | 30 | | 33 | 24 | | 34 | 35 | | 35 | 10 | | 36 | 29 | | 37 | 5 | | 38 | 10 | | 39 | 3 | | 40 | 8 | | 41 | 21 | | 42 | 36 | | 43 | 30 | | 44 | 29 | | 45 | 37 | | 46 | 6 | | 47 | 38 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 67 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 161 | | matches | (empty) | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 84 | | ratio | 0 | | matches | (empty) | |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 876 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 33 | | adverbRatio | 0.03767123287671233 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.007990867579908675 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 84 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 84 | | mean | 13.77 | | std | 8.87 | | cv | 0.644 | | sampleLengths | | 0 | 7 | | 1 | 19 | | 2 | 29 | | 3 | 25 | | 4 | 13 | | 5 | 5 | | 6 | 29 | | 7 | 15 | | 8 | 4 | | 9 | 15 | | 10 | 18 | | 11 | 21 | | 12 | 22 | | 13 | 19 | | 14 | 16 | | 15 | 8 | | 16 | 4 | | 17 | 7 | | 18 | 9 | | 19 | 6 | | 20 | 9 | | 21 | 8 | | 22 | 12 | | 23 | 16 | | 24 | 12 | | 25 | 27 | | 26 | 13 | | 27 | 19 | | 28 | 5 | | 29 | 15 | | 30 | 17 | | 31 | 22 | | 32 | 22 | | 33 | 9 | | 34 | 3 | | 35 | 3 | | 36 | 2 | | 37 | 25 | | 38 | 4 | | 39 | 24 | | 40 | 10 | | 41 | 3 | | 42 | 11 | | 43 | 13 | | 44 | 10 | | 45 | 18 | | 46 | 11 | | 47 | 2 | | 48 | 38 | | 49 | 14 |
| |
| 38.10% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.2857142857142857 | | totalSentences | 84 | | uniqueOpeners | 24 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 59 | | matches | | 0 | "Instead, her fingers curled into" | | 1 | "Then he stopped." | | 2 | "Then he pulled back, and" |
| | ratio | 0.051 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 39 | | totalSentences | 59 | | matches | | 0 | "He wore a tailored charcoal" | | 1 | "His eyes were heterochromatic, amber" | | 2 | "His voice was low, polished," | | 3 | "She did not answer immediately." | | 4 | "She only stood there, straight" | | 5 | "She tried to sound cool-headed," | | 6 | "He did not stop." | | 7 | "He moved inside anyway, cane" | | 8 | "She stepped back, but her" | | 9 | "He glanced around the cramped" | | 10 | "She crossed her arms." | | 11 | "He stepped closer, blocking the" | | 12 | "She tried to put space" | | 13 | "She kept her voice even," | | 14 | "His gloved hand lifted, gently," | | 15 | "She pulled back, but he" | | 16 | "She jerked her hand away," | | 17 | "She wanted to draw a" | | 18 | "She spoke firmly, but her" | | 19 | "His amber eye flared" |
| | ratio | 0.661 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 55 | | totalSentences | 59 | | matches | | 0 | "The third deadbolt scraped against" | | 1 | "Rory pulled the door wide," | | 2 | "He wore a tailored charcoal" | | 3 | "His eyes were heterochromatic, amber" | | 4 | "His voice was low, polished," | | 5 | "She did not answer immediately." | | 6 | "She only stood there, straight" | | 7 | "She tried to sound cool-headed," | | 8 | "He did not stop." | | 9 | "He moved inside anyway, cane" | | 10 | "She stepped back, but her" | | 11 | "He glanced around the cramped" | | 12 | "The tabby cat Ptolemy hissed" | | 13 | "This was Eva's flat, above" | | 14 | "The air smelled of turmeric," | | 15 | "She crossed her arms." | | 16 | "He stepped closer, blocking the" | | 17 | "She tried to put space" | | 18 | "The smell of him was" | | 19 | "She kept her voice even," |
| | ratio | 0.932 | |
| 84.75% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 59 | | matches | | 0 | "Before she could answer, a" |
| | ratio | 0.017 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 28 | | technicalSentenceCount | 7 | | matches | | 0 | "He wore a tailored charcoal suit that swallowed the narrow light of Brick Lane, and the ivory-handled cane in his grip concealed the thin blade she knew too wel…" | | 1 | "His eyes were heterochromatic, amber and black, tracking her bright blue ones with the patience of a collector who had finally found his missing piece." | | 2 | "She only stood there, straight black hair still damp from the steam that drifted up from the curry house below, her fingers curling into the hem of her jacket." | | 3 | "His mouth was a claim, a punishment, a homecoming, dark and demanding, a thing that made her forget her own name for one terrible second." | | 4 | "His hand slid to her left wrist again, tracing the crescent scar with a reverence that made her shiver." | | 5 | "Rory looked at the locked deadbolts, at the man who had hurt her and saved her in equal measure, at the door shaking with outside violence, and she knew the mom…" | | 6 | "She reached not for the knife she kept in her delivery bag, but for his lapel, pulling him close, and the flat became a cage of dark romance, three deadbolts, a…" |
| |
| 20.83% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 24 | | uselessAdditionCount | 5 | | matches | | 0 | "She stepped back, but her shoulder clipped the edge of the door" | | 1 | "She pushed, breathless" | | 2 | "She should, but her voice cracked" | | 3 | "He pressed, his platinum hair brushing her cheek" | | 4 | "She spoke clearly, her intelligence sharp as glass" |
| |
| 54.76% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 4 | | fancyTags | | 0 | "She spoke firmly (speak)" | | 1 | "She spoke (speak)" | | 2 | "He pressed (press)" | | 3 | "She spoke clearly (speak)" |
| | dialogueSentences | 42 | | tagDensity | 0.262 | | leniency | 0.524 | | rawRatio | 0.364 | | effectiveRatio | 0.19 | |