| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1116 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 46.24% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1116 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "pulse" | | 1 | "echoing" | | 2 | "tracing" | | 3 | "sanctuary" | | 4 | "footsteps" | | 5 | "silence" | | 6 | "throbbed" | | 7 | "pulsed" | | 8 | "trembled" | | 9 | "flickered" | | 10 | "whisper" | | 11 | "shattered" |
| |
| 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 | 112 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 112 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 113 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 22 | | markdownWords | 34 | | totalWords | 1109 | | ratio | 0.031 | | matches | | 0 | "answers" | | 1 | "resistant" | | 2 | "quality" | | 3 | "No—activated." | | 4 | "was" | | 5 | "what" | | 6 | "other" | | 7 | "click" | | 8 | "hiss" | | 9 | "warmer" | | 10 | "had" | | 11 | "the carvings were wrong." | | 12 | "brush" | | 13 | "breathing" | | 14 | "air" | | 15 | "certain" | | 16 | "Come here, little star. Find the cradle. Find the wound." | | 17 | "presence" | | 18 | "beneath" | | 19 | "screamed" | | 20 | "narrowed" | | 21 | "inside" |
| |
| 41.67% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 1 | | matches | | 0 | "When she turned, she swore the standing stone at her back had shifted." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 12 | | wordCount | 1097 | | uniqueNames | 9 | | maxNameDensity | 0.27 | | worstName | "Aurora" | | maxWindowNameDensity | 1 | | worstWindowName | "March" | | discoveredNames | | Fae | 1 | | Grove | 1 | | Heartstone | 1 | | Pendant | 1 | | December | 1 | | March | 2 | | London | 1 | | Hel | 1 | | Aurora | 3 |
| | persons | | | places | | 0 | "Fae" | | 1 | "Grove" | | 2 | "March" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 5 | | per1kWords | 4.509 | | wordCount | 1109 | | matches | | 0 | "not humid but *resistant*, like moving through taffy" | | 1 | "Not literally, but in the way they might frame a scene in a theater, her path g" | | 2 | "Not a voice, but a *brush* of something brushing past the edge of her mind" | | 3 | "Not sung, but hummed in the marrow of the grove itself" | | 4 | "Not actual sound, but a vibration in her teeth" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 113 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 41.07 | | std | 30.63 | | cv | 0.746 | | sampleLengths | | 0 | 117 | | 1 | 82 | | 2 | 84 | | 3 | 82 | | 4 | 29 | | 5 | 23 | | 6 | 75 | | 7 | 27 | | 8 | 18 | | 9 | 39 | | 10 | 90 | | 11 | 57 | | 12 | 46 | | 13 | 47 | | 14 | 62 | | 15 | 10 | | 16 | 33 | | 17 | 31 | | 18 | 58 | | 19 | 34 | | 20 | 3 | | 21 | 3 | | 22 | 13 | | 23 | 21 | | 24 | 3 | | 25 | 16 | | 26 | 6 |
| |
| 83.33% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 7 | | totalSentences | 112 | | matches | | 0 | "were made" | | 1 | "were skewed" | | 2 | "were edged" | | 3 | "was sorted" | | 4 | "were gone" | | 5 | "was gone" | | 6 | "was gone" |
| |
| 21.75% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 187 | | matches | | 0 | "was* guiding" | | 1 | "were blooming" | | 2 | "was holding" | | 3 | "were *breathing" | | 4 | "was watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 113 | | ratio | 0.062 | | matches | | 0 | "The map app on her phone had glitches here—lines of text blinking out before they could form, coordinates folding into nonsense." | | 1 | "Not just the positions—though they were skewed toward the north in a way that shouldn’t exist—but the *quality* of them." | | 2 | "*No—activated.* She wasn’t a fool." | | 3 | "The wildflowers here—indigo violas, white snowdrops, spires of yellow broomrape—were blooming in mid-April, or maybe it was December." | | 4 | "Her breath came with a fog, which didn’t make sense—she’d never seen frost in March, even in London." | | 5 | "No, not shifted—*the carvings were wrong.* It had been a spiraling glyph before, the kind of thing she might’ve skimmed over in an art history class." | | 6 | "And something else—movement, just at the periphery of her vision." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1111 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 28 | | adverbRatio | 0.025202520252025202 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.0018001800180018 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 113 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 113 | | mean | 9.81 | | std | 7 | | cv | 0.714 | | sampleLengths | | 0 | 34 | | 1 | 7 | | 2 | 24 | | 3 | 21 | | 4 | 10 | | 5 | 21 | | 6 | 12 | | 7 | 26 | | 8 | 7 | | 9 | 20 | | 10 | 17 | | 11 | 14 | | 12 | 10 | | 13 | 5 | | 14 | 12 | | 15 | 18 | | 16 | 9 | | 17 | 4 | | 18 | 2 | | 19 | 10 | | 20 | 9 | | 21 | 5 | | 22 | 5 | | 23 | 16 | | 24 | 7 | | 25 | 7 | | 26 | 15 | | 27 | 15 | | 28 | 1 | | 29 | 2 | | 30 | 7 | | 31 | 16 | | 32 | 2 | | 33 | 4 | | 34 | 23 | | 35 | 7 | | 36 | 14 | | 37 | 11 | | 38 | 18 | | 39 | 4 | | 40 | 7 | | 41 | 14 | | 42 | 4 | | 43 | 4 | | 44 | 19 | | 45 | 9 | | 46 | 9 | | 47 | 6 | | 48 | 10 | | 49 | 13 |
| |
| 42.04% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.25663716814159293 | | totalSentences | 113 | | uniqueOpeners | 29 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 104 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 104 | | matches | | 0 | "She’d followed the pulse of" | | 1 | "She’d told herself she was" | | 2 | "Her boots crunched on frost-stiff" | | 3 | "Their light was too pale," | | 4 | "She reached up, tracing the" | | 5 | "She checked her watch." | | 6 | "She’d entered the grove at" | | 7 | "She’d thought the grove empty." | | 8 | "She spun, hand resting on" | | 9 | "She took a step forward," | | 10 | "Her breath came with a" | | 11 | "she muttered to herself, moving" | | 12 | "Her voice was flat, too" | | 13 | "She paused, her breath hitching." | | 14 | "She pulled it free from" | | 15 | "She turned in a slow" | | 16 | "Her boot crunched again." | | 17 | "It was sorted." | | 18 | "She dropped it to her" | | 19 | "Her breath came in shortened" |
| | ratio | 0.269 | |
| 89.81% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 104 | | matches | | 0 | "Aurora pulled the hood of" | | 1 | "The Fae Grove had been" | | 2 | "She’d followed the pulse of" | | 3 | "The map app on her" | | 4 | "She’d told herself she was" | | 5 | "The air was thick, not" | | 6 | "Her boots crunched on frost-stiff" | | 7 | "Their light was too pale," | | 8 | "She reached up, tracing the" | | 9 | "The pendant cold against her" | | 10 | "The artifact *was* guiding her," | | 11 | "The wildflowers here—indigo violas, white" | | 12 | "Time had gone feral here," | | 13 | "She checked her watch." | | 14 | "She’d entered the grove at" | | 15 | "A shiver ran through her," | | 16 | "She’d thought the grove empty." | | 17 | "A sanctuary carved between realms." | | 18 | "A pipe-squeak whine as of" | | 19 | "She spun, hand resting on" |
| | ratio | 0.74 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 104 | | matches | | 0 | "Now, standing under the gnarled" | | 1 | "Now, the spiral seeped edge-to-edge" | | 2 | "Because she realized now that" |
| | ratio | 0.029 | |
| 68.45% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 5 | | matches | | 0 | "Aurora pulled the hood of her delivery jacket snug around her ears, the cold night air nipping at her face as she stepped past the ancient oaks that framed the …" | | 1 | "She’d followed the pulse of the Heartstone Pendant, its warm crimson glow slowing her breath as if it had a will of its own." | | 2 | "Her boots crunched on frost-stiff leaves, the sound echoing unnaturally loud, as if the grove itself were made of earthen mugs to catch each dropped syllable." | | 3 | "Her breath came with a fog, which didn’t make sense—she’d never seen frost in March, even in London." | | 4 | "Not literally, but in the way they might frame a scene in a theater, her path growing narrower, the music box whine rising again." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 1 | | effectiveRatio | 1 | |