| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 23 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said gravely [gravely]" |
| | dialogueSentences | 44 | | tagDensity | 0.523 | | leniency | 1 | | rawRatio | 0.043 | | effectiveRatio | 0.043 | |
| 75.32% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1621 | | totalAiIsmAdverbs | 8 | | found | | 0 | | | 1 | | | 2 | | | 3 | | adverb | "deliberately" | | count | 1 |
|
| | highlights | | 0 | "slightly" | | 1 | "very" | | 2 | "slowly" | | 3 | "deliberately" |
| |
| 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.92% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1621 | | totalAiIsms | 1 | | found | | | highlights | | |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 66 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 66 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 75 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1632 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 23 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 1000 | | uniqueNames | 12 | | maxNameDensity | 0.8 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Brick | 1 | | Lane | 1 | | Eva | 1 | | Tuesday | 1 | | November | 1 | | Moreau | 1 | | Rory | 8 | | Ptolemy | 3 | | Serbian | 1 | | Camden | 1 | | Evan | 1 | | Lucien | 5 |
| | persons | | 0 | "Eva" | | 1 | "Moreau" | | 2 | "Rory" | | 3 | "Ptolemy" | | 4 | "Evan" | | 5 | "Lucien" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "November" | | 3 | "Serbian" | | 4 | "Camden" |
| | globalScore | 1 | | windowScore | 1 | |
| 93.18% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 44 | | glossingSentenceCount | 1 | | matches | | 0 | "not quite a growl, something older and more cautious" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1632 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 85 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 48 | | mean | 34 | | std | 31.05 | | cv | 0.913 | | sampleLengths | | 0 | 34 | | 1 | 48 | | 2 | 10 | | 3 | 90 | | 4 | 10 | | 5 | 59 | | 6 | 4 | | 7 | 57 | | 8 | 1 | | 9 | 18 | | 10 | 23 | | 11 | 4 | | 12 | 27 | | 13 | 4 | | 14 | 46 | | 15 | 66 | | 16 | 14 | | 17 | 38 | | 18 | 54 | | 19 | 52 | | 20 | 28 | | 21 | 10 | | 22 | 11 | | 23 | 72 | | 24 | 31 | | 25 | 30 | | 26 | 5 | | 27 | 56 | | 28 | 5 | | 29 | 121 | | 30 | 14 | | 31 | 4 | | 32 | 2 | | 33 | 73 | | 34 | 39 | | 35 | 41 | | 36 | 67 | | 37 | 141 | | 38 | 24 | | 39 | 4 | | 40 | 2 | | 41 | 3 | | 42 | 49 | | 43 | 64 | | 44 | 11 | | 45 | 34 | | 46 | 12 | | 47 | 20 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 66 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 173 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 85 | | ratio | 0.094 | | matches | | 0 | "Ptolemy, sprawled across the stack of scrolls she'd been trying to read, lifted his head and made a low sound in his throat that she'd never heard him make before — not a hiss, not quite a growl, something older and more cautious." | | 1 | "She had spent three months practicing exactly this — a whole architecture of not-opening-doors — and it had held up beautifully until eleven fifteen on a wet Tuesday in November." | | 2 | "Water ran down the side of his face, and he didn't wipe it away, and she hated that she noticed — hated the small animal part of her that catalogued it as a thing to fix, a thing to reach up and touch." | | 3 | "Lucien looked down at him and something in his face changed — softened, just slightly, the way stone softens under running water." | | 4 | "She'd known him five months, and she'd heard him say please to a Serbian arms dealer and a woman who sold memories out of a stall in Camden and a small child with a bag of oranges, but she had never heard him say it like that — like a thing dragged up out of somewhere and offered without any polish on it at all." | | 5 | "\"Three months ago you sat at that table—\" she pointed, \"—and you drank my tea and you told me that I could trust you, that whatever I'd come out of, whatever Evan had done, whatever I was running from, that you were the one solid thing on this street. And then you went out that door and you sold my name to a stranger for— what did you get? What was the price?\"" | | 6 | "Then he set the cane against the arm of the chair — slowly, deliberately, showing her both his hands — and crossed the room until he was close enough that she could smell the rain on him, and something under the rain that was just him, cedar and gunpowder and the faint strange coldness that hung about half-demons like a draught." | | 7 | "She heard the question leave her mouth and wished she could snatch it back out of the air, and Lucien — curse him — did not smile, did not leap on it, only inclined his head as if she'd handed him something breakable." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1007 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 37 | | adverbRatio | 0.036742800397219465 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.00893743793445879 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 19.2 | | std | 18.71 | | cv | 0.974 | | sampleLengths | | 0 | 34 | | 1 | 5 | | 2 | 43 | | 3 | 10 | | 4 | 35 | | 5 | 25 | | 6 | 30 | | 7 | 10 | | 8 | 6 | | 9 | 5 | | 10 | 18 | | 11 | 30 | | 12 | 4 | | 13 | 30 | | 14 | 27 | | 15 | 1 | | 16 | 12 | | 17 | 6 | | 18 | 11 | | 19 | 12 | | 20 | 4 | | 21 | 27 | | 22 | 4 | | 23 | 3 | | 24 | 43 | | 25 | 66 | | 26 | 4 | | 27 | 10 | | 28 | 8 | | 29 | 15 | | 30 | 8 | | 31 | 7 | | 32 | 13 | | 33 | 41 | | 34 | 16 | | 35 | 22 | | 36 | 14 | | 37 | 28 | | 38 | 7 | | 39 | 3 | | 40 | 5 | | 41 | 6 | | 42 | 7 | | 43 | 65 | | 44 | 3 | | 45 | 15 | | 46 | 13 | | 47 | 9 | | 48 | 21 | | 49 | 5 |
| |
| 60.78% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.43529411764705883 | | totalSentences | 85 | | uniqueOpeners | 37 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 54 | | matches | | 0 | "Then he moved to the" | | 1 | "Then he set the cane" |
| | ratio | 0.037 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 54 | | matches | | 0 | "she told the cat, and" | | 1 | "She crossed the cramped room" | | 2 | "She could not open the" | | 3 | "She had spent three months" | | 4 | "She opened the door." | | 5 | "Her voice came out level" | | 6 | "She was absurdly proud of" | | 7 | "He didn't move." | | 8 | "Her hand had gone white" | | 9 | "She wasn't going to give" | | 10 | "She wasn't going to hand" | | 11 | "He said it plainly, no" | | 12 | "He lowered himself, careful of" | | 13 | "he said, in a voice" | | 14 | "It was the please that" | | 15 | "She'd known him five months," | | 16 | "She stepped back." | | 17 | "He came in, and the" | | 18 | "He filled rooms the way" | | 19 | "he said, nodding at the" |
| | ratio | 0.556 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 54 | | matches | | 0 | "The knock came at a" | | 1 | "Rory set down her pen." | | 2 | "Ptolemy, sprawled across the stack" | | 3 | "she told the cat, and" | | 4 | "She crossed the cramped room" | | 5 | "The flat smelled of cumin" | | 6 | "The peephole was old and" | | 7 | "Rory's stomach dropped somewhere around" | | 8 | "She could not open the" | | 9 | "That was the sensible thing." | | 10 | "The sensible thing was to" | | 11 | "She had spent three months" | | 12 | "She opened the door." | | 13 | "Lucien Moreau stood in the" | | 14 | "Her voice came out level" | | 15 | "She was absurdly proud of" | | 16 | "A pause, a slight tilt" | | 17 | "He didn't move." | | 18 | "Water ran down the side" | | 19 | "Lucien said, quietly" |
| | ratio | 0.926 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 54 | | matches | (empty) | | ratio | 0 | |
| 53.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 24 | | technicalSentenceCount | 3 | | matches | | 0 | "One amber eye, one black, both fixed on her with a steadiness that made her want to shut the door again and also made it impossible to." | | 1 | "Water ran down the side of his face, and he didn't wipe it away, and she hated that she noticed — hated the small animal part of her that catalogued it as a thi…" | | 2 | "Then he set the cane against the arm of the chair — slowly, deliberately, showing her both his hands — and crossed the room until he was close enough that she c…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 23 | | uselessAdditionCount | 1 | | matches | | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 15 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 44 | | tagDensity | 0.341 | | leniency | 0.682 | | rawRatio | 0.067 | | effectiveRatio | 0.045 | |