| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 84.46% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1287 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slightly" | | 1 | "truly" | | 2 | "really" | | 3 | "carefully" |
| |
| 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) | |
| 33.95% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1287 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "rhythmic" | | 1 | "footsteps" | | 2 | "measured" | | 3 | "weight" | | 4 | "throbbed" | | 5 | "reminder" | | 6 | "pulse" | | 7 | "flicker" | | 8 | "looming" | | 9 | "navigate" | | 10 | "could feel" | | 11 | "familiar" | | 12 | "intensity" | | 13 | "tracing" | | 14 | "disrupted" | | 15 | "constructed" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "flicker of emotion" | | count | 1 |
|
| | highlights | | 0 | "a flicker of amusement" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 85 | | matches | (empty) | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 6 | | hedgeCount | 4 | | narrationSentences | 85 | | filterMatches | | | 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 | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1282 | | ratio | 0 | | matches | (empty) | |
| 0.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 4 | | matches | | 0 | "Things are shifting, he murmured, his voice dropping to a low, melodic register." | | 1 | "You were never leverage, he whispered." | | 2 | "I think that hiding is a fruitless endeavor, Lucien replied." | | 3 | "Then I will be the one who has to break into this flat tomorrow, he said quietly, and there was no humor in it." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 42 | | wordCount | 1282 | | uniqueNames | 15 | | maxNameDensity | 0.62 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Eva | 3 | | Moreau | 2 | | Brick | 1 | | Lane | 1 | | Cardiff | 1 | | Lucien | 8 | | Aurora | 2 | | London | 4 | | Avaros | 2 | | Cheung | 1 | | Rory | 8 | | East | 1 | | End | 1 | | Tube | 1 | | You | 6 |
| | persons | | 0 | "Eva" | | 1 | "Moreau" | | 2 | "Lucien" | | 3 | "Cheung" | | 4 | "Rory" | | 5 | "You" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Cardiff" | | 3 | "London" | | 4 | "East" | | 5 | "End" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like exactly what he was: a man of" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.78 | | wordCount | 1282 | | matches | | 0 | "Not for the girl who ran away from a solicitor, but for the girl who saw exactly what she shouldn't have at the" |
| |
| 88.24% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 85 | | matches | | 0 | "think that hiding" | | 1 | "think that you" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 32 | | mean | 40.06 | | std | 23.89 | | cv | 0.596 | | sampleLengths | | 0 | 81 | | 1 | 83 | | 2 | 46 | | 3 | 17 | | 4 | 58 | | 5 | 17 | | 6 | 6 | | 7 | 71 | | 8 | 55 | | 9 | 13 | | 10 | 60 | | 11 | 24 | | 12 | 53 | | 13 | 22 | | 14 | 57 | | 15 | 78 | | 16 | 26 | | 17 | 4 | | 18 | 36 | | 19 | 8 | | 20 | 54 | | 21 | 31 | | 22 | 64 | | 23 | 27 | | 24 | 45 | | 25 | 29 | | 26 | 10 | | 27 | 45 | | 28 | 6 | | 29 | 44 | | 30 | 33 | | 31 | 79 |
| |
| 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 | 2 | | totalVerbs | 224 | | matches | | 0 | "were slinging" | | 1 | "was being" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 1 | | flaggedSentences | 5 | | totalSentences | 85 | | ratio | 0.059 | | matches | | 0 | "He wore a charcoal suit that looked as if it had been tailored by a sculptor rather than a seamstress, and his heterochromatic gaze—one eye the color of warm honey, the other an abyss of void-black—locked onto hers with devastating precision." | | 1 | "He didn't ask for permission to enter; he simply leaned slightly against the doorframe, a master of claiming space that didn’t belong to him." | | 2 | "The air between them grew heavy, saturated with the history of the last six months—the stolen glances in backroom meetings, the tactical partnership that had frayed under the pressure of too many secrets and the looming threat of the Avaros connection he refused to explain." | | 3 | "The hurt of their last parting—the way he had dismissed her concerns to protect her, acting as if she were a child to be coddled—was still a raw wound." | | 4 | "Outside, the sounds of London hummed—the sirens, the distant thrum of the Tube, the life she had tried to reclaim." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1297 | | adjectiveStacks | 2 | | stackExamples | | 0 | "small crescent-shaped scar" | | 1 | "faint, citrus-sharp bite" |
| | adverbCount | 43 | | adverbRatio | 0.03315343099460293 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.01233616037008481 | |
| 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 | 15.08 | | std | 9.11 | | cv | 0.604 | | sampleLengths | | 0 | 24 | | 1 | 6 | | 2 | 27 | | 3 | 24 | | 4 | 25 | | 5 | 41 | | 6 | 17 | | 7 | 14 | | 8 | 32 | | 9 | 17 | | 10 | 12 | | 11 | 24 | | 12 | 10 | | 13 | 12 | | 14 | 14 | | 15 | 3 | | 16 | 6 | | 17 | 45 | | 18 | 26 | | 19 | 13 | | 20 | 20 | | 21 | 8 | | 22 | 14 | | 23 | 13 | | 24 | 19 | | 25 | 23 | | 26 | 18 | | 27 | 4 | | 28 | 20 | | 29 | 9 | | 30 | 6 | | 31 | 18 | | 32 | 20 | | 33 | 5 | | 34 | 6 | | 35 | 11 | | 36 | 16 | | 37 | 18 | | 38 | 23 | | 39 | 13 | | 40 | 4 | | 41 | 30 | | 42 | 5 | | 43 | 26 | | 44 | 14 | | 45 | 6 | | 46 | 6 | | 47 | 4 | | 48 | 24 | | 49 | 6 |
| |
| 49.02% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.36470588235294116 | | totalSentences | 85 | | uniqueOpeners | 31 | |
| 80.32% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 83 | | matches | | 0 | "Still living amongst the ghosts" | | 1 | "Then I will be the" |
| | ratio | 0.024 | |
| 12.77% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 43 | | totalSentences | 83 | | matches | | 0 | "She knew the cadence of" | | 1 | "He wore a charcoal suit" | | 2 | "His ivory-handled cane rested against" | | 3 | "You’re a long way from" | | 4 | "His lips quirked, a flicker" | | 5 | "He didn't ask for permission" | | 6 | "I am not here for" | | 7 | "She’d fled to London to" | | 8 | "He didn’t move, but the" | | 9 | "He reached out, his gloved" | | 10 | "I heard you were slinging" | | 11 | "He followed, stepping over the" | | 12 | "You haven’t changed, Rory." | | 13 | "He straightened, his height dominating" | | 14 | "She could see the fine" | | 15 | "He looked at the books," | | 16 | "she asked, her blue eyes" | | 17 | "You don’t make house calls" | | 18 | "He took a single step" | | 19 | "They are looking for you." |
| | ratio | 0.518 | |
| 56.39% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 83 | | matches | | 0 | "The three deadbolts on Eva’s" | | 1 | "Rory didn’t bother checking the" | | 2 | "She knew the cadence of" | | 3 | "Lucien Moreau stood on the" | | 4 | "He wore a charcoal suit" | | 5 | "His ivory-handled cane rested against" | | 6 | "Rory tightened her grip on" | | 7 | "The small crescent-shaped scar on" | | 8 | "You’re a long way from" | | 9 | "His lips quirked, a flicker" | | 10 | "He didn't ask for permission" | | 11 | "Rory looked past him to" | | 12 | "Eva isn't here." | | 13 | "I am not here for" | | 14 | "The air between them grew" | | 15 | "She’d fled to London to" | | 16 | "He didn’t move, but the" | | 17 | "He reached out, his gloved" | | 18 | "I heard you were slinging" | | 19 | "Such a waste of a" |
| | ratio | 0.807 | |
| 60.24% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 83 | | matches | | 0 | "Because I will not let" |
| | ratio | 0.012 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 56 | | technicalSentenceCount | 12 | | matches | | 0 | "The three deadbolts on Eva’s front door clicked one after the other, a rhythmic, metallic stutter that sounded agonizingly loud in the narrow hallway." | | 1 | "She knew the cadence of those footsteps on the stairs, the deliberate, measured weight of a man who moved as if the world owed him an audience." | | 2 | "He wore a charcoal suit that looked as if it had been tailored by a sculptor rather than a seamstress, and his heterochromatic gaze—one eye the color of warm ho…" | | 3 | "His lips quirked, a flicker of amusement that didn't reach his eyes." | | 4 | "He didn't ask for permission to enter; he simply leaned slightly against the doorframe, a master of claiming space that didn’t belong to him." | | 5 | "The air between them grew heavy, saturated with the history of the last six months—the stolen glances in backroom meetings, the tactical partnership that had fr…" | | 6 | "Still living amongst the ghosts of other people’s thoughts, hiding away in a room that smells of dust and desperation." | | 7 | "Things are shifting, he murmured, his voice dropping to a low, melodic register." | | 8 | "They don't care about what you told them, he said, his expression softening, a lapse in his usual cool that made her breath hitch." | | 9 | "His gloved hand moved, tracing the line of her jaw, his thumb brushing against the base of her throat where her pulse hammered like a trapped bird." | | 10 | "The hurt of their last parting—the way he had dismissed her concerns to protect her, acting as if she were a child to be coddled—was still a raw wound." | | 11 | "She stood frozen in the middle of the room, looking at the man who had disrupted every carefully constructed wall she’d built around her heart." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |