| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 87.09% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1162 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "completely" | | 1 | "quickly" | | 2 | "perfectly" |
| |
| 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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1162 | | totalAiIsms | 24 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | |
| | highlights | | 0 | "tension" | | 1 | "grave" | | 2 | "weight" | | 3 | "predator" | | 4 | "pulse" | | 5 | "vibrated" | | 6 | "electric" | | 7 | "pulsed" | | 8 | "rhythmic" | | 9 | "fractured" | | 10 | "stark" | | 11 | "unreadable" | | 12 | "flicker" | | 13 | "dancing" | | 14 | "silence" | | 15 | "tracing" | | 16 | "palpable" | | 17 | "reminder" |
| |
| 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 | 71 | | matches | (empty) | |
| 2.01% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 5 | | hedgeCount | 2 | | narrationSentences | 71 | | filterMatches | | | hedgeMatches | | |
| 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 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1160 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 22 | | wordCount | 1160 | | uniqueNames | 10 | | maxNameDensity | 0.6 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Lucien | 7 | | Rory | 2 | | Avaros | 1 | | Brick | 1 | | Lane | 1 | | Marseille | 1 | | Aurora | 3 | | London | 1 | | Cardiff | 1 | | You | 4 |
| | persons | | 0 | "Lucien" | | 1 | "Rory" | | 2 | "Aurora" | | 3 | "You" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Marseille" | | 3 | "London" | | 4 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 30.95% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like climbing a mountain against t" | | 1 | "felt like a tide pulling the foundation" | | 2 | "looked like armor" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1160 | | matches | (empty) | |
| 72.77% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 71 | | matches | | 0 | "like that, like" | | 1 | "out that door" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 40 | | std | 20.37 | | cv | 0.509 | | sampleLengths | | 0 | 57 | | 1 | 83 | | 2 | 14 | | 3 | 64 | | 4 | 18 | | 5 | 80 | | 6 | 20 | | 7 | 55 | | 8 | 19 | | 9 | 59 | | 10 | 25 | | 11 | 46 | | 12 | 38 | | 13 | 56 | | 14 | 32 | | 15 | 53 | | 16 | 21 | | 17 | 60 | | 18 | 43 | | 19 | 47 | | 20 | 18 | | 21 | 38 | | 22 | 19 | | 23 | 62 | | 24 | 12 | | 25 | 33 | | 26 | 30 | | 27 | 51 | | 28 | 7 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 71 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 184 | | matches | (empty) | |
| 62.37% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 71 | | ratio | 0.028 | | matches | | 0 | "His fingers brushed hers—a brief, electric contact that made her skin prickle with the memory of nights spent in shadows she had tried to unlearn." | | 1 | "She recognized the look—the same recklessness that had driven her to leave everything in Cardiff, the same jagged hunger that kept her from closing the door completely." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1164 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 35 | | adverbRatio | 0.03006872852233677 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.005154639175257732 | |
| 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 | 16.34 | | std | 7.23 | | cv | 0.443 | | sampleLengths | | 0 | 24 | | 1 | 15 | | 2 | 18 | | 3 | 25 | | 4 | 20 | | 5 | 24 | | 6 | 14 | | 7 | 14 | | 8 | 15 | | 9 | 8 | | 10 | 18 | | 11 | 23 | | 12 | 18 | | 13 | 16 | | 14 | 21 | | 15 | 18 | | 16 | 25 | | 17 | 5 | | 18 | 15 | | 19 | 11 | | 20 | 8 | | 21 | 18 | | 22 | 18 | | 23 | 19 | | 24 | 11 | | 25 | 25 | | 26 | 23 | | 27 | 25 | | 28 | 9 | | 29 | 21 | | 30 | 16 | | 31 | 16 | | 32 | 22 | | 33 | 3 | | 34 | 32 | | 35 | 21 | | 36 | 8 | | 37 | 5 | | 38 | 19 | | 39 | 15 | | 40 | 14 | | 41 | 24 | | 42 | 5 | | 43 | 16 | | 44 | 6 | | 45 | 16 | | 46 | 10 | | 47 | 28 | | 48 | 22 | | 49 | 21 |
| |
| 48.36% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.36619718309859156 | | totalSentences | 71 | | uniqueOpeners | 26 | |
| 47.62% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 70 | | matches | | 0 | "Instead, he reached out, his" |
| | ratio | 0.014 | |
| 25.71% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 70 | | matches | | 0 | "His heterochromatic gaze, one amber" | | 1 | "He stepped into the threshold" | | 2 | "You have a flair for" | | 3 | "He closed the door behind" | | 4 | "He reached into his coat," | | 5 | "His fingers brushed hers—a brief," | | 6 | "She turned her back on" | | 7 | "You think I’m still running" | | 8 | "He parked his cane against" | | 9 | "He looked at the nape" | | 10 | "I think you are the" | | 11 | "She spun around, the parchment" | | 12 | "She stepped into his space," | | 13 | "We left this where it" | | 14 | "You don’t get to come" | | 15 | "He didn't flinch." | | 16 | "It was a holding pattern." | | 17 | "She pulled away, the movement" | | 18 | "She needed the mess, the" | | 19 | "He didn't move toward the" |
| | ratio | 0.486 | |
| 38.57% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 59 | | totalSentences | 70 | | matches | | 0 | "The security chain rattled against" | | 1 | "Eva’s flat smelled of burnt" | | 2 | "Aurora stood in the sliver" | | 3 | "The bright blue of her" | | 4 | "Lucien leaned against the peeling" | | 5 | "His heterochromatic gaze, one amber" | | 6 | "Lucien eased his weight off" | | 7 | "He stepped into the threshold" | | 8 | "The ivory cane tapped rhythms" | | 9 | "Ptolemy the tabby cat darted" | | 10 | "You have a flair for" | | 11 | "He closed the door behind" | | 12 | "The scent of ozone and" | | 13 | "He reached into his coat," | | 14 | "His fingers brushed hers—a brief," | | 15 | "The courier didn't arrive, Rory." | | 16 | "The delivery you were supposed" | | 17 | "Aurora snatched the parchment, her" | | 18 | "The ink pulsed with a" | | 19 | "She turned her back on" |
| | ratio | 0.843 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 70 | | matches | (empty) | | ratio | 0 | |
| 15.31% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 56 | | technicalSentenceCount | 10 | | matches | | 0 | "The ivory cane tapped rhythms against the floorboards, a staccato pulse that vibrated in the small, cramped space." | | 1 | "Ptolemy the tabby cat darted between his legs, arching its back before vanishing into the labyrinth of research notes piled in the corner." | | 2 | "His fingers brushed hers—a brief, electric contact that made her skin prickle with the memory of nights spent in shadows she had tried to unlearn." | | 3 | "She turned her back on him, walking toward the window that overlooked the erratic sprawl of Brick Lane." | | 4 | "The heat radiating off him was palpable, a reminder of the demon blood humming in his veins, a fever that had scorched her own skin more than once." | | 5 | "She looked up at him, searching for the mask he usually wore, the one that kept the broker and the fixer separate from the man who had looked at her with someth…" | | 6 | "He tilted his head, his gaze dropping to her mouth, lingering there with a predatory hunger that made her knees feel like water." | | 7 | "She recognized the look—the same recklessness that had driven her to leave everything in Cardiff, the same jagged hunger that kept her from closing the door com…" | | 8 | "Lucien reached out, tucking a loose strand of black hair behind her ear, his fingers lingering on her jawline." | | 9 | "Outside, the rain began to lash against the glass, a rhythmic beating that drowned out the world, leaving only the two of them in the cramped, airless quiet of …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |