| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 27 | | tagDensity | 0.556 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 72.92% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1108 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "utterly" | | 1 | "slowly" | | 2 | "truly" | | 3 | "gently" | | 4 | "very" |
| |
| 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) | |
| 68.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1108 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "shimmered" | | 1 | "whisper" | | 2 | "silence" | | 3 | "pulse" | | 4 | "warmth" | | 5 | "comforting" |
| |
| 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 | 68 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 68 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 81 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1120 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 87.36% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 878 | | uniqueNames | 14 | | maxNameDensity | 1.25 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 11 | | Richmond | 1 | | Park | 1 | | Sunday | 1 | | London | 2 | | Nyx | 5 | | May | 1 | | June | 1 | | Isolde | 7 | | Heartstone | 1 | | Hel | 1 | | Grove | 2 | | Shade | 1 | | Fae | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Nyx" | | 2 | "Isolde" | | 3 | "Grove" | | 4 | "Shade" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "May" | | 4 | "June" |
| | globalScore | 0.874 | | windowScore | 1 | |
| 38.89% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 45 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like calling the sea a puddle" | | 1 | "looked like a window cut into the earth" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.893 | | wordCount | 1120 | | matches | | 0 | "not wind this time, but something with intention" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 81 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 33 | | mean | 33.94 | | std | 26.98 | | cv | 0.795 | | sampleLengths | | 0 | 25 | | 1 | 76 | | 2 | 21 | | 3 | 31 | | 4 | 70 | | 5 | 17 | | 6 | 4 | | 7 | 93 | | 8 | 14 | | 9 | 83 | | 10 | 9 | | 11 | 51 | | 12 | 57 | | 13 | 9 | | 14 | 62 | | 15 | 22 | | 16 | 3 | | 17 | 34 | | 18 | 45 | | 19 | 5 | | 20 | 81 | | 21 | 9 | | 22 | 5 | | 23 | 67 | | 24 | 11 | | 25 | 12 | | 26 | 57 | | 27 | 42 | | 28 | 13 | | 29 | 16 | | 30 | 21 | | 31 | 49 | | 32 | 6 |
| |
| 94.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 68 | | matches | | 0 | "being watched" | | 1 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 151 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 81 | | ratio | 0.099 | | matches | | 0 | "She had walked Richmond Park before — on grey Sunday mornings when London felt too loud, when the flat above Silas' bar still smelled of last night's spilled whisky and she needed somewhere green." | | 1 | "Behind her, the third of their party made no sound at all, but she felt Nyx there the way she felt a draft beneath a door — a coolness at her back, the prickle of being watched by something that had no body to watch with." | | 2 | "The traffic-hum that underscored everything in the city — she hadn't even known it was there until it stopped — fell utterly silent, and into that silence rushed birdsong she could not name and the low, sweet hush of wind through grass." | | 3 | "Wildflowers grew everywhere, thick and reckless — bluebells beside poppies beside things she had no word for, blossoms shaped like trumpets that drank the light and gave it back deeper, petals that turned, slowly, to follow her as she passed." | | 4 | "Aurora reached up and touched the pendant at her throat — the Heartstone, a habit she'd formed without noticing, thumb finding the crimson gem whenever something pricked at her nerves." | | 5 | "The flowers turning, the trees leaning — she had the distinct, crawling sense that the Grove was aware of her, the way a room goes still when a stranger enters and everyone pretends not to look." | | 6 | "Below the surface, far below — too far, the pool could not be that deep — she saw stars." | | 7 | "A sound moved through the trees — not wind this time, but something with intention." |
| |
| 91.25% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 220 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 11 | | adverbRatio | 0.05 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.004545454545454545 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 81 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 81 | | mean | 13.83 | | std | 11.15 | | cv | 0.807 | | sampleLengths | | 0 | 25 | | 1 | 34 | | 2 | 5 | | 3 | 13 | | 4 | 24 | | 5 | 4 | | 6 | 8 | | 7 | 9 | | 8 | 26 | | 9 | 5 | | 10 | 3 | | 11 | 21 | | 12 | 46 | | 13 | 4 | | 14 | 13 | | 15 | 4 | | 16 | 12 | | 17 | 6 | | 18 | 42 | | 19 | 4 | | 20 | 5 | | 21 | 24 | | 22 | 14 | | 23 | 11 | | 24 | 40 | | 25 | 6 | | 26 | 4 | | 27 | 4 | | 28 | 18 | | 29 | 6 | | 30 | 3 | | 31 | 18 | | 32 | 33 | | 33 | 30 | | 34 | 8 | | 35 | 4 | | 36 | 5 | | 37 | 10 | | 38 | 6 | | 39 | 3 | | 40 | 20 | | 41 | 6 | | 42 | 36 | | 43 | 6 | | 44 | 16 | | 45 | 3 | | 46 | 16 | | 47 | 18 | | 48 | 16 | | 49 | 6 |
| |
| 61.32% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.4567901234567901 | | totalSentences | 81 | | uniqueOpeners | 37 | |
| 53.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 62 | | matches | | | ratio | 0.016 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 62 | | matches | | 0 | "She had walked Richmond Park" | | 1 | "She had never seen these." | | 2 | "They had grown into pillars," | | 3 | "Her fingertips hovered an inch" | | 4 | "It came from no sun." | | 5 | "It hung in the air" | | 6 | "she said, and felt stupid" | | 7 | "They had no business blooming" | | 8 | "It lay cool and quiet" | | 9 | "She followed Isolde down into" | | 10 | "They came to the heart" | | 11 | "They turned, all at once," | | 12 | "They did not reach for" | | 13 | "They simply stood between Aurora" |
| | ratio | 0.226 | |
| 40.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 52 | | totalSentences | 62 | | matches | | 0 | "The standing stones rose out" | | 1 | "She had walked Richmond Park" | | 2 | "She had never seen these." | | 3 | "They had grown into pillars," | | 4 | "Her fingertips hovered an inch" | | 5 | "Heat radiated off it, gentle" | | 6 | "Isolde stepped between two of" | | 7 | "Aurora glanced down." | | 8 | "The seer left no prints" | | 9 | "The voice came from everywhere" | | 10 | "Aurora crossed the boundary." | | 11 | "The change struck her like" | | 12 | "The damp London cold peeled" | | 13 | "The traffic-hum that underscored everything" | | 14 | "The light changed too." | | 15 | "It came from no sun." | | 16 | "It hung in the air" | | 17 | "she said, and felt stupid" | | 18 | "The clearing opened before them" | | 19 | "Wildflowers grew everywhere, thick and" |
| | ratio | 0.839 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 62 | | matches | (empty) | | ratio | 0 | |
| 63.49% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 27 | | technicalSentenceCount | 3 | | matches | | 0 | "They had grown into pillars, bark fused and pale as bone, their crowns woven together overhead into an arch that swallowed the daylight whole." | | 1 | "The traffic-hum that underscored everything in the city — she hadn't even known it was there until it stopped — fell utterly silent, and into that silence rushe…" | | 2 | "Wildflowers grew everywhere, thick and reckless — bluebells beside poppies beside things she had no word for, blossoms shaped like trumpets that drank the light…" |
| |
| 91.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 1 | | matches | | 0 | "Isolde said, conversational" |
| |
| 1.85% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 4 | | fancyTags | | 0 | "Nyx murmured (murmur)" | | 1 | "the Shade breathed (breathe)" | | 2 | "she whispered (whisper)" | | 3 | "Isolde agreed (agree)" |
| | dialogueSentences | 27 | | tagDensity | 0.37 | | leniency | 0.741 | | rawRatio | 0.4 | | effectiveRatio | 0.296 | |