| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 37 | | tagDensity | 0.459 | | leniency | 0.919 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 88.88% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1349 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "suddenly" | | 1 | "utterly" | | 2 | "quickly" |
| |
| 80.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 62.94% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1349 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "measured" | | 1 | "firmly" | | 2 | "whisper" | | 3 | "weight" | | 4 | "stark" | | 5 | "fleeting" | | 6 | "eyebrow" | | 7 | "pulse" | | 8 | "silence" |
| |
| 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 | 96 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 96 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 115 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 3 | | totalWords | 1342 | | ratio | 0.002 | | matches | | 0 | "Demonicon Aegyptium" | | 1 | "Aurora" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 24 | | wordCount | 961 | | uniqueNames | 11 | | maxNameDensity | 0.83 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Yu-Fei | 1 | | Brick | 1 | | Lane | 1 | | Ptolemy | 3 | | Eva | 2 | | Moreau | 1 | | Mr | 1 | | Lucien | 4 | | Aegyptium | 1 | | Aurora | 8 | | London | 1 |
| | persons | | 0 | "Yu-Fei" | | 1 | "Ptolemy" | | 2 | "Eva" | | 3 | "Moreau" | | 4 | "Mr" | | 5 | "Lucien" | | 6 | "Aurora" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 62 | | glossingSentenceCount | 1 | | matches | | 0 | "not-quite smile touched his mouth" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.235 | | wordCount | 1342 | | matches | | 0 | "not for support, but like a claim" | | 1 | "not for a weapon, but a photograph" | | 2 | "not to touch her, but to hover near her cheek, a centimetre from her skin" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 115 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 31.21 | | std | 17.68 | | cv | 0.567 | | sampleLengths | | 0 | 67 | | 1 | 47 | | 2 | 16 | | 3 | 18 | | 4 | 20 | | 5 | 55 | | 6 | 7 | | 7 | 15 | | 8 | 56 | | 9 | 26 | | 10 | 21 | | 11 | 32 | | 12 | 37 | | 13 | 13 | | 14 | 31 | | 15 | 6 | | 16 | 32 | | 17 | 34 | | 18 | 33 | | 19 | 41 | | 20 | 76 | | 21 | 28 | | 22 | 46 | | 23 | 10 | | 24 | 54 | | 25 | 55 | | 26 | 9 | | 27 | 9 | | 28 | 9 | | 29 | 39 | | 30 | 45 | | 31 | 17 | | 32 | 54 | | 33 | 6 | | 34 | 39 | | 35 | 37 | | 36 | 10 | | 37 | 26 | | 38 | 25 | | 39 | 21 | | 40 | 44 | | 41 | 26 | | 42 | 50 |
| |
| 97.95% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 96 | | matches | | 0 | "was owed" | | 1 | "was planted" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 155 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 3 | | flaggedSentences | 7 | | totalSentences | 115 | | ratio | 0.061 | | matches | | 0 | "Books and scrolls formed precarious towers on every available surface—the small dining table, the two mismatched chairs, the floor itself." | | 1 | "Not a client from the restaurant; they called from the street." | | 2 | "The heterochromatic eyes—amber, black—took in her face, then the flat behind her, in one swift, cataloguing sweep." | | 3 | "He moved past her, a whisper of expensive wool and something else—ozone, old paper." | | 4 | "Aurora uncrossed her arms, the professional in her—the part that had mapped ley lines for him, that had deciphered cursed logistics—leaning forward." | | 5 | "She remembered other things: his hand on the small of her back, guiding her through a crowd of oblivious humans; the rare, genuine laugh when she’d outwitted a goblin broker; the way he’d said her name—*Aurora*—the one time they’d almost…" | | 6 | "She closed the door, leaned against it, and listened to the sound of him settling into her world—the whisper of his coat, the creak of the old sofa, the soft turn of a page." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 978 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 31 | | adverbRatio | 0.03169734151329243 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.010224948875255624 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 115 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 115 | | mean | 11.67 | | std | 9.13 | | cv | 0.782 | | sampleLengths | | 0 | 5 | | 1 | 2 | | 2 | 24 | | 3 | 17 | | 4 | 19 | | 5 | 10 | | 6 | 20 | | 7 | 17 | | 8 | 16 | | 9 | 14 | | 10 | 4 | | 11 | 2 | | 12 | 7 | | 13 | 11 | | 14 | 9 | | 15 | 11 | | 16 | 18 | | 17 | 9 | | 18 | 8 | | 19 | 3 | | 20 | 4 | | 21 | 11 | | 22 | 4 | | 23 | 14 | | 24 | 8 | | 25 | 17 | | 26 | 17 | | 27 | 26 | | 28 | 10 | | 29 | 6 | | 30 | 5 | | 31 | 13 | | 32 | 5 | | 33 | 14 | | 34 | 3 | | 35 | 4 | | 36 | 6 | | 37 | 14 | | 38 | 10 | | 39 | 8 | | 40 | 5 | | 41 | 25 | | 42 | 6 | | 43 | 6 | | 44 | 20 | | 45 | 3 | | 46 | 5 | | 47 | 4 | | 48 | 8 | | 49 | 11 |
| |
| 50.14% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.34782608695652173 | | totalSentences | 115 | | uniqueOpeners | 40 | |
| 72.46% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 92 | | matches | | 0 | "Then she saw Lucien’s profile," | | 1 | "Then she pushed off the" |
| | ratio | 0.022 | |
| 24.35% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 45 | | totalSentences | 92 | | matches | | 0 | "She turned, kicking off her" | | 1 | "She was halfway to the" | | 2 | "She backtracked, silent on her" | | 3 | "Her breath caught." | | 4 | "She undid the locks she’d" | | 5 | "He looked exactly the same," | | 6 | "His voice was that low," | | 7 | "Her own voice came out" | | 8 | "She didn’t move from the" | | 9 | "It didn’t reach his eyes." | | 10 | "He moved past her, a" | | 11 | "She didn’t re-engage the locks." | | 12 | "He ran a gloved hand" | | 13 | "He turned, leaning his cane" | | 14 | "He steadied it without looking." | | 15 | "She quoted his own words" | | 16 | "He was silent for a" | | 17 | "He took a step closer" | | 18 | "He reached into his inner" | | 19 | "He held it out." |
| | ratio | 0.489 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 92 | | matches | | 0 | "The second deadbolt scraped home." | | 1 | "Aurora kept her palm flat" | | 2 | "The delivery bag dug into" | | 3 | "She turned, kicking off her" | | 4 | "Books and scrolls formed precarious" | | 5 | "A tabby cat, Ptolemy, wound" | | 6 | "She was halfway to the" | | 7 | "Eva banged like she was" | | 8 | "Aurora froze, her hand still" | | 9 | "She backtracked, silent on her" | | 10 | "The fisheye lens warped the" | | 11 | "Platinum blond hair, slicked back" | | 12 | "The collar of a dark" | | 13 | "Her breath caught." | | 14 | "A stupid, reflexive thing." | | 15 | "She undid the locks she’d" | | 16 | "The door swung inward." | | 17 | "Lucien Moreau stood there, rain" | | 18 | "He looked exactly the same," | | 19 | "The heterochromatic eyes—amber, black—took in" |
| | ratio | 0.924 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 92 | | matches | (empty) | | ratio | 0 | |
| 99.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 2 | | matches | | 0 | "Aurora uncrossed her arms, the professional in her—the part that had mapped ley lines for him, that had deciphered cursed logistics—leaning forward." | | 1 | "He moved then, a restless step that took him to the window overlooking the neon-smeared street." |
| |
| 7.35% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 4 | | matches | | 0 | "He ran, his gaze sweeping the room again" | | 1 | "she said, her voice softer" | | 2 | "he said, the words barely a breath" | | 3 | "he countered, his amber eye burning" |
| |
| 95.95% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 2 | | fancyTags | | 0 | "She quoted (quote)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 37 | | tagDensity | 0.189 | | leniency | 0.378 | | rawRatio | 0.286 | | effectiveRatio | 0.108 | |