| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 83.60% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1524 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slowly" | | 1 | "very" | | 2 | "suddenly" | | 3 | "perfectly" |
| |
| 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) | |
| 8.14% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1524 | | totalAiIsms | 28 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | |
| | highlights | | 0 | "pulse" | | 1 | "warmth" | | 2 | "sentinels" | | 3 | "resolving" | | 4 | "silence" | | 5 | "depths" | | 6 | "whisper" | | 7 | "weight" | | 8 | "pulsed" | | 9 | "loomed" | | 10 | "flickered" | | 11 | "rhythmic" | | 12 | "absolutely" | | 13 | "measured" | | 14 | "could feel" | | 15 | "tracing" | | 16 | "traced" | | 17 | "quickened" |
| |
| 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 | 155 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 155 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 155 | | 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 | 1512 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 41 | | wordCount | 1512 | | uniqueNames | 17 | | maxNameDensity | 0.86 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Didn" | | discoveredNames | | Aurora | 13 | | Park | 1 | | Pembroke | 1 | | Lodge | 1 | | Isolde | 5 | | Heartstone | 1 | | Richmond | 3 | | Yu-Fei | 1 | | November | 2 | | Fae | 1 | | Grove | 1 | | July | 1 | | Gone | 1 | | Hel | 1 | | Silas | 1 | | Like | 3 | | Didn | 4 |
| | persons | | 0 | "Aurora" | | 1 | "Isolde" | | 2 | "Yu-Fei" | | 3 | "November" | | 4 | "Silas" |
| | places | | 0 | "Park" | | 1 | "Pembroke" | | 2 | "Richmond" | | 3 | "Fae" | | 4 | "Grove" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 82 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.661 | | wordCount | 1512 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 155 | | matches | | 0 | "smiled that knife" | | 1 | "see that it" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 55 | | mean | 27.49 | | std | 23.37 | | cv | 0.85 | | sampleLengths | | 0 | 64 | | 1 | 74 | | 2 | 11 | | 3 | 49 | | 4 | 5 | | 5 | 74 | | 6 | 5 | | 7 | 4 | | 8 | 57 | | 9 | 14 | | 10 | 71 | | 11 | 22 | | 12 | 21 | | 13 | 24 | | 14 | 11 | | 15 | 30 | | 16 | 5 | | 17 | 71 | | 18 | 4 | | 19 | 49 | | 20 | 50 | | 21 | 39 | | 22 | 1 | | 23 | 3 | | 24 | 65 | | 25 | 54 | | 26 | 12 | | 27 | 48 | | 28 | 8 | | 29 | 25 | | 30 | 7 | | 31 | 54 | | 32 | 10 | | 33 | 5 | | 34 | 57 | | 35 | 9 | | 36 | 58 | | 37 | 33 | | 38 | 8 | | 39 | 45 | | 40 | 3 | | 41 | 40 | | 42 | 10 | | 43 | 7 | | 44 | 5 | | 45 | 43 | | 46 | 30 | | 47 | 3 | | 48 | 2 | | 49 | 45 |
| |
| 98.47% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 155 | | matches | | 0 | "was gone" | | 1 | "been leached" | | 2 | "was cracked" |
| |
| 84.56% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 231 | | matches | | 0 | "were leaning" | | 1 | "wasn't dispersing" | | 2 | "was merely approximating" | | 3 | "were stretching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 155 | | ratio | 0.09 | | matches | | 0 | "Richmond Park had emptied hours ago, the gates long since locked, but she knew the gap in the fence near the Pembroke Lodge car park—had used it twice before when Isolde summoned her after dark." | | 1 | "She'd dressed for this—dark jeans, her warmest coat, a torch she kept clicking on and off because somehow the beam made the shadows worse, not better." | | 2 | "Ancient oaks, but not oaks anymore—petrified somehow, calcified into something that was neither wood nor stone but held the memory of both." | | 3 | "The wildflowers that bloomed year-round in Isolde's domain—she couldn't see them." | | 4 | "The cold hit her first—a cold that had nothing to do with November, that sank through her coat and her jumper and her skin and settled somewhere in the marrow of her bones." | | 5 | "The smell hit her a moment later—sweet and cloying, the perfume of decay." | | 6 | "The oak that was—" | | 7 | "In its place stood a wound in the world—a ragged vertical tear in the fabric of the air itself, perhaps eight feet tall and three feet wide." | | 8 | "Like something breathing, but wrong—too many beats, too irregular, as if whatever made it had never learned the pattern of inhale and exhale and was merely approximating." | | 9 | "The pendant had gone cold—suddenly, shockingly cold, as if all its warmth had been leached away by proximity to something that should not exist." | | 10 | "Could smell it too, under the sweetness of the rotting flowers—a mineral smell, old and cold and deep, like the air at the bottom of a cave that had never known sunlight." | | 11 | "Don't run don't run don't run because if you run it will know you're prey and it will chase and you can't outrun it you know you can't—" | | 12 | "She stood perfectly still as the presence behind her receded—not walking, not moving the way anything with mass and weight should move." | | 13 | "Through the crack, something dark pulsed—slow and steady and patient." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1528 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 61 | | adverbRatio | 0.03992146596858639 | | lyAdverbCount | 20 | | lyAdverbRatio | 0.013089005235602094 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 155 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 155 | | mean | 9.75 | | std | 8.61 | | cv | 0.883 | | sampleLengths | | 0 | 17 | | 1 | 35 | | 2 | 6 | | 3 | 6 | | 4 | 15 | | 5 | 9 | | 6 | 16 | | 7 | 34 | | 8 | 6 | | 9 | 5 | | 10 | 15 | | 11 | 5 | | 12 | 26 | | 13 | 3 | | 14 | 5 | | 15 | 25 | | 16 | 22 | | 17 | 7 | | 18 | 20 | | 19 | 5 | | 20 | 4 | | 21 | 6 | | 22 | 26 | | 23 | 11 | | 24 | 14 | | 25 | 7 | | 26 | 7 | | 27 | 6 | | 28 | 25 | | 29 | 8 | | 30 | 16 | | 31 | 16 | | 32 | 4 | | 33 | 10 | | 34 | 8 | | 35 | 3 | | 36 | 1 | | 37 | 1 | | 38 | 16 | | 39 | 11 | | 40 | 3 | | 41 | 3 | | 42 | 7 | | 43 | 11 | | 44 | 3 | | 45 | 2 | | 46 | 21 | | 47 | 3 | | 48 | 1 | | 49 | 5 |
| |
| 59.35% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 18 | | diversityRatio | 0.4258064516129032 | | totalSentences | 155 | | uniqueOpeners | 66 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 131 | | matches | | 0 | "Almost hot now, the crimson" | | 1 | "Just the dead flowers and" | | 2 | "Instead, she started walking." | | 3 | "Simply becoming more distant, as" |
| | ratio | 0.031 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 131 | | matches | | 0 | "It had been doing that" | | 1 | "She needed to know what." | | 2 | "She'd dressed for this—dark jeans," | | 3 | "She left the torch off." | | 4 | "She couldn't say why at" | | 5 | "It pressed against her eardrums" | | 6 | "She wiped her hand on" | | 7 | "She crossed into the grove." | | 8 | "It hung there, suspended, a" | | 9 | "She'd been here in the" | | 10 | "They lay flat against the" | | 11 | "She should leave." | | 12 | "She knew she should leave." | | 13 | "Its edges flickered and writhed," | | 14 | "She was certain of it." | | 15 | "She'd entered between the two" | | 16 | "Her heart slammed against her" | | 17 | "She could feel it behind" | | 18 | "She could feel them against" | | 19 | "She stood perfectly still as" |
| | ratio | 0.183 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 131 | | matches | | 0 | "The last light bled from" | | 1 | "Richmond Park had emptied hours" | | 2 | "Tonight, though, no summons had" | | 3 | "Tonight she'd come on her" | | 4 | "The Heartstone pendant lay warm" | | 5 | "It had been doing that" | | 6 | "Something was wrong at the" | | 7 | "She needed to know what." | | 8 | "The oak trees rose around" | | 9 | "Frost crunched beneath her trainers." | | 10 | "She'd dressed for this—dark jeans," | | 11 | "She left the torch off." | | 12 | "The standing stones emerged from" | | 13 | "Aurora had asked Isolde about" | | 14 | "The fae woman had smiled" | | 15 | "Aurora stopped at the boundary." | | 16 | "The grove looked wrong." | | 17 | "She couldn't say why at" | | 18 | "The clearing beyond the standing" | | 19 | "The wildflowers that bloomed year-round" |
| | ratio | 0.649 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 131 | | matches | | 0 | "Even in the depths of" | | 1 | "Now there was nothing." | | 2 | "Now they were closer." |
| | ratio | 0.023 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 57 | | technicalSentenceCount | 14 | | matches | | 0 | "The standing stones emerged from the darkness gradually, their shapes resolving from the general murk of the wood like figures stepping forward from a crowd." | | 1 | "Ancient oaks, but not oaks anymore—petrified somehow, calcified into something that was neither wood nor stone but held the memory of both." | | 2 | "The wildflowers that bloomed year-round in Isolde's domain—she couldn't see them." | | 3 | "The distant, sourceless music that made her think of her grandmother's stories about the fair folk." | | 4 | "The soft breathing of a place that was, in some fashion she didn't fully understand, alive." | | 5 | "They lay flat against the frozen ground, their petals blackened as if by fire, their stems collapsed and rotting." | | 6 | "But something adjacent to one, something that used the same terrible geometry, the same violation of the boundaries between worlds." | | 7 | "Like something breathing, but wrong—too many beats, too irregular, as if whatever made it had never learned the pattern of inhale and exhale and was merely appr…" | | 8 | "The pendant had gone cold—suddenly, shockingly cold, as if all its warmth had been leached away by proximity to something that should not exist." | | 9 | "Could feel the displacement of air as something massive moved through space that shouldn't have been able to contain it." | | 10 | "Could smell it too, under the sweetness of the rotting flowers—a mineral smell, old and cold and deep, like the air at the bottom of a cave that had never known…" | | 11 | "The pendant lay dead and cold against her chest, offering no warmth, no warning, nothing." | | 12 | "Simply becoming more distant, as if space itself were stretching to accommodate its departure." | | 13 | "Sitting on the edge of her bed with every light on and her phone in her hand, trying to remember how to breathe." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |