| 51.85% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said quietly [quietly]" | | 1 | "she said softly [softly]" |
| | dialogueSentences | 27 | | tagDensity | 0.481 | | leniency | 0.963 | | rawRatio | 0.154 | | effectiveRatio | 0.148 | |
| 59.46% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 740 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "perfectly" | | 1 | "lightly" | | 2 | "suddenly" | | 3 | "gently" | | 4 | "softly" |
| |
| 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) | |
| 5.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 740 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "chill" | | 1 | "reminder" | | 2 | "unreadable" | | 3 | "familiar" | | 4 | "eyebrow" | | 5 | "silence" | | 6 | "echoing" | | 7 | "fractured" | | 8 | "unspoken" | | 9 | "tension" | | 10 | "weight" | | 11 | "flicked" | | 12 | "flickered" |
| |
| 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 | 47 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 47 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 61 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 734 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 78.95% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 23 | | wordCount | 563 | | uniqueNames | 9 | | maxNameDensity | 1.42 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | London | 2 | | Lucien | 6 | | Moreau | 1 | | Rory | 8 | | Brick | 1 | | Lane | 1 | | Eva | 2 | | Golden | 1 | | Empress | 1 |
| | persons | | 0 | "Lucien" | | 1 | "Moreau" | | 2 | "Rory" | | 3 | "Eva" |
| | places | | 0 | "London" | | 1 | "Brick" | | 2 | "Lane" | | 3 | "Golden" |
| | globalScore | 0.79 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 37 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 734 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 61 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 35 | | mean | 20.97 | | std | 12.94 | | cv | 0.617 | | sampleLengths | | 0 | 64 | | 1 | 59 | | 2 | 17 | | 3 | 40 | | 4 | 14 | | 5 | 22 | | 6 | 29 | | 7 | 14 | | 8 | 20 | | 9 | 20 | | 10 | 12 | | 11 | 16 | | 12 | 10 | | 13 | 24 | | 14 | 38 | | 15 | 16 | | 16 | 17 | | 17 | 25 | | 18 | 8 | | 19 | 21 | | 20 | 11 | | 21 | 12 | | 22 | 22 | | 23 | 4 | | 24 | 13 | | 25 | 32 | | 26 | 11 | | 27 | 30 | | 28 | 25 | | 29 | 13 | | 30 | 15 | | 31 | 12 | | 32 | 14 | | 33 | 8 | | 34 | 26 |
| |
| 97.80% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 47 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 104 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 2 | | flaggedSentences | 6 | | totalSentences | 61 | | ratio | 0.098 | | matches | | 0 | "Standing there, framed by the grey sky beyond the cracked brick of the street, was Lucien Moreau — the last person Rory had expected to see on her doorstep, and the one she’d tried hardest to forget." | | 1 | "His ivory-handled cane rested lightly against his arm; the blade hidden, but the threat unmistakable." | | 2 | "The past surged unbidden—arguments spiralling, harsh words echoing through nights spent alone." | | 3 | "Her breath hitched; the old pull twisted in her chest, the ache of unspoken things." | | 4 | "She stared at the man she’d loved and lost—wounded and proud—and felt the tension tear between them like the cold wind outside." | | 5 | "The memories flashed like lightning—her nights pacing the cramped flat, the weight of Eva’s texts urging her to run, the late deliveries at the Golden Empress where she’d barely held herself together." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 568 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 18 | | adverbRatio | 0.03169014084507042 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.01584507042253521 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 61 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 61 | | mean | 12.03 | | std | 6.89 | | cv | 0.573 | | sampleLengths | | 0 | 9 | | 1 | 18 | | 2 | 37 | | 3 | 26 | | 4 | 18 | | 5 | 15 | | 6 | 17 | | 7 | 24 | | 8 | 16 | | 9 | 14 | | 10 | 10 | | 11 | 12 | | 12 | 16 | | 13 | 13 | | 14 | 4 | | 15 | 10 | | 16 | 12 | | 17 | 8 | | 18 | 5 | | 19 | 15 | | 20 | 12 | | 21 | 12 | | 22 | 4 | | 23 | 10 | | 24 | 16 | | 25 | 8 | | 26 | 4 | | 27 | 12 | | 28 | 6 | | 29 | 16 | | 30 | 16 | | 31 | 12 | | 32 | 5 | | 33 | 15 | | 34 | 10 | | 35 | 8 | | 36 | 7 | | 37 | 14 | | 38 | 4 | | 39 | 7 | | 40 | 4 | | 41 | 8 | | 42 | 22 | | 43 | 4 | | 44 | 13 | | 45 | 32 | | 46 | 11 | | 47 | 16 | | 48 | 14 | | 49 | 13 |
| |
| 71.58% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.45901639344262296 | | totalSentences | 61 | | uniqueOpeners | 28 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 45 | | matches | (empty) | | ratio | 0 | |
| 51.11% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 45 | | matches | | 0 | "He wore the charcoal suit" | | 1 | "His ivory-handled cane rested lightly" | | 2 | "he said, a crooked smile" | | 3 | "she said, pushing the door" | | 4 | "He raised an eyebrow, settling" | | 5 | "she said, voice steady but" | | 6 | "she said, voice low" | | 7 | "He leaned forward, cane tapping" | | 8 | "She bit her lip." | | 9 | "she said, voice breaking at" | | 10 | "He reached out before she" | | 11 | "Her breath hitched; the old" | | 12 | "She yanked her hand back" | | 13 | "he said quietly" | | 14 | "She stared at the man" | | 15 | "he said, voice low" | | 16 | "Her breath came steady at" | | 17 | "she said softly" | | 18 | "He nodded, a slow smile" |
| | ratio | 0.422 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 42 | | totalSentences | 45 | | matches | | 0 | "Aurora swung the door open" | | 1 | "The day’s chill still clung" | | 2 | "The amber eye caught the" | | 3 | "He wore the charcoal suit" | | 4 | "His ivory-handled cane rested lightly" | | 5 | "he said, a crooked smile" | | 6 | "Rory’s gaze dropped for a" | | 7 | "The one reminder of a" | | 8 | "she said, pushing the door" | | 9 | "The flat on Brick Lane" | | 10 | "Ptolemy, Eva’s tabby cat, darted" | | 11 | "Lucien stepped inside without hesitation," | | 12 | "Rory crossed her arms." | | 13 | "He raised an eyebrow, settling" | | 14 | "Silence fell for a moment." | | 15 | "she said, voice steady but" | | 16 | "Lucien smiled, but it didn’t" | | 17 | "she said, voice low" | | 18 | "He leaned forward, cane tapping" | | 19 | "She bit her lip." |
| | ratio | 0.933 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 45 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 24 | | technicalSentenceCount | 1 | | matches | | 0 | "The memories flashed like lightning—her nights pacing the cramped flat, the weight of Eva’s texts urging her to run, the late deliveries at the Golden Empress w…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 5 | | matches | | 0 | "she said, voice steady but tight" | | 1 | "she said, voice low" | | 2 | "He leaned, cane tapping gently against the floor, eyes locked on hers" | | 3 | "she said, voice breaking at the edge despite her efforts" | | 4 | "he said, voice low" |
| |
| 75.93% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 2 | | fancyTags | | 0 | "she breathed (breathe)" | | 1 | "Rory whispered (whisper)" |
| | dialogueSentences | 27 | | tagDensity | 0.407 | | leniency | 0.815 | | rawRatio | 0.182 | | effectiveRatio | 0.148 | |