| 38.71% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 26 | | adverbTagCount | 5 | | adverbTags | | 0 | "She'd simply [simply]" | | 1 | "he said quietly [quietly]" | | 2 | "Rory stepped back [back]" | | 3 | "Lucien said finally [finally]" | | 4 | "She pulled back [back]" |
| | dialogueSentences | 62 | | tagDensity | 0.419 | | leniency | 0.839 | | rawRatio | 0.192 | | effectiveRatio | 0.161 | |
| 93.09% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1447 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 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) | |
| 75.81% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1447 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "flickered" | | 1 | "silence" | | 2 | "tension" | | 3 | "traced" | | 4 | "facade" | | 5 | "tenderness" |
| |
| 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 | 76 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 76 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 97.24% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 111 | | gibberishSentences | 1 | | adjustedGibberishSentences | 1 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0.009 | | matches | | 0 | "\"You never sleep when you're deep in research. It's why you take those ridiculous delivery shifts, to force yourself into a routine.\" He set his cane against the wall,顺手." |
| |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1434 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 20 | | wordCount | 1001 | | uniqueNames | 10 | | maxNameDensity | 0.5 | | worstName | "Ptolemy" | | maxWindowNameDensity | 1 | | worstWindowName | "Ptolemy" | | discoveredNames | | Ptolemy | 5 | | Rory | 3 | | Moreau | 2 | | Eva | 2 | | Lucien | 3 | | Cardiff | 1 | | Later | 1 | | Evan | 1 | | Brick | 1 | | Lane | 1 |
| | persons | | 0 | "Ptolemy" | | 1 | "Rory" | | 2 | "Moreau" | | 3 | "Eva" | | 4 | "Lucien" | | 5 | "Evan" |
| | places | | 0 | "Cardiff" | | 1 | "Brick" | | 2 | "Lane" |
| | globalScore | 1 | | windowScore | 1 | |
| 8.49% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 53 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like a battlefield, and she didn't" | | 1 | "not quite human running through his veins" | | 2 | "as if wondering why they'd stopped talking" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1434 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 111 | | matches | | 0 | "remembered that look" | | 1 | "leaving, that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 54 | | mean | 26.56 | | std | 21.15 | | cv | 0.797 | | sampleLengths | | 0 | 63 | | 1 | 10 | | 2 | 76 | | 3 | 1 | | 4 | 61 | | 5 | 13 | | 6 | 62 | | 7 | 8 | | 8 | 4 | | 9 | 8 | | 10 | 52 | | 11 | 46 | | 12 | 5 | | 13 | 2 | | 14 | 93 | | 15 | 49 | | 16 | 24 | | 17 | 20 | | 18 | 6 | | 19 | 28 | | 20 | 42 | | 21 | 32 | | 22 | 1 | | 23 | 34 | | 24 | 4 | | 25 | 22 | | 26 | 33 | | 27 | 40 | | 28 | 33 | | 29 | 59 | | 30 | 18 | | 31 | 13 | | 32 | 31 | | 33 | 31 | | 34 | 5 | | 35 | 11 | | 36 | 35 | | 37 | 26 | | 38 | 3 | | 39 | 30 | | 40 | 8 | | 41 | 16 | | 42 | 60 | | 43 | 14 | | 44 | 4 | | 45 | 1 | | 46 | 31 | | 47 | 11 | | 48 | 18 | | 49 | 23 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 76 | | matches | | |
| 93.05% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 187 | | matches | | 0 | "was leaving" | | 1 | "was leaving" | | 2 | "was reassuring" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 111 | | ratio | 0.09 | | matches | | 0 | "Eva's paranoia, or perhaps her brilliance—Rory had never decided which." | | 1 | "His heterochromatic eyes found hers—the amber one warm, the black one fathomless—and something flickered there." | | 2 | "His gaze moved past her, cataloging the apartment behind in a single sweeping glance—the towers of books crowding the tiny sitting area, the scrolls stacked beside the radiator, the yellow legal pad on the kitchen counter still open to whatever rabbit hole Eva had dragged her into this week." | | 3 | "\"I'm not interested in whatever job you've got.\" She moved to close the door, but his cane caught in the gap—a practiced move, she realized, the blade inside likely keeping the wood from splintering." | | 4 | "His eyes returned to her face, and she watched something shift behind them—the careful mask slipping, just for a moment." | | 5 | "It had been there the night he'd told her he was leaving, that the information he'd gathered about her ex—the ex she'd fled Cardiff to escape—had turned sour." | | 6 | "\"Pretending?\" He closed the distance between them in two strides, and suddenly he was too close, close enough that she could smell his cologne—something dark and expensive, a scent that had haunted her for months." | | 7 | "\"Like you were something worth protecting.\" His voice cracked on the last word, and she saw it—the crack in the facade, the exhaustion beneath the polished exterior." | | 8 | "\"My life is my life.\" She pressed her palm flat against his heart, feeling it beat—too fast, too warm, something not quite human running through his veins." | | 9 | "He kissed her like a man drowning—the edge of desperation, the taste of something long denied." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 493 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 18 | | adverbRatio | 0.036511156186612576 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.006085192697768763 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 111 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 111 | | mean | 12.92 | | std | 10.42 | | cv | 0.806 | | sampleLengths | | 0 | 16 | | 1 | 2 | | 2 | 10 | | 3 | 35 | | 4 | 10 | | 5 | 31 | | 6 | 22 | | 7 | 15 | | 8 | 2 | | 9 | 6 | | 10 | 1 | | 11 | 17 | | 12 | 3 | | 13 | 41 | | 14 | 9 | | 15 | 4 | | 16 | 49 | | 17 | 13 | | 18 | 6 | | 19 | 2 | | 20 | 4 | | 21 | 4 | | 22 | 4 | | 23 | 4 | | 24 | 24 | | 25 | 11 | | 26 | 13 | | 27 | 34 | | 28 | 12 | | 29 | 5 | | 30 | 2 | | 31 | 4 | | 32 | 20 | | 33 | 4 | | 34 | 28 | | 35 | 37 | | 36 | 5 | | 37 | 25 | | 38 | 6 | | 39 | 13 | | 40 | 24 | | 41 | 8 | | 42 | 8 | | 43 | 4 | | 44 | 3 | | 45 | 3 | | 46 | 5 | | 47 | 16 | | 48 | 7 | | 49 | 9 |
| |
| 51.35% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.3783783783783784 | | totalSentences | 111 | | uniqueOpeners | 42 | |
| 96.62% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 69 | | matches | | 0 | "Of course he did." | | 1 | "Then his hand came up," |
| | ratio | 0.029 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 38 | | totalSentences | 69 | | matches | | 0 | "She thumbed the final lock" | | 1 | "His heterochromatic eyes found hers—the" | | 2 | "She hadn't succeeded." | | 3 | "She'd simply gotten better at" | | 4 | "She heard her own voice," | | 5 | "His gaze moved past her," | | 6 | "He was Lucien Moreau, information" | | 7 | "She knew better than to" | | 8 | "She moved to close the" | | 9 | "He didn't answer immediately." | | 10 | "His eyes returned to her" | | 11 | "She remembered that look." | | 12 | "It had been there the" | | 13 | "She'd made it harder anyway." | | 14 | "She'd screamed at him, called" | | 15 | "He'd walked away without looking" | | 16 | "She'd spent three weeks drunk" | | 17 | "he said quietly" | | 18 | "He stopped, jaw tightening" | | 19 | "She stopped, glancing at the" |
| | ratio | 0.551 | |
| 46.96% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 57 | | totalSentences | 69 | | matches | | 0 | "The brass handle turned with" | | 1 | "Eva's paranoia, or perhaps her" | | 2 | "She thumbed the final lock" | | 3 | "The words died somewhere between" | | 4 | "Lucien Moreau stood in the" | | 5 | "The fluorescent light above him" | | 6 | "His heterochromatic eyes found hers—the" | | 7 | "The name fell from his" | | 8 | "She hadn't succeeded." | | 9 | "She'd simply gotten better at" | | 10 | "She heard her own voice," | | 11 | "His gaze moved past her," | | 12 | "Ptolemy wound between her ankles," | | 13 | "He was Lucien Moreau, information" | | 14 | "She knew better than to" | | 15 | "She moved to close the" | | 16 | "He didn't answer immediately." | | 17 | "His eyes returned to her" | | 18 | "She remembered that look." | | 19 | "It had been there the" |
| | ratio | 0.826 | |
| 72.46% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 69 | | matches | | 0 | "Now she stood here, two" |
| | ratio | 0.014 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 6 | | matches | | 0 | "She thumbed the final lock open and pulled the door toward her, already rehearsing the sharp remark she'd prepared for the delivery driver who insisted on ringi…" | | 1 | "He was Lucien Moreau, information broker, fixer, the man who could find a needle in a haystack and sell the haystack for a profit." | | 2 | "That someone had leaked her location, that staying near her meant putting her in danger, that he was leaving and she couldn't come with him and please, Rory, pl…" | | 3 | "Ptolemy, returning from the kitchen with his whiskers still wet, wound between their ankles and looked up as if wondering why they'd stopped talking." | | 4 | "Then his hand came up, touched her cheek with a tenderness that made her chest ache." | | 5 | "Right now, there was only the cramped flat on Brick Lane, the cat demanding his dinner, and two people who had finally stopped running from each other." |
| |
| 67.31% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 26 | | uselessAdditionCount | 3 | | matches | | 0 | "She moved, but his cane caught in the gap—a practiced move, she realized, the blade inside likely keeping the wood from splintering" | | 1 | "He stopped, jaw tightening" | | 2 | "She crossed, defensive" |
| |
| 85.48% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 4 | | fancyTags | | 0 | "she agreed (agree)" | | 1 | "He laughed (laugh)" | | 2 | "She hadn't (have)" | | 3 | "She pressed (press)" |
| | dialogueSentences | 62 | | tagDensity | 0.145 | | leniency | 0.29 | | rawRatio | 0.444 | | effectiveRatio | 0.129 | |