| 68.85% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 25 | | adverbTagCount | 4 | | adverbTags | | 0 | "Rory stepped back [back]" | | 1 | "She sat back [back]" | | 2 | "He turned back [back]" | | 3 | "He reached — slowly [slowly]" |
| | dialogueSentences | 61 | | tagDensity | 0.41 | | leniency | 0.82 | | rawRatio | 0.16 | | effectiveRatio | 0.131 | |
| 90.52% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1582 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "gently" | | 1 | "slowly" | | 2 | "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) | |
| 96.84% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1582 | | totalAiIsms | 1 | | found | | | highlights | | |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "let out a breath" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 85 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 85 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 119 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 91 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 14 | | totalWords | 1591 | | ratio | 0.009 | | matches | | 0 | "word" | | 1 | "name" | | 2 | "Silas" | | 3 | "what happened here" | | 4 | "Gone to fix it. Don't hate me yet." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 30 | | unquotedAttributions | 0 | | matches | (empty) | |
| 91.86% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 34 | | wordCount | 1032 | | uniqueNames | 12 | | maxNameDensity | 1.16 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Mrs | 1 | | Eva | 4 | | Moreau | 2 | | Rory | 12 | | Ptolemy | 2 | | Lucien | 7 | | Brick | 1 | | Lane | 1 | | One | 1 | | Golden | 1 | | Empress | 1 | | Marseille | 1 |
| | persons | | 0 | "Mrs" | | 1 | "Eva" | | 2 | "Moreau" | | 3 | "Rory" | | 4 | "Ptolemy" | | 5 | "Lucien" | | 6 | "One" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Marseille" |
| | globalScore | 0.919 | | windowScore | 1 | |
| 36.36% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 44 | | glossingSentenceCount | 2 | | matches | | 0 | "as if reading terms off a contract" | | 1 | "as though discussing a table at a restaurant" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1591 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 119 | | matches | | 0 | "hated that she" | | 1 | "chose that moment" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 69 | | mean | 23.06 | | std | 26.24 | | cv | 1.138 | | sampleLengths | | 0 | 57 | | 1 | 3 | | 2 | 42 | | 3 | 3 | | 4 | 27 | | 5 | 4 | | 6 | 56 | | 7 | 3 | | 8 | 9 | | 9 | 67 | | 10 | 12 | | 11 | 3 | | 12 | 9 | | 13 | 78 | | 14 | 14 | | 15 | 7 | | 16 | 4 | | 17 | 83 | | 18 | 4 | | 19 | 2 | | 20 | 13 | | 21 | 15 | | 22 | 57 | | 23 | 5 | | 24 | 4 | | 25 | 11 | | 26 | 38 | | 27 | 24 | | 28 | 4 | | 29 | 1 | | 30 | 66 | | 31 | 7 | | 32 | 42 | | 33 | 24 | | 34 | 7 | | 35 | 1 | | 36 | 49 | | 37 | 5 | | 38 | 21 | | 39 | 140 | | 40 | 21 | | 41 | 3 | | 42 | 4 | | 43 | 4 | | 44 | 39 | | 45 | 15 | | 46 | 6 | | 47 | 3 | | 48 | 92 | | 49 | 12 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 85 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 182 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 119 | | ratio | 0.05 | | matches | | 0 | "Everything about him was the same — the charcoal suit, the way he stood as though the stairwell were a lobby he had paid for, the mismatched eyes, amber and black, catching the bad hallway light differently." | | 1 | "It was already cramped — one bedroom over the curry house, every surface furred with paper, Eva's research notes fanned across the table in an order Rory was forbidden to disturb, scrolls leaning in the corner like bad umbrellas." | | 2 | "She got the tin down from above the sink — Eva's tin, the good one, gauze and antiseptic and a curved needle that Rory had learned to use in a night she still didn't like to think about." | | 3 | "\"That is what eleven weeks buys, when a man has no money and only reputation to spend. I went to Avaros. I found the thing that held it. I gave it something it wanted more.\" He said this the way he said everything — light, dry, as though discussing a table at a restaurant." | | 4 | "\"I did write.\" He reached — slowly, telegraphing it — into the jacket over the chair and drew out an envelope, soft-cornered, carried too long." | | 5 | "Rory looked at him for a long moment — at the platinum hair darkened at the temples, at the shirt she'd ruined, at the mouth she'd kissed in an alley and thought about every night since." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1028 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 35 | | adverbRatio | 0.03404669260700389 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.008754863813229572 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 119 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 119 | | mean | 13.37 | | std | 14.55 | | cv | 1.089 | | sampleLengths | | 0 | 5 | | 1 | 37 | | 2 | 15 | | 3 | 3 | | 4 | 42 | | 5 | 3 | | 6 | 10 | | 7 | 17 | | 8 | 4 | | 9 | 10 | | 10 | 5 | | 11 | 37 | | 12 | 4 | | 13 | 3 | | 14 | 9 | | 15 | 3 | | 16 | 38 | | 17 | 26 | | 18 | 10 | | 19 | 2 | | 20 | 3 | | 21 | 9 | | 22 | 10 | | 23 | 39 | | 24 | 29 | | 25 | 4 | | 26 | 3 | | 27 | 7 | | 28 | 3 | | 29 | 4 | | 30 | 4 | | 31 | 38 | | 32 | 33 | | 33 | 12 | | 34 | 4 | | 35 | 2 | | 36 | 13 | | 37 | 5 | | 38 | 10 | | 39 | 4 | | 40 | 18 | | 41 | 8 | | 42 | 4 | | 43 | 23 | | 44 | 5 | | 45 | 4 | | 46 | 11 | | 47 | 38 | | 48 | 10 | | 49 | 14 |
| |
| 71.71% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.44537815126050423 | | totalSentences | 119 | | uniqueOpeners | 53 | |
| 48.31% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 69 | | matches | | 0 | "Then she stood, took the" |
| | ratio | 0.014 | |
| 5.51% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 69 | | matches | | 0 | "It was neither." | | 1 | "His voice was the same" | | 2 | "She looked down." | | 3 | "He had his left arm" | | 4 | "He came in slow, and" | | 5 | "It was already cramped —" | | 6 | "She took her time with" | | 7 | "She got the tin down" | | 8 | "His shirt was white and" | | 9 | "she said, kneeling" | | 10 | "He tipped his head" | | 11 | "She cut the shirt." | | 12 | "He hadn't needed her." | | 13 | "He had needed a reason," | | 14 | "He hissed through his teeth," | | 15 | "She sat back on her" | | 16 | "Her hands were steady." | | 17 | "She was proud of her" | | 18 | "He said it evenly, as" | | 19 | "He turned back to her" |
| | ratio | 0.536 | |
| 46.96% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 57 | | totalSentences | 69 | | matches | | 0 | "The third deadbolt always stuck." | | 1 | "Rory had to lift the" | | 2 | "Hafiz from downstairs complaining about" | | 3 | "It was neither." | | 4 | "Lucien Moreau stood in the" | | 5 | "Rory kept her hand on" | | 6 | "His voice was the same" | | 7 | "That was the unfair part." | | 8 | "Everything about him was the" | | 9 | "She looked down." | | 10 | "He had his left arm" | | 11 | "Rory stepped back and pulled" | | 12 | "He came in slow, and" | | 13 | "It was already cramped —" | | 14 | "Lucien stood in the middle" | | 15 | "Rory shut the door." | | 16 | "Deadbolt, deadbolt, deadbolt." | | 17 | "She took her time with" | | 18 | "She got the tin down" | | 19 | "His shirt was white and" |
| | ratio | 0.826 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 69 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 7 | | matches | | 0 | "Hafiz from downstairs complaining about the smell of Eva's incense competing with the curry house." | | 1 | "Lucien Moreau stood in the stairwell with rain in his platinum hair, one gloved hand resting on the ivory head of his cane, looking at her the way a man looks a…" | | 2 | "Everything about him was the same — the charcoal suit, the way he stood as though the stairwell were a lobby he had paid for, the mismatched eyes, amber and bla…" | | 3 | "There was a dark seam along the sleeve of his jacket, and under his shoe, a small wet bloom on the concrete that was not rain." | | 4 | "When she turned back he had shed the jacket and draped it over the chair back with a care that suggested the jacket had cost more than her month's rent, which i…" | | 5 | "Under it, along the ribs, a clean shallow slice that had bled a great deal and threatened nothing." | | 6 | "Eleven weeks and four days ago, in the rain, in the alley behind the Golden Empress with the smell of ginger and wet brick around them, he had lifted her hand a…" |
| |
| 65.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 25 | | uselessAdditionCount | 3 | | matches | | 0 | "He said, as if reading terms off a contract" | | 1 | "He set, deliberate" | | 2 | "she said, without turning round, and her voice only shook a little" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 19 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 61 | | tagDensity | 0.311 | | leniency | 0.623 | | rawRatio | 0.053 | | effectiveRatio | 0.033 | |