| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 81.70% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1093 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "perfectly" | | 1 | "slowly" | | 2 | "truly" |
| |
| 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) | |
| 35.96% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1093 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "pulsed" | | 1 | "warmth" | | 2 | "echoed" | | 3 | "weight" | | 4 | "whisper" | | 5 | "cascading" | | 6 | "sentinels" | | 7 | "comfortable" | | 8 | "familiar" | | 9 | "could feel" |
| |
| 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 | 1 | | narrationSentences | 89 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 89 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 89 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1079 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 2 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 1067 | | uniqueNames | 9 | | maxNameDensity | 0.66 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Park" | | discoveredNames | | October | 2 | | Park | 4 | | Isolde | 4 | | Heartstone | 1 | | Hel | 2 | | Rory | 7 | | Winter | 1 | | Court | 1 | | Richmond | 4 |
| | persons | | | places | | 0 | "Park" | | 1 | "Hel" | | 2 | "Winter" | | 3 | "Richmond" |
| | globalScore | 1 | | windowScore | 1 | |
| 42.86% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 3 | | matches | | 0 | "quite her own" | | 1 | "quite process" | | 2 | "Not quite human, not quite animal" | | 3 | "not quite animal" |
| |
| 14.64% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.854 | | wordCount | 1079 | | matches | | 0 | "not the random settling of wood but the precise pressure of weight on dead timber" | | 1 | "not warm now but scalding" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 89 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 37.21 | | std | 27.15 | | cv | 0.73 | | sampleLengths | | 0 | 76 | | 1 | 52 | | 2 | 62 | | 3 | 57 | | 4 | 104 | | 5 | 8 | | 6 | 47 | | 7 | 6 | | 8 | 66 | | 9 | 7 | | 10 | 59 | | 11 | 55 | | 12 | 45 | | 13 | 5 | | 14 | 60 | | 15 | 7 | | 16 | 57 | | 17 | 35 | | 18 | 5 | | 19 | 51 | | 20 | 8 | | 21 | 3 | | 22 | 36 | | 23 | 44 | | 24 | 18 | | 25 | 20 | | 26 | 70 | | 27 | 13 | | 28 | 3 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 89 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 180 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 89 | | ratio | 0.135 | | matches | | 0 | "Richmond Park stretched dark behind her, but ahead lay the grove Isolde had described—wildflowers blooming pale in the moonlight despite the season, their petals luminescent against grass that looked too green, too alive for autumn." | | 1 | "Not the sharp, urgent heat that signaled a portal to Hel—this was different." | | 2 | "Their scent drifted up—honey and copper and something else, something that made her think of opened veins." | | 3 | "Isolde had promised revelations in exchange for a simple task—retrieve a silver box hidden beneath the table and bring it unopened to the Winter Court." | | 4 | "The sound had been crisp, deliberate—not the random settling of wood but the precise pressure of weight on dead timber." | | 5 | "Not quiet—silent." | | 6 | "The pendant flared against her chest—not warm now but scalding." | | 7 | "Movement in her peripheral vision—quick, skittering." | | 8 | "Through the narrowed opening, Richmond Park looked wrong—trees where there hadn't been trees, paths that curved in impossible directions." | | 9 | "The laughter came again, closer, and she felt breath on the back of her neck—cold despite the burning pendant, carrying the scent of earth and old blood." | | 10 | "But as she watched, something pale moved in that darkness—too tall, jointed in too many places, reaching toward the threshold with fingers that branched like winter trees." | | 11 | "Rory forced herself to walk, then jog, then run—away from the grove, away from Richmond Park, away from whatever Isolde had truly sent her to find." |
| |
| 91.29% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1081 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 54 | | adverbRatio | 0.04995374653098982 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.013876040703052728 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 89 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 89 | | mean | 12.12 | | std | 8.08 | | cv | 0.666 | | sampleLengths | | 0 | 15 | | 1 | 26 | | 2 | 35 | | 3 | 8 | | 4 | 22 | | 5 | 13 | | 6 | 1 | | 7 | 8 | | 8 | 4 | | 9 | 2 | | 10 | 17 | | 11 | 39 | | 12 | 12 | | 13 | 17 | | 14 | 6 | | 15 | 22 | | 16 | 19 | | 17 | 13 | | 18 | 11 | | 19 | 10 | | 20 | 26 | | 21 | 25 | | 22 | 1 | | 23 | 7 | | 24 | 10 | | 25 | 16 | | 26 | 14 | | 27 | 7 | | 28 | 6 | | 29 | 8 | | 30 | 20 | | 31 | 5 | | 32 | 5 | | 33 | 2 | | 34 | 19 | | 35 | 7 | | 36 | 7 | | 37 | 15 | | 38 | 9 | | 39 | 25 | | 40 | 10 | | 41 | 10 | | 42 | 12 | | 43 | 15 | | 44 | 3 | | 45 | 1 | | 46 | 14 | | 47 | 6 | | 48 | 15 | | 49 | 11 |
| |
| 55.06% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3707865168539326 | | totalSentences | 89 | | uniqueOpeners | 33 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 80 | | matches | | 0 | "She'd worn it under her" | | 1 | "She checked her phone." | | 2 | "Their scent drifted up—honey and" | | 3 | "She forced herself to step" | | 4 | "She'd come here for answers" | | 5 | "She dug with her fingers," | | 6 | "She held her breath, listening." | | 7 | "She pulled the box free" | | 8 | "She stood slowly, tucking it" | | 9 | "She spun toward it, but" | | 10 | "She needed to leave." | | 11 | "She was certain of it." | | 12 | "She lunged for the gap." | | 13 | "She threw herself forward with" | | 14 | "She scrambled to her feet," | | 15 | "She checked her phone with" | | 16 | "She'd been in the grove" | | 17 | "She could feel it pulling" | | 18 | "She ran faster." |
| | ratio | 0.238 | |
| 53.75% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 65 | | totalSentences | 80 | | matches | | 0 | "Rory stepped through the gap" | | 1 | "The October wind that had" | | 2 | "Richmond Park stretched dark behind" | | 3 | "The Heartstone pendant hung heavy" | | 4 | "She'd worn it under her" | | 5 | "She checked her phone." | | 6 | "Isolde had said midnight, insisted" | | 7 | "The fairy queen's instructions echoed" | | 8 | "The clearing opened before her," | | 9 | "Their scent drifted up—honey and" | | 10 | "She forced herself to step" | | 11 | "The grass whispered against her" | | 12 | "The moonlight gathered there, pooling" | | 13 | "Rory approached it slowly, fighting" | | 14 | "She'd come here for answers" | | 15 | "Isolde had promised revelations in" | | 16 | "Nothing with the fae was" | | 17 | "The pendant's warmth intensified as" | | 18 | "The ground beneath was soft," | | 19 | "She dug with her fingers," |
| | ratio | 0.813 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 28.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 50 | | technicalSentenceCount | 8 | | matches | | 0 | "The October wind that had been tugging at her jacket collar died to nothing, as if she'd passed through an invisible membrane into somewhere else entirely." | | 1 | "Richmond Park stretched dark behind her, but ahead lay the grove Isolde had described—wildflowers blooming pale in the moonlight despite the season, their petal…" | | 2 | "Not the sharp, urgent heat that signaled a portal to Hel—this was different." | | 3 | "Their scent drifted up—honey and copper and something else, something that made her think of opened veins." | | 4 | "The ground beneath was soft, too soft, as if the earth here had never quite solidified." | | 5 | "The metal felt wrong against her palms, simultaneously too hot and too cold, as if it existed at a temperature human nerves couldn't quite process." | | 6 | "Through the narrowed opening, Richmond Park looked wrong—trees where there hadn't been trees, paths that curved in impossible directions." | | 7 | "But as she watched, something pale moved in that darkness—too tall, jointed in too many places, reaching toward the threshold with fingers that branched like wi…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |