| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 5 | | adverbTags | | 0 | "He stepped back [back]" | | 1 | "he said quietly [quietly]" | | 2 | "She turned around [around]" | | 3 | "he said finally [finally]" | | 4 | "he said softly [softly]" |
| | dialogueSentences | 36 | | tagDensity | 0.444 | | leniency | 0.889 | | rawRatio | 0.313 | | effectiveRatio | 0.278 | |
| 94.15% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 854 | | totalAiIsmAdverbs | 1 | | 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) | |
| 82.44% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 854 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "pulse" | | 1 | "profound" | | 2 | "wavered" |
| |
| 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 | 51 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 51 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 71 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 11 | | totalWords | 854 | | ratio | 0.013 | | matches | | 0 | "I can't do this with you, not with what you are" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 9 | | wordCount | 630 | | uniqueNames | 8 | | maxNameDensity | 0.32 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 2 | | Overground | 1 | | Shoreditch | 1 | | Whitechapel | 1 | | Lane | 1 | | London | 1 | | Canary | 1 | | Wharf | 1 |
| | persons | | | places | | 0 | "Lane" | | 1 | "London" | | 2 | "Canary" | | 3 | "Wharf" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 29 | | 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 | 854 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 71 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 36 | | mean | 23.72 | | std | 21.6 | | cv | 0.911 | | sampleLengths | | 0 | 61 | | 1 | 72 | | 2 | 28 | | 3 | 3 | | 4 | 2 | | 5 | 3 | | 6 | 8 | | 7 | 29 | | 8 | 71 | | 9 | 9 | | 10 | 25 | | 11 | 37 | | 12 | 25 | | 13 | 6 | | 14 | 4 | | 15 | 13 | | 16 | 67 | | 17 | 6 | | 18 | 2 | | 19 | 2 | | 20 | 57 | | 21 | 17 | | 22 | 4 | | 23 | 27 | | 24 | 70 | | 25 | 10 | | 26 | 4 | | 27 | 20 | | 28 | 14 | | 29 | 14 | | 30 | 8 | | 31 | 34 | | 32 | 26 | | 33 | 21 | | 34 | 29 | | 35 | 26 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 51 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 100 | | matches | | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 71 | | ratio | 0 | | matches | (empty) | |
| 86.47% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 631 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 35 | | adverbRatio | 0.0554675118858954 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.009508716323296355 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 71 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 71 | | mean | 12.03 | | std | 11.24 | | cv | 0.935 | | sampleLengths | | 0 | 9 | | 1 | 34 | | 2 | 1 | | 3 | 1 | | 4 | 1 | | 5 | 15 | | 6 | 11 | | 7 | 24 | | 8 | 32 | | 9 | 5 | | 10 | 9 | | 11 | 7 | | 12 | 12 | | 13 | 3 | | 14 | 2 | | 15 | 3 | | 16 | 8 | | 17 | 22 | | 18 | 7 | | 19 | 3 | | 20 | 18 | | 21 | 50 | | 22 | 9 | | 23 | 17 | | 24 | 8 | | 25 | 3 | | 26 | 22 | | 27 | 6 | | 28 | 2 | | 29 | 4 | | 30 | 25 | | 31 | 6 | | 32 | 4 | | 33 | 12 | | 34 | 1 | | 35 | 14 | | 36 | 19 | | 37 | 34 | | 38 | 6 | | 39 | 2 | | 40 | 2 | | 41 | 46 | | 42 | 11 | | 43 | 16 | | 44 | 1 | | 45 | 4 | | 46 | 7 | | 47 | 20 | | 48 | 46 | | 49 | 4 |
| |
| 65.26% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.4507042253521127 | | totalSentences | 71 | | uniqueOpeners | 32 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 41 | | matches | | 0 | "Then the chain, and the" | | 1 | "Of course he noticed." |
| | ratio | 0.049 | |
| 15.12% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 41 | | matches | | 0 | "He wore shirtsleeves, the cuffs" | | 1 | "His eyes moved over her" | | 2 | "He pulled the glasses off" | | 3 | "She had rehearsed this on" | | 4 | "He stepped back, just far" | | 5 | "She went in." | | 6 | "Her pulse stuttered at the" | | 7 | "She moved to the window" | | 8 | "She had lived in London" | | 9 | "he said quietly" | | 10 | "She turned around, and that" | | 11 | "His voice dropped" | | 12 | "She had meant it." | | 13 | "She had also meant none" | | 14 | "Her voice wavered and she" | | 15 | "He was silent." | | 16 | "he said finally" | | 17 | "He straightened from the bookcase," | | 18 | "Her mouth opened." | | 19 | "His amber eye darkened." |
| | ratio | 0.512 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 38 | | totalSentences | 41 | | matches | | 0 | "The third deadbolt took longer" | | 1 | "Rory stood on the landing" | | 2 | "Lucien stood in the gap" | | 3 | "He wore shirtsleeves, the cuffs" | | 4 | "Eva's chaos, preserved in amber." | | 5 | "His eyes moved over her" | | 6 | "The amber one, then the" | | 7 | "Neither gave anything away, which" | | 8 | "He pulled the glasses off" | | 9 | "Rory's throat tightened." | | 10 | "She had rehearsed this on" | | 11 | "None of them had included" | | 12 | "He stepped back, just far" | | 13 | "She went in." | | 14 | "The door closed behind her," | | 15 | "Her pulse stuttered at the" | | 16 | "A tabby cat slunk out" | | 17 | "A faint curve touched his" | | 18 | "She moved to the window" | | 19 | "Brick Lane glittered below, wet" |
| | ratio | 0.927 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 41 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 17 | | technicalSentenceCount | 1 | | matches | | 0 | "None of them had included the way the light caught his platinum hair, or the faint scent of cedar and something sharper beneath it, or the fact that he was stan…" |
| |
| 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 | 8 | | fancyCount | 1 | | fancyTags | | 0 | "she whispered (whisper)" |
| | dialogueSentences | 36 | | tagDensity | 0.222 | | leniency | 0.444 | | rawRatio | 0.125 | | effectiveRatio | 0.056 | |