| 63.64% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 3 | | adverbTags | | 0 | "he lied smoothly [smoothly]" | | 1 | "He glanced away [away]" | | 2 | "It came so [so]" |
| | dialogueSentences | 44 | | tagDensity | 0.432 | | leniency | 0.864 | | rawRatio | 0.158 | | effectiveRatio | 0.136 | |
| 86.39% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1470 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "softly" | | 1 | "suddenly" | | 2 | "sharply" | | 3 | "slightly" |
| |
| 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) | |
| 35.37% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1470 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "tracing" | | 1 | "tension" | | 2 | "silk" | | 3 | "pulse" | | 4 | "sanctuary" | | 5 | "shattered" | | 6 | "weight" | | 7 | "throb" | | 8 | "could feel" | | 9 | "whisper" | | 10 | "flickered" | | 11 | "scanning" | | 12 | "flicker" | | 13 | "unspoken" | | 14 | "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 | 101 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 101 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 126 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1456 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 15 | | wordCount | 1150 | | uniqueNames | 7 | | maxNameDensity | 0.35 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Eva | 3 | | Ptolemy | 3 | | Rory | 2 | | Codex | 1 | | Lucien | 4 | | Brick | 1 | | Lane | 1 |
| | persons | | 0 | "Eva" | | 1 | "Ptolemy" | | 2 | "Rory" | | 3 | "Codex" | | 4 | "Lucien" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 89.76% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 83 | | glossingSentenceCount | 2 | | matches | | 0 | "as though waiting for her to finish deciding whether to open or bolt the door back in place" | | 1 | "as though granting herself permission" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1456 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 126 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 38.32 | | std | 20.93 | | cv | 0.546 | | sampleLengths | | 0 | 71 | | 1 | 62 | | 2 | 70 | | 3 | 13 | | 4 | 23 | | 5 | 11 | | 6 | 30 | | 7 | 27 | | 8 | 43 | | 9 | 43 | | 10 | 25 | | 11 | 51 | | 12 | 22 | | 13 | 51 | | 14 | 4 | | 15 | 42 | | 16 | 13 | | 17 | 31 | | 18 | 60 | | 19 | 48 | | 20 | 18 | | 21 | 46 | | 22 | 49 | | 23 | 13 | | 24 | 53 | | 25 | 67 | | 26 | 10 | | 27 | 65 | | 28 | 43 | | 29 | 6 | | 30 | 20 | | 31 | 18 | | 32 | 50 | | 33 | 46 | | 34 | 40 | | 35 | 60 | | 36 | 24 | | 37 | 88 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 101 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 220 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 1 | | flaggedSentences | 9 | | totalSentences | 126 | | ratio | 0.071 | | matches | | 0 | "A single knock had sounded only moments ago—light, insistent—and now the corridor lay hushed, as though waiting for her to finish deciding whether to open or bolt the door back in place." | | 1 | "His fur bristled; he sensed her tension." | | 2 | "She inhaled, tasting smoke and curry, fear and something sharper—anger, maybe." | | 3 | "The Codex had become her obsession—pages of demon-sprung incantations, forbidden spells clawing at the borders between worlds." | | 4 | "But Lucien—this impeccably dressed, half-demon stranger—had just reshaped everything by walking through her door." | | 5 | "Years of hurt and hope tangled together—tighter than any deadbolt." | | 6 | "Instead he surveyed the chaos—papers pinned to the walls in sketched glyphs, open volumes piled in towers." | | 7 | "Then he offered his hand—gloved, steady—and she took it." | | 8 | "And though the hallway door remained slightly ajar behind them, it felt as if they had already closed another, more fragile barrier—one of silence and regret—and stepped into something altogether new." |
| |
| 99.13% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1171 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 48 | | adverbRatio | 0.04099060631938514 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.010247651579846286 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 126 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 126 | | mean | 11.56 | | std | 7.77 | | cv | 0.672 | | sampleLengths | | 0 | 16 | | 1 | 23 | | 2 | 32 | | 3 | 26 | | 4 | 10 | | 5 | 7 | | 6 | 7 | | 7 | 12 | | 8 | 16 | | 9 | 29 | | 10 | 9 | | 11 | 16 | | 12 | 9 | | 13 | 4 | | 14 | 11 | | 15 | 10 | | 16 | 2 | | 17 | 8 | | 18 | 3 | | 19 | 8 | | 20 | 6 | | 21 | 9 | | 22 | 7 | | 23 | 14 | | 24 | 9 | | 25 | 4 | | 26 | 5 | | 27 | 6 | | 28 | 9 | | 29 | 20 | | 30 | 3 | | 31 | 10 | | 32 | 18 | | 33 | 15 | | 34 | 18 | | 35 | 7 | | 36 | 10 | | 37 | 8 | | 38 | 33 | | 39 | 12 | | 40 | 10 | | 41 | 14 | | 42 | 24 | | 43 | 13 | | 44 | 2 | | 45 | 2 | | 46 | 6 | | 47 | 30 | | 48 | 6 | | 49 | 4 |
| |
| 44.44% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.2619047619047619 | | totalSentences | 126 | | uniqueOpeners | 33 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 97 | | matches | | 0 | "Then he opened his eyes," | | 1 | "Then at Lucien’s face, so" | | 2 | "Instead he surveyed the chaos—papers" | | 3 | "Then she nodded once, sharply," | | 4 | "Then he offered his hand—gloved," |
| | ratio | 0.052 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 62 | | totalSentences | 97 | | matches | | 0 | "She pressed her palm flat" | | 1 | "His fur bristled; he sensed" | | 2 | "She swallowed back the urge" | | 3 | "She slid the bolt free" | | 4 | "he said, voice smooth as" | | 5 | "She inhaled, tasting smoke and" | | 6 | "she rasped, letting the name" | | 7 | "He dipped his head in" | | 8 | "She didn’t wait for an" | | 9 | "He let her draw the" | | 10 | "he said, voice almost contrite" | | 11 | "He straightened, as if summoned" | | 12 | "she warned, stepping aside to" | | 13 | "Her sanctuary, overturned." | | 14 | "He ducked beneath the chain" | | 15 | "she asked, pressing her back" | | 16 | "His heterochromatic gaze roamed over" | | 17 | "he lifted one finely gloved" | | 18 | "She exhaled, the sharp edge" | | 19 | "He dropped his hand like" |
| | ratio | 0.639 | |
| 27.01% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 84 | | totalSentences | 97 | | matches | | 0 | "Aurora’s knuckles ached from twisting" | | 1 | "The hallway beyond Eva’s flat" | | 2 | "A single knock had sounded" | | 3 | "She pressed her palm flat" | | 4 | "Ptolemy, Eva’s old tabby, twined" | | 5 | "His fur bristled; he sensed" | | 6 | "She swallowed back the urge" | | 7 | "She slid the bolt free" | | 8 | "A figure filled the gap:" | | 9 | "The ivory handle of a" | | 10 | "he said, voice smooth as" | | 11 | "She inhaled, tasting smoke and" | | 12 | "she rasped, letting the name" | | 13 | "He dipped his head in" | | 14 | "The question stumbled out" | | 15 | "She didn’t wait for an" | | 16 | "He let her draw the" | | 17 | "he said, voice almost contrite" | | 18 | "Ptolemy hissed, arcing his back." | | 19 | "Rory’s heart pitched in her" |
| | ratio | 0.866 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 97 | | matches | (empty) | | ratio | 0 | |
| 66.87% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 5 | | matches | | 0 | "A single knock had sounded only moments ago—light, insistent—and now the corridor lay hushed, as though waiting for her to finish deciding whether to open or bo…" | | 1 | "She pressed her palm flat against the wood, tracing the line of the crescent-shaped scar on her left wrist as if it might steer her choice." | | 2 | "A figure filled the gap: tall, impeccably dressed in a charcoal suit that hugged lean shoulders, platinum hair slicked back so that every strand caught the dull…" | | 3 | "He looked up at her, and for a heartbeat the world narrowed to the amber of one eye, the black of the other, and the unspoken promise that flickered between the…" | | 4 | "And though the hallway door remained slightly ajar behind them, it felt as if they had already closed another, more fragile barrier—one of silence and regret—an…" |
| |
| 19.74% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 4 | | matches | | 0 | "he said, voice smooth as silk over gravel" | | 1 | "he said, voice almost contrite" | | 2 | "He kept, his shoulders stooped" | | 3 | "he said, voice soft" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 2 | | fancyTags | | 0 | "she warned (warn)" | | 1 | "he lied smoothly (lie)" |
| | dialogueSentences | 44 | | tagDensity | 0.227 | | leniency | 0.455 | | rawRatio | 0.2 | | effectiveRatio | 0.091 | |