| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said gently [gently]" |
| | dialogueSentences | 18 | | tagDensity | 0.722 | | leniency | 1 | | rawRatio | 0.077 | | effectiveRatio | 0.077 | |
| 74.72% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 989 | | totalAiIsmAdverbs | 5 | | found | | 0 | | | 1 | | adverb | "barely above a whisper" | | count | 1 |
| | 2 | | | 3 | |
| | highlights | | 0 | "slightly" | | 1 | "barely above a whisper" | | 2 | "completely" | | 3 | "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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 989 | | totalAiIsms | 28 | | found | | 0 | | | 1 | | word | "down her spine" | | count | 1 |
| | 2 | | | 3 | | word | "practiced ease" | | count | 1 |
| | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | | 20 | | | 21 | | | 22 | |
| | highlights | | 0 | "tension" | | 1 | "down her spine" | | 2 | "unspoken" | | 3 | "practiced ease" | | 4 | "echoed" | | 5 | "stark" | | 6 | "reminder" | | 7 | "calculating" | | 8 | "testament" | | 9 | "charged" | | 10 | "silk" | | 11 | "whisper" | | 12 | "resolve" | | 13 | "wavered" | | 14 | "weight" | | 15 | "could feel" | | 16 | "fleeting" | | 17 | "raced" | | 18 | "potential" | | 19 | "newfound" | | 20 | "enigmatic" | | 21 | "sense of" | | 22 | "dance" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "sent a shiver through" | | count | 1 |
|
| | highlights | | 0 | "eyes widened" | | 1 | "sent a jolt through" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 46 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 46 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 51 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 983 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 30 | | wordCount | 854 | | uniqueNames | 11 | | maxNameDensity | 0.94 | | worstName | "Lucien" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Eva | 3 | | Aurora | 2 | | Carter | 2 | | Lucien | 8 | | Moreau | 2 | | French-accented | 1 | | English | 1 | | Rory | 7 | | Ptolemy | 2 | | Brick | 1 | | Lane | 1 |
| | persons | | 0 | "Eva" | | 1 | "Aurora" | | 2 | "Carter" | | 3 | "Lucien" | | 4 | "Moreau" | | 5 | "English" | | 6 | "Rory" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 91.86% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 43 | | glossingSentenceCount | 1 | | matches | | 0 | "As if sensing her inner conflict, Lucien softened his approach" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 983 | | matches | (empty) | |
| 35.95% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 51 | | matches | | 0 | "knew that she" | | 1 | "realized that some" |
| |
| 32.69% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 22 | | mean | 44.68 | | std | 11.81 | | cv | 0.264 | | sampleLengths | | 0 | 56 | | 1 | 38 | | 2 | 56 | | 3 | 64 | | 4 | 38 | | 5 | 45 | | 6 | 49 | | 7 | 38 | | 8 | 31 | | 9 | 47 | | 10 | 79 | | 11 | 20 | | 12 | 48 | | 13 | 40 | | 14 | 34 | | 15 | 36 | | 16 | 39 | | 17 | 50 | | 18 | 42 | | 19 | 45 | | 20 | 47 | | 21 | 41 |
| |
| 90.01% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 46 | | matches | | 0 | "been drawn" | | 1 | "were drawn" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 133 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 1 | | flaggedSentences | 6 | | totalSentences | 51 | | ratio | 0.118 | | matches | | 0 | "\"I was in the area,\" he replied, his French-accented English sending an involuntary shiver down her spine—a fact she hoped her composed exterior concealed." | | 1 | "Rory turned to face him, crossing her arms over her chest—a defensive posture he knew all too well." | | 2 | "She'd be lying to herself if she said she hadn't missed him too—missed the way he looked at her as though she were the only person in the world, missed the thrill of their exhilarating conversations that could stretch into the early hours of the morning." | | 3 | "She knew he was right; their connection was undeniable, a force of nature that refused to be ignored." | | 4 | "As they pulled apart, breathless and slightly dazed, Rory knew that she was taking a leap of faith—one that could either lead to ecstasy or heartbreak." | | 5 | "As night fell over Eva's flat on Brick Lane, Aurora Carter and Lucien Moreau found themselves lost in each other, their reunion a poignant reminder that love—in all its complexity and beauty—is worth fighting for, even if it's just for now." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 865 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 23 | | adverbRatio | 0.026589595375722544 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.011560693641618497 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 51 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 51 | | mean | 19.27 | | std | 9.97 | | cv | 0.517 | | sampleLengths | | 0 | 34 | | 1 | 22 | | 2 | 17 | | 3 | 21 | | 4 | 22 | | 5 | 10 | | 6 | 24 | | 7 | 10 | | 8 | 18 | | 9 | 36 | | 10 | 17 | | 11 | 21 | | 12 | 22 | | 13 | 23 | | 14 | 18 | | 15 | 31 | | 16 | 21 | | 17 | 13 | | 18 | 4 | | 19 | 12 | | 20 | 19 | | 21 | 34 | | 22 | 9 | | 23 | 4 | | 24 | 13 | | 25 | 46 | | 26 | 20 | | 27 | 20 | | 28 | 18 | | 29 | 7 | | 30 | 23 | | 31 | 9 | | 32 | 18 | | 33 | 13 | | 34 | 10 | | 35 | 9 | | 36 | 15 | | 37 | 13 | | 38 | 13 | | 39 | 7 | | 40 | 3 | | 41 | 28 | | 42 | 11 | | 43 | 30 | | 44 | 20 | | 45 | 26 | | 46 | 16 | | 47 | 45 | | 48 | 19 | | 49 | 28 |
| |
| 84.97% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 0 | | diversityRatio | 0.5098039215686274 | | totalSentences | 51 | | uniqueOpeners | 26 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 46 | | matches | (empty) | | ratio | 0 | |
| 20.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 23 | | totalSentences | 46 | | matches | | 0 | "Her bright blue eyes widened" | | 1 | "she said, the sound of" | | 2 | "Her voice was steady, but" | | 3 | "His heterochromatic eyes, one amber," | | 4 | "he replied, his French-accented English" | | 5 | "She was as captivating as" | | 6 | "she asked, her eyes flitting" | | 7 | "he confessed, his voice smooth" | | 8 | "Her breath hitched slightly, the" | | 9 | "she said, her voice barely" | | 10 | "he conceded, Lucien reached out," | | 11 | "She'd be lying to herself" | | 12 | "she began, her voice laced" | | 13 | "He took another step closer," | | 14 | "he challenged, his gaze intense" | | 15 | "She knew he was right;" | | 16 | "he said gently" | | 17 | "She closed her eyes, taking" | | 18 | "she said, her voice firm" | | 19 | "He reached for her, and" |
| | ratio | 0.5 | |
| 57.83% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 37 | | totalSentences | 46 | | matches | | 0 | "The door to Eva's flat" | | 1 | "Her bright blue eyes widened" | | 2 | "she said, the sound of" | | 3 | "Her voice was steady, but" | | 4 | "Lucien leaned casually against the" | | 5 | "His heterochromatic eyes, one amber," | | 6 | "he replied, his French-accented English" | | 7 | "Rory stepped aside, the gesture" | | 8 | "The flat was just as" | | 9 | "Rory informed him, closing the" | | 10 | "The sound of metal sliding" | | 11 | "Lucien said, his voice dropping" | | 12 | "She was as captivating as" | | 13 | "Rory turned to face him," | | 14 | "she asked, her eyes flitting" | | 15 | "Lucien took a step closer," | | 16 | "he confessed, his voice smooth" | | 17 | "Her breath hitched slightly, the" | | 18 | "she said, her voice barely" | | 19 | "he conceded, Lucien reached out," |
| | ratio | 0.804 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 46 | | matches | | 0 | "As if sensing her inner" |
| | ratio | 0.022 | |
| 4.61% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 31 | | technicalSentenceCount | 6 | | matches | | 0 | "Lucien took a step closer, the air between them charged with a history that was as passionate as it was tumultuous." | | 1 | "She'd be lying to herself if she said she hadn't missed him too—missed the way he looked at her as though she were the only person in the world, missed the thri…" | | 2 | "She knew he was right; their connection was undeniable, a force of nature that refused to be ignored." | | 3 | "As if sensing her inner conflict, Lucien softened his approach." | | 4 | "Their lips met in a kiss that was both a reunion and a new beginning, a fiery merging of two souls that had been drawn together across time and space." | | 5 | "With a newfound sense of resolve, she took his hand and led him deeper into the flat, past the stacks of books and scrolls, past Ptolemy who regarded them with …" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 4 | | matches | | 0 | "he confessed, his voice smooth as silk" | | 1 | "she said, her voice barely above a whisper" | | 2 | "he challenged, his gaze intense" | | 3 | "she said, her voice firm" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 4 | | fancyTags | | 0 | "Rory informed (inform)" | | 1 | "he confessed (confess)" | | 2 | "he conceded (concede)" | | 3 | "he challenged (challenge)" |
| | dialogueSentences | 18 | | tagDensity | 0.611 | | leniency | 1 | | rawRatio | 0.364 | | effectiveRatio | 0.364 | |