| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 1 | | adverbTags | | 0 | "The pendant's glow caught faintly [faintly]" |
| | dialogueSentences | 5 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0.5 | | effectiveRatio | 0.4 | |
| 79.14% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 959 | | totalAiIsmAdverbs | 4 | | 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) | |
| 53.08% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 959 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "silence" | | 1 | "warmth" | | 2 | "pulsed" | | 3 | "echo" | | 4 | "charm" | | 5 | "weight" |
| |
| 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 | 50 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 64 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 969 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 24 | | wordCount | 962 | | uniqueNames | 10 | | maxNameDensity | 0.73 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 7 | | Grove | 1 | | Isolde | 6 | | Richmond | 2 | | Park | 1 | | London | 1 | | Hel | 1 | | Speaking | 2 | | Stone | 2 | | Aurora | 1 |
| | persons | | | places | | 0 | "Grove" | | 1 | "Richmond" | | 2 | "Park" | | 3 | "London" | | 4 | "Speaking" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 28 | | glossingSentenceCount | 2 | | matches | | 0 | "moss that seemed to glisten without moonlight to catch it, and the ordinary sounds of Richmond Park — a car somewhere past the treeline, a dog barking twice and giving up — cut off like someone had closed a door behind her" | | 1 | "not quite a voice at all in any way she had words for, said her name — not Rory, not Aurora, but the other one, the one only the fae ever used" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 2.064 | | wordCount | 969 | | matches | | 0 | "not Rory, not Aurora, but the other one, the one only the fae ever used" | | 1 | "not Aurora, but the other one, the one only the fae ever used" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 50 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 33.41 | | std | 30.67 | | cv | 0.918 | | sampleLengths | | 0 | 19 | | 1 | 89 | | 2 | 63 | | 3 | 1 | | 4 | 46 | | 5 | 4 | | 6 | 58 | | 7 | 6 | | 8 | 96 | | 9 | 27 | | 10 | 3 | | 11 | 1 | | 12 | 49 | | 13 | 64 | | 14 | 16 | | 15 | 55 | | 16 | 4 | | 17 | 41 | | 18 | 25 | | 19 | 73 | | 20 | 13 | | 21 | 12 | | 22 | 46 | | 23 | 4 | | 24 | 99 | | 25 | 5 | | 26 | 47 | | 27 | 1 | | 28 | 2 |
| |
| 90.33% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 47 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 150 | | matches | | 0 | "wasn't answering" | | 1 | "were trying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 50 | | ratio | 0.14 | | matches | | 0 | "She stepped between two stones slick with a moss that seemed to glisten without moonlight to catch it, and the ordinary sounds of Richmond Park — a car somewhere past the treeline, a dog barking twice and giving up — cut off like someone had closed a door behind her." | | 1 | "It should have — the clearing had that acoustic quality, the way trees hold sound like a bowl holds water — but her voice just stopped a few feet from her mouth, as if the air had thickened enough to catch it." | | 2 | "Not blew — there was no wind, she'd have felt it — moved, the way a shape moves under a bedsheet." | | 3 | "She put her palm flat on the cold stone surface and waited, the way Isolde had taught her, though for what she wasn't entirely sure — an answer, a sign, a fae friend stepping soundlessly out from behind an oak with that particular smile that meant she'd been watching the whole time and enjoying it." | | 4 | "She was almost sure of it — the tops had been level with the church spire she could usually see over the treeline from this angle, and now she couldn't see the spire at all, just black branches stacking up into a sky with no stars in it, no moon, nothing but a flat dark like a lid had been put over the whole clearing." | | 5 | "Not the grass-shifting sound from before — an actual breath, slow and even, close enough that she felt it stir the fine hairs at the base of her neck, warm and slightly sour, like meat left too long in a warm kitchen." | | 6 | "Then, very quietly, very close to her ear, something that was not Isolde's voice, and not quite a voice at all in any way she had words for, said her name — not Rory, not Aurora, but the other one, the one only the fae ever used." |
| |
| 84.87% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 960 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 55 | | adverbRatio | 0.057291666666666664 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.015625 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 50 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 50 | | mean | 19.38 | | std | 19.39 | | cv | 1 | | sampleLengths | | 0 | 19 | | 1 | 34 | | 2 | 5 | | 3 | 50 | | 4 | 7 | | 5 | 2 | | 6 | 17 | | 7 | 37 | | 8 | 1 | | 9 | 4 | | 10 | 42 | | 11 | 4 | | 12 | 4 | | 13 | 20 | | 14 | 34 | | 15 | 4 | | 16 | 2 | | 17 | 39 | | 18 | 57 | | 19 | 6 | | 20 | 21 | | 21 | 3 | | 22 | 1 | | 23 | 2 | | 24 | 3 | | 25 | 44 | | 26 | 28 | | 27 | 36 | | 28 | 4 | | 29 | 1 | | 30 | 11 | | 31 | 55 | | 32 | 4 | | 33 | 41 | | 34 | 25 | | 35 | 8 | | 36 | 65 | | 37 | 4 | | 38 | 7 | | 39 | 2 | | 40 | 12 | | 41 | 4 | | 42 | 42 | | 43 | 4 | | 44 | 39 | | 45 | 60 | | 46 | 5 | | 47 | 47 | | 48 | 1 | | 49 | 2 |
| |
| 86.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 0 | | diversityRatio | 0.52 | | totalSentences | 50 | | uniqueOpeners | 26 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 41 | | matches | | 0 | "Just warm, the way a" | | 1 | "Somewhere to her left, grass" | | 2 | "Instead, the flowers behind her" | | 3 | "Then, very quietly, very close" |
| | ratio | 0.098 | |
| 73.66% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 41 | | matches | | 0 | "She'd been to the Grove" | | 1 | "She stepped between two stones" | | 2 | "She'd come because of that" | | 3 | "Her voice didn't echo." | | 4 | "It should have — the" | | 5 | "She noticed that next." | | 6 | "They always bloomed here regardless" | | 7 | "She crossed the clearing with" | | 8 | "She stopped walking." | | 9 | "She heard it: a small" | | 10 | "She put her palm flat" | | 11 | "she said, and her voice" | | 12 | "She was almost sure of" | | 13 | "She hadn't asked what happened" | | 14 | "Her hand found the pendant" |
| | ratio | 0.366 | |
| 81.95% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 31 | | totalSentences | 41 | | matches | | 0 | "The standing stones marked the" | | 1 | "She'd been to the Grove" | | 2 | "Tonight the silence had teeth." | | 3 | "She stepped between two stones" | | 4 | "The pendant sat warm against" | | 5 | "She'd come because of that" | | 6 | "Her voice didn't echo." | | 7 | "It should have — the" | | 8 | "The wildflowers were wrong." | | 9 | "She noticed that next." | | 10 | "They always bloomed here regardless" | | 11 | "Tonight half of them stood" | | 12 | "Rory didn't look up." | | 13 | "She crossed the clearing with" | | 14 | "The pendant's glow caught faintly" | | 15 | "She stopped walking." | | 16 | "She heard it: a small" | | 17 | "Rory made herself keep walking" | | 18 | "Isolde called it the Speaking" | | 19 | "The pendant pulsed harder." |
| | ratio | 0.756 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 41 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 22 | | technicalSentenceCount | 5 | | matches | | 0 | "She stepped between two stones slick with a moss that seemed to glisten without moonlight to catch it, and the ordinary sounds of Richmond Park — a car somewher…" | | 1 | "They always bloomed here regardless of season, that was the whole strange charm of the place, but they always bloomed." | | 2 | "She put her palm flat on the cold stone surface and waited, the way Isolde had taught her, though for what she wasn't entirely sure — an answer, a sign, a fae f…" | | 3 | "In the new light she saw, at the very edge of the clearing where the oaks should have thinned into park and city and ordinary night, only more oaks, receding ba…" | | 4 | "Then, very quietly, very close to her ear, something that was not Isolde's voice, and not quite a voice at all in any way she had words for, said her name — not…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 5 | | tagDensity | 0.2 | | leniency | 0.4 | | rawRatio | 0 | | effectiveRatio | 0 | |