| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 32 | | tagDensity | 0.125 | | leniency | 0.25 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1530 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 50.98% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1530 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "pulse" | | 1 | "chaotic" | | 2 | "calculating" | | 3 | "familiar" | | 4 | "lilt" | | 5 | "silence" | | 6 | "scanned" | | 7 | "predictable" | | 8 | "flickered" | | 9 | "whisper" | | 10 | "etched" | | 11 | "electric" | | 12 | "weight" | | 13 | "echo" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 75 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 75 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 103 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1527 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 30.30% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 48 | | wordCount | 919 | | uniqueNames | 11 | | maxNameDensity | 2.39 | | worstName | "Aurora" | | maxWindowNameDensity | 4 | | worstWindowName | "Aurora" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Golden | 1 | | Empress | 1 | | Aurora | 22 | | Rory | 1 | | Cardiff | 1 | | Persian | 1 | | Silas | 1 | | Eva | 17 | | Evan | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Aurora" | | 3 | "Rory" | | 4 | "Silas" | | 5 | "Eva" | | 6 | "Evan" |
| | places | | | globalScore | 0.303 | | windowScore | 0.333 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | 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 | 1527 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 103 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 35 | | mean | 43.63 | | std | 34.29 | | cv | 0.786 | | sampleLengths | | 0 | 134 | | 1 | 6 | | 2 | 9 | | 3 | 102 | | 4 | 1 | | 5 | 13 | | 6 | 15 | | 7 | 69 | | 8 | 9 | | 9 | 17 | | 10 | 12 | | 11 | 62 | | 12 | 39 | | 13 | 31 | | 14 | 65 | | 15 | 37 | | 16 | 84 | | 17 | 20 | | 18 | 101 | | 19 | 79 | | 20 | 50 | | 21 | 112 | | 22 | 79 | | 23 | 3 | | 24 | 25 | | 25 | 57 | | 26 | 43 | | 27 | 27 | | 28 | 56 | | 29 | 25 | | 30 | 18 | | 31 | 68 | | 32 | 19 | | 33 | 30 | | 34 | 10 |
| |
| 95.91% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 75 | | matches | | 0 | "was pulled" | | 1 | "was hacked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 139 | | matches | (empty) | |
| 87.38% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 103 | | ratio | 0.019 | | matches | | 0 | "Her eyes, once hazel and perpetually laughing, scanned the space with a detachment that felt surgical—the maps, the photographs, the bottles lined up like soldiers, the bookshelf in the corner that hid Silas's back room." | | 1 | "She turned, leaning one hip against the mahogany, close enough that Aurora caught the scent of her perfume—something dark and resinous, patchouli and smoke, nothing like the vanilla body spray Eva used to drench herself in before sixth form." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 926 | | adjectiveStacks | 1 | | stackExamples | | 0 | "tight, white against her" |
| | adverbCount | 21 | | adverbRatio | 0.02267818574514039 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.0032397408207343412 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 103 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 103 | | mean | 14.83 | | std | 12.03 | | cv | 0.811 | | sampleLengths | | 0 | 14 | | 1 | 15 | | 2 | 26 | | 3 | 25 | | 4 | 18 | | 5 | 16 | | 6 | 20 | | 7 | 6 | | 8 | 9 | | 9 | 12 | | 10 | 31 | | 11 | 21 | | 12 | 11 | | 13 | 27 | | 14 | 1 | | 15 | 13 | | 16 | 8 | | 17 | 6 | | 18 | 1 | | 19 | 19 | | 20 | 11 | | 21 | 4 | | 22 | 35 | | 23 | 3 | | 24 | 6 | | 25 | 9 | | 26 | 8 | | 27 | 11 | | 28 | 1 | | 29 | 39 | | 30 | 23 | | 31 | 8 | | 32 | 9 | | 33 | 22 | | 34 | 10 | | 35 | 11 | | 36 | 10 | | 37 | 17 | | 38 | 48 | | 39 | 9 | | 40 | 3 | | 41 | 23 | | 42 | 2 | | 43 | 13 | | 44 | 51 | | 45 | 20 | | 46 | 6 | | 47 | 9 | | 48 | 5 | | 49 | 11 |
| |
| 47.09% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.23300970873786409 | | totalSentences | 103 | | uniqueOpeners | 24 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 74 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 74 | | matches | | 0 | "She wore a faded Golden" | | 1 | "Her black hair was pulled" | | 2 | "Her hair was hacked short," | | 3 | "She carried a leather portfolio" | | 4 | "She did not smile." | | 5 | "Her eyes, once hazel and" | | 6 | "She turned, leaning one hip" | | 7 | "She smoothed her coat sleeve" | | 8 | "She looked away, her gaze" | | 9 | "She gestured at the room," | | 10 | "Her breath fogged the air." | | 11 | "She stepped closer, invading the" | | 12 | "Her jaw worked, the muscle" | | 13 | "She tapped the portfolio against" | | 14 | "She walked to the window," | | 15 | "Her eyes were bright, blue," | | 16 | "She slung the strap over" | | 17 | "She shook her head, a" | | 18 | "Her eyes glistened, but she" | | 19 | "She felt the fracture, sharp" |
| | ratio | 0.297 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 72 | | totalSentences | 74 | | matches | | 0 | "The Raven's Nest smelled of" | | 1 | "Maps sagged against the dark" | | 2 | "Aurora wiped the mahogany counter" | | 3 | "She wore a faded Golden" | | 4 | "Her black hair was pulled" | | 5 | "The bell above the door" | | 6 | "Aurora looked up, the rag" | | 7 | "The woman filling the doorway" | | 8 | "Eva had been all sharp" | | 9 | "This woman wore a charcoal" | | 10 | "Her hair was hacked short," | | 11 | "She carried a leather portfolio" | | 12 | "The voice emerged stripped of" | | 13 | "Aurora set the rag down" | | 14 | "The scar on her wrist" | | 15 | "Silence stretched between them, thick" | | 16 | "Eva stepped inside, her coat" | | 17 | "She did not smile." | | 18 | "Her eyes, once hazel and" | | 19 | "Eva's jaw tightened." |
| | ratio | 0.973 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 74 | | matches | (empty) | | ratio | 0 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 6 | | matches | | 0 | "This woman wore a charcoal wool coat that cost more than Aurora's monthly rent, the collar popped high against the damp." | | 1 | "She carried a leather portfolio under one arm and moved with the careful precision of someone calculating exits, her heels clicking a staccato rhythm against th…" | | 2 | "Her eyes, once hazel and perpetually laughing, scanned the space with a detachment that felt surgical—the maps, the photographs, the bottles lined up like soldi…" | | 3 | "She looked away, her gaze sliding across the maps, the frozen faces in the photographs, the green neon glow pulsing through the window." | | 4 | "Eva reached out, her hand hovering near Aurora's cheek, then falling back to her side." | | 5 | "Eva stared at her, taking in the black hair, the delivery apron, the scar, the tired eyes that had seen too much." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |