| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said softly [softly]" | | 1 | "headed intelligence she wore like [like]" |
| | dialogueSentences | 44 | | tagDensity | 0.341 | | leniency | 0.682 | | rawRatio | 0.133 | | effectiveRatio | 0.091 | |
| 83.91% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1243 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "suddenly" | | 1 | "softly" | | 2 | "gently" |
| |
| 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) | |
| 71.84% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1243 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "weight" | | 1 | "silk" | | 2 | "silence" | | 3 | "pulse" | | 4 | "traced" | | 5 | "tension" |
| |
| 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 | 1 | | narrationSentences | 58 | | matches | | |
| 93.60% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 58 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 87 | | 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 | 0 | | markdownWords | 0 | | totalWords | 1225 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 1 | | matches | | 0 | "Not for him, she told herself." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 31 | | wordCount | 868 | | uniqueNames | 14 | | maxNameDensity | 0.69 | | worstName | "Eva" | | maxWindowNameDensity | 1 | | worstWindowName | "Eva" | | discoveredNames | | Eva | 6 | | Brick | 2 | | Lane | 2 | | Moreau | 1 | | London | 2 | | Avaros | 2 | | Marseille | 1 | | Ptolemy | 3 | | French | 3 | | English | 1 | | Rory | 3 | | Carter | 1 | | Evan | 1 | | Lucien | 3 |
| | persons | | 0 | "Eva" | | 1 | "Moreau" | | 2 | "Ptolemy" | | 3 | "French" | | 4 | "Rory" | | 5 | "Carter" | | 6 | "Evan" | | 7 | "Lucien" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "London" | | 3 | "Avaros" | | 4 | "Marseille" |
| | globalScore | 1 | | windowScore | 1 | |
| 96.81% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | glossingSentenceCount | 1 | | matches | | 0 | "seemed wrong for a human" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.816 | | wordCount | 1225 | | matches | | 0 | "not touching her, but closing the distance until she could see the faint pulse in" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 87 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 27.84 | | std | 25.48 | | cv | 0.915 | | sampleLengths | | 0 | 101 | | 1 | 5 | | 2 | 66 | | 3 | 15 | | 4 | 9 | | 5 | 41 | | 6 | 7 | | 7 | 61 | | 8 | 71 | | 9 | 40 | | 10 | 40 | | 11 | 35 | | 12 | 4 | | 13 | 5 | | 14 | 70 | | 15 | 21 | | 16 | 2 | | 17 | 5 | | 18 | 56 | | 19 | 9 | | 20 | 51 | | 21 | 35 | | 22 | 13 | | 23 | 1 | | 24 | 2 | | 25 | 27 | | 26 | 5 | | 27 | 45 | | 28 | 4 | | 29 | 6 | | 30 | 32 | | 31 | 26 | | 32 | 19 | | 33 | 3 | | 34 | 1 | | 35 | 49 | | 36 | 22 | | 37 | 2 | | 38 | 2 | | 39 | 46 | | 40 | 86 | | 41 | 27 | | 42 | 13 | | 43 | 45 |
| |
| 99.21% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 58 | | matches | | |
| 66.67% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 150 | | matches | | 0 | "was already stepping" | | 1 | "was staring" | | 2 | "was trying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 17 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 87 | | ratio | 0.138 | | matches | | 0 | "The deadbolts clicked in her hand—one, two, three—each heavier than the last." | | 1 | "His eyes—one amber, one black—held hers without apology." | | 2 | "\"Not entirely.\" He stepped closer, not waiting for permission, and she caught the scent of him—something dark, like smoldering incense and winter stone, the smell of Avaros, even if she didn't have the word for it then." | | 3 | "He entered with the ease of someone who'd been here before, though he hadn't—not since the night in Marseille, or was it London?" | | 4 | "He stood in the center of the room, a tower in charcoal, and looked at her with that heterochromatic gaze until she felt the scar on her left wrist burn—the small crescent from a childhood accident, now a map of every time he'd touched her since." | | 5 | "She turned away, her fingers brushing the papers on Eva's table—translations of old texts, notes on realms and bargains." | | 6 | "Because Evan had taught her what leaving meant—bruises, apologies, silence." | | 7 | "Her bright blue eyes met his—amber, then black." | | 8 | "\"Not replaceable.\" He lifted one hand—gloved, precise—and stopped an inch from her jaw, not touching." | | 9 | "She caught his wrist—not the gloved one, the bare skin just above, warm despite everything, with a pulse that seemed wrong for a human." | | 10 | "She moved then—quick, out-of-the-box thinking flaring like a struck match—stepping into his space, her hand sliding up to his collar, pulling him down despite the height difference." | | 11 | "His hands—those precise, gloved hands—found her waist, her back, pulling her closer until the books and scrolls and chaos of Eva's flat seemed to press in around them, witnesses to what they'd refused to speak." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 887 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 34 | | adverbRatio | 0.038331454340473504 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.009019165727170236 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 87 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 87 | | mean | 14.08 | | std | 11.65 | | cv | 0.827 | | sampleLengths | | 0 | 12 | | 1 | 28 | | 2 | 12 | | 3 | 35 | | 4 | 14 | | 5 | 5 | | 6 | 15 | | 7 | 13 | | 8 | 13 | | 9 | 17 | | 10 | 8 | | 11 | 3 | | 12 | 12 | | 13 | 7 | | 14 | 2 | | 15 | 37 | | 16 | 4 | | 17 | 7 | | 18 | 11 | | 19 | 23 | | 20 | 11 | | 21 | 8 | | 22 | 6 | | 23 | 2 | | 24 | 22 | | 25 | 3 | | 26 | 46 | | 27 | 28 | | 28 | 12 | | 29 | 29 | | 30 | 11 | | 31 | 24 | | 32 | 11 | | 33 | 4 | | 34 | 5 | | 35 | 19 | | 36 | 23 | | 37 | 10 | | 38 | 18 | | 39 | 9 | | 40 | 8 | | 41 | 4 | | 42 | 2 | | 43 | 5 | | 44 | 33 | | 45 | 23 | | 46 | 9 | | 47 | 8 | | 48 | 43 | | 49 | 12 |
| |
| 38.70% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.3218390804597701 | | totalSentences | 87 | | uniqueOpeners | 28 | |
| 62.89% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 53 | | matches | | | ratio | 0.019 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 53 | | matches | | 0 | "She knew the particular weight" | | 1 | "She lived here now, in" | | 2 | "She pulled the door open." | | 3 | "His charcoal suit was immaculate," | | 4 | "His platinum hair, slicked back" | | 5 | "His eyes—one amber, one black—held" | | 6 | "She didn't move to let" | | 7 | "He stepped closer, not waiting" | | 8 | "He entered with the ease" | | 9 | "She shut the door and" | | 10 | "He moved into the flat," | | 11 | "He didn't sit." | | 12 | "He stood in the center" | | 13 | "he said softly, in that" | | 14 | "Her voice was too level," | | 15 | "He set the cane against" | | 16 | "She turned away, her fingers" | | 17 | "She was Rory Carter, pre-law" | | 18 | "she said, facing him finally" | | 19 | "Her bright blue eyes met" |
| | ratio | 0.679 | |
| 26.04% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 46 | | totalSentences | 53 | | matches | | 0 | "Rory heard the knock before" | | 1 | "She knew the particular weight" | | 2 | "The deadbolts clicked in her" | | 3 | "She lived here now, in" | | 4 | "Ptolemy watched her from the" | | 5 | "She pulled the door open." | | 6 | "Lucien Moreau stood in the" | | 7 | "His charcoal suit was immaculate," | | 8 | "His platinum hair, slicked back" | | 9 | "The ivory handle of his" | | 10 | "His eyes—one amber, one black—held" | | 11 | "She didn't move to let" | | 12 | "He stepped closer, not waiting" | | 13 | "He entered with the ease" | | 14 | "The lines of their separation" | | 15 | "She shut the door and" | | 16 | "He moved into the flat," | | 17 | "He didn't sit." | | 18 | "He stood in the center" | | 19 | "he said softly, in that" |
| | ratio | 0.868 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 53 | | matches | | 0 | "Because Evan had taught her" | | 1 | "Because Lucien had taught her" |
| | ratio | 0.038 | |
| 15.31% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 28 | | technicalSentenceCount | 5 | | matches | | 0 | "She knew the particular weight of it, the three sharp raps separated by a breath, like a man who'd learned patience in a place where impatience meant death." | | 1 | "But she was already stepping back, her body betraying her mouth." | | 2 | "She caught his wrist—not the gloved one, the bare skin just above, warm despite everything, with a pulse that seemed wrong for a human." | | 3 | "Ptolemy yawned, stretching on the windowsill among Eva's papers, unbothered by the tension that had tightened every muscle in Rory's shoulders." | | 4 | "She moved then—quick, out-of-the-box thinking flaring like a struck match—stepping into his space, her hand sliding up to his collar, pulling him down despite t…" |
| |
| 91.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 1 | | matches | | 0 | "he asked, his voice rough, the French almost gone" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 44 | | tagDensity | 0.182 | | leniency | 0.364 | | rawRatio | 0.125 | | effectiveRatio | 0.045 | |