| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 1 | | adverbTags | | 0 | "Lucien said softly [softly]" |
| | dialogueSentences | 32 | | tagDensity | 0.438 | | leniency | 0.875 | | rawRatio | 0.071 | | effectiveRatio | 0.063 | |
| 84.53% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1616 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "softly" | | 1 | "suddenly" | | 2 | "slightly" | | 3 | "very" |
| |
| 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) | |
| 59.78% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1616 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "chill" | | 1 | "throbbed" | | 2 | "reminder" | | 3 | "pulse" | | 4 | "sanctuary" | | 5 | "weight" | | 6 | "flicker" | | 7 | "efficient" | | 8 | "raced" | | 9 | "affection" | | 10 | "familiar" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "knuckles turned white" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 65 | | matches | (empty) | |
| 54.95% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 65 | | filterMatches | | | hedgeMatches | | 0 | "seemed to" | | 1 | "managed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 83 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 1610 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1237 | | uniqueNames | 11 | | maxNameDensity | 0.97 | | worstName | "Lucien" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Lucien" | | discoveredNames | | Golden | 1 | | Empress | 1 | | Brick | 2 | | Lane | 2 | | Southwark | 1 | | Bridge | 1 | | French | 1 | | Ptolemy | 3 | | Lucien | 12 | | Rory | 10 | | London | 2 |
| | persons | | 0 | "Ptolemy" | | 1 | "Lucien" | | 2 | "Rory" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Southwark" | | 3 | "Bridge" | | 4 | "London" |
| | globalScore | 1 | | windowScore | 0.833 | |
| 22.88% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 59 | | glossingSentenceCount | 3 | | matches | | 0 | "sounded like a sanctuary and later like a" | | 1 | "tasted like defeat, her eyes drifting shu" | | 2 | "as if memorizing it for a journey he hadn't yet planned to take" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1610 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 83 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 39.27 | | std | 22.06 | | cv | 0.562 | | sampleLengths | | 0 | 47 | | 1 | 22 | | 2 | 83 | | 3 | 7 | | 4 | 66 | | 5 | 43 | | 6 | 37 | | 7 | 20 | | 8 | 13 | | 9 | 47 | | 10 | 89 | | 11 | 32 | | 12 | 39 | | 13 | 68 | | 14 | 33 | | 15 | 53 | | 16 | 37 | | 17 | 67 | | 18 | 41 | | 19 | 4 | | 20 | 71 | | 21 | 13 | | 22 | 22 | | 23 | 62 | | 24 | 38 | | 25 | 37 | | 26 | 53 | | 27 | 18 | | 28 | 37 | | 29 | 2 | | 30 | 5 | | 31 | 55 | | 32 | 31 | | 33 | 81 | | 34 | 61 | | 35 | 26 | | 36 | 45 | | 37 | 24 | | 38 | 31 | | 39 | 27 | | 40 | 23 |
| |
| 94.47% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 65 | | matches | | 0 | "was slicked" | | 1 | "were bruised" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 191 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 1 | | flaggedSentences | 6 | | totalSentences | 83 | | ratio | 0.072 | | matches | | 0 | "His platinum blond hair was slicked back, catching the dim, flickering light of the hallway bulb, and his mismatched eyes—one a sharp, predatory amber, the other a light-absorbing void of pure black—fixed squarely on her face." | | 1 | "A small, crescent-shaped scar on her left wrist, pale against her skin, throbbed with a phantom ache—a reminder of old falls and worse choices." | | 2 | "He didn't wait for an invitation; he simply shifted his weight, and because physics seemed to politely bend around him, the heavy oak door drifted wide enough for him to step past her into the cramped confines of the flat." | | 3 | "He was close enough now that she could see the faint constellation of pale freckles across the bridge of his nose—a human trait his demonic blood had never quite managed to bleach away." | | 4 | "She wanted to push him away—she *should* push him away, open the three deadbolts, and throw him back out into the dreary London rain where he belonged." | | 5 | "It was a mistake—she knew it was a mistake, knew that by morning the flat would smell of him, and she’d be back to dodging shadow-brokers and looking over her shoulder." |
| |
| 91.99% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1253 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small, crescent-shaped scar" |
| | adverbCount | 53 | | adverbRatio | 0.04229848363926576 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.0111731843575419 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 83 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 83 | | mean | 19.4 | | std | 9.88 | | cv | 0.51 | | sampleLengths | | 0 | 22 | | 1 | 25 | | 2 | 22 | | 3 | 6 | | 4 | 41 | | 5 | 36 | | 6 | 7 | | 7 | 15 | | 8 | 24 | | 9 | 27 | | 10 | 7 | | 11 | 25 | | 12 | 11 | | 13 | 15 | | 14 | 22 | | 15 | 20 | | 16 | 13 | | 17 | 7 | | 18 | 40 | | 19 | 40 | | 20 | 18 | | 21 | 31 | | 22 | 20 | | 23 | 12 | | 24 | 13 | | 25 | 15 | | 26 | 11 | | 27 | 39 | | 28 | 21 | | 29 | 8 | | 30 | 33 | | 31 | 9 | | 32 | 19 | | 33 | 25 | | 34 | 26 | | 35 | 11 | | 36 | 18 | | 37 | 12 | | 38 | 37 | | 39 | 35 | | 40 | 6 | | 41 | 4 | | 42 | 5 | | 43 | 33 | | 44 | 33 | | 45 | 13 | | 46 | 22 | | 47 | 3 | | 48 | 16 | | 49 | 31 |
| |
| 59.44% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.3855421686746988 | | totalSentences | 83 | | uniqueOpeners | 32 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 63 | | matches | | 0 | "Instead, the damp chill of" | | 1 | "Instead, her fingers twitched against" |
| | ratio | 0.032 | |
| 4.13% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 63 | | matches | | 0 | "He looked entirely out of" | | 1 | "His platinum blond hair was" | | 2 | "She felt the sudden, frantic" | | 3 | "His voice was a low," | | 4 | "He rested both hands on" | | 5 | "Her voice was ice, cool-headed" | | 6 | "He didn't wait for an" | | 7 | "She dropped the delivery box" | | 8 | "she asked, crossing her arms" | | 9 | "She stood her ground, five-foot-six" | | 10 | "He leaned slightly on his" | | 11 | "He took a slow step" | | 12 | "he said, and the smooth" | | 13 | "She uncrossed her arms, her" | | 14 | "he countered, his voice dropping" | | 15 | "He was close enough now" | | 16 | "He reached out." | | 17 | "She hissed in a breath," | | 18 | "His heterochromatic eyes were entirely" | | 19 | "he said, the words tasting" |
| | ratio | 0.54 | |
| 23.49% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 55 | | totalSentences | 63 | | matches | | 0 | "The third deadbolt always stuck," | | 1 | "Rory pulled the door open," | | 2 | "Lucien stood on the narrow" | | 3 | "He looked entirely out of" | | 4 | "His platinum blond hair was" | | 5 | "Rory’s hand tightened on the" | | 6 | "A small, crescent-shaped scar on" | | 7 | "She felt the sudden, frantic" | | 8 | "His voice was a low," | | 9 | "He rested both hands on" | | 10 | "Her voice was ice, cool-headed" | | 11 | "Lucien said softly" | | 12 | "He didn't wait for an" | | 13 | "The air inside was thick" | | 14 | "Lucien looked down, a flicker" | | 15 | "Eva’s flat was a disaster" | | 16 | "Rory kicked the door shut" | | 17 | "She dropped the delivery box" | | 18 | "she asked, crossing her arms" | | 19 | "She stood her ground, five-foot-six" |
| | ratio | 0.873 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 10 | | matches | | 0 | "Rory pulled the door open, a yellow Golden Empress delivery box hitched against her hip, ready to snap at the courier who’d buzzed her flat." | | 1 | "He looked entirely out of place against the peeling floral wallpaper and the greasy tang of the curry house downstairs, fitted into his charcoal suit as though …" | | 2 | "His voice was a low, smooth baritone, carrying that faint, rounded French cadence that had once sounded like a sanctuary and later like a trap." | | 3 | "Eva’s flat was a disaster area of research notes, scrolls, and half-empty mugs, but Lucien’s eyes tracked back to Rory with a gravity that made the room feel su…" | | 4 | "There was a raw, hungry vulnerability there that terrified her more than any blade he concealed in his cane." | | 5 | "He closed the remaining space between them, his hand sliding from her wrist up to cup the side of her neck, his thumb pressing just beneath her jawline." | | 6 | "She let out a long, ragged exhale that tasted like defeat, her eyes drifting shut just a heartbeat before his mouth found hers." | | 7 | "It was sharp with months of unsaid arguments, bitter with absence, and heavy with the reckless, undeniable gravity that had drawn them together in the first pla…" | | 8 | "Rory’s hands found their way to the lapels of his charcoal jacket, clutching the wool as if she were anchoring herself to the only solid thing in a collapsing r…" | | 9 | "His mismatched eyes searched her face, mapping every line of her expression as if memorizing it for a journey he hadn't yet planned to take." |
| |
| 53.57% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 2 | | matches | | 0 | "Rory snapped, her composure slipping past the armor she wore like chainmail" | | 1 | "Rory whispered, her voice losing its defensive bite" |
| |
| 56.25% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 3 | | fancyTags | | 0 | "Rory snapped (snap)" | | 1 | "Rory whispered (whisper)" | | 2 | "Lucien murmured (murmur)" |
| | dialogueSentences | 32 | | tagDensity | 0.344 | | leniency | 0.688 | | rawRatio | 0.273 | | effectiveRatio | 0.188 | |