| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 3 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 74.09% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1158 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "suddenly" | | 1 | "very" | | 2 | "slowly" | | 3 | "quickly" |
| |
| 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) | |
| 74.09% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1158 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "echo" | | 1 | "warmth" | | 2 | "resolved" | | 3 | "footsteps" |
| |
| 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 | 63 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 63 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 64 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 77 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 8 | | markdownWords | 32 | | totalWords | 1163 | | ratio | 0.028 | | matches | | 0 | "the grove, midnight, come alone" | | 1 | "Warmth means a door is near, Rory. Heat means it's open." | | 2 | "something" | | 3 | "Cool head, Rory. You've got a cool head. Everyone says so." | | 4 | "toward" | | 5 | "through" | | 6 | "breathing" | | 7 | "Malphora." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 16 | | wordCount | 1121 | | uniqueNames | 7 | | maxNameDensity | 0.36 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Eva" | | discoveredNames | | Eva | 2 | | Richmond | 3 | | Park | 2 | | Heartstone | 1 | | Rory | 4 | | Aurora | 1 | | Nine | 3 |
| | persons | | 0 | "Eva" | | 1 | "Heartstone" | | 2 | "Rory" | | 3 | "Nine" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 41 | | 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.86 | | wordCount | 1163 | | matches | | 0 | "Not the flower-ripple, uniform and strange but at least explicable as *something*" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 64 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 43.07 | | std | 33.47 | | cv | 0.777 | | sampleLengths | | 0 | 11 | | 1 | 103 | | 2 | 93 | | 3 | 34 | | 4 | 100 | | 5 | 20 | | 6 | 41 | | 7 | 7 | | 8 | 85 | | 9 | 5 | | 10 | 88 | | 11 | 21 | | 12 | 46 | | 13 | 60 | | 14 | 67 | | 15 | 17 | | 16 | 13 | | 17 | 71 | | 18 | 37 | | 19 | 13 | | 20 | 62 | | 21 | 12 | | 22 | 4 | | 23 | 70 | | 24 | 4 | | 25 | 1 | | 26 | 78 |
| |
| 82.99% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 63 | | matches | | 0 | "been told" | | 1 | "were meant" | | 2 | "been told" | | 3 | "was supposed" |
| |
| 44.05% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 171 | | matches | | 0 | "was starting" | | 1 | "were standing" | | 2 | "was beating" | | 3 | "were leaning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 64 | | ratio | 0.063 | | matches | | 0 | "Not the fact of them — she'd been told the grove kept its own seasons — but the way they moved." | | 1 | "This was different — a shift of mass, low to the ground, gone the instant she turned her head to catch it, so that when she looked the trunk was only a trunk again, splitting the dark the way it had every night for three centuries." | | 2 | "Not around, not past — *through*, a ripple of cold that started at her ankles and climbed to her scalp in under a second, gone as quickly as it came, leaving her skin prickled and her breath caught somewhere behind her sternum." | | 3 | "She spun, pendant blazing hot enough now to burn through the thin cotton of her shirt, and the clearing behind her was empty, flowers still, air finally, finally moving as a real wind found its way between the stones and lifted her hair from her neck — and in that moving air, carried from nowhere and everywhere at once, came the unmistakable, patient sound of something breathing that was not her, and was not far away at all." |
| |
| 98.93% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 752 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 31 | | adverbRatio | 0.041223404255319146 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.013297872340425532 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 64 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 64 | | mean | 18.17 | | std | 17.88 | | cv | 0.984 | | sampleLengths | | 0 | 11 | | 1 | 54 | | 2 | 9 | | 3 | 8 | | 4 | 32 | | 5 | 57 | | 6 | 36 | | 7 | 34 | | 8 | 7 | | 9 | 21 | | 10 | 4 | | 11 | 25 | | 12 | 43 | | 13 | 11 | | 14 | 4 | | 15 | 5 | | 16 | 41 | | 17 | 2 | | 18 | 5 | | 19 | 38 | | 20 | 7 | | 21 | 29 | | 22 | 7 | | 23 | 4 | | 24 | 5 | | 25 | 19 | | 26 | 12 | | 27 | 16 | | 28 | 41 | | 29 | 6 | | 30 | 15 | | 31 | 22 | | 32 | 24 | | 33 | 2 | | 34 | 12 | | 35 | 46 | | 36 | 56 | | 37 | 3 | | 38 | 5 | | 39 | 3 | | 40 | 12 | | 41 | 1 | | 42 | 3 | | 43 | 1 | | 44 | 7 | | 45 | 6 | | 46 | 36 | | 47 | 4 | | 48 | 2 | | 49 | 29 |
| |
| 78.13% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.515625 | | totalSentences | 64 | | uniqueOpeners | 33 | |
| 61.73% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 54 | | matches | | 0 | "Just the small sound of" |
| | ratio | 0.019 | |
| 79.26% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 54 | | matches | | 0 | "She'd come because the note" | | 1 | "She'd have felt it on" | | 2 | "She pulled her cardigan tighter" | | 3 | "Her voice came out smaller" | | 4 | "She hadn't expected anything to." | | 5 | "She made herself walk further" | | 6 | "It was not yet hot." | | 7 | "She stopped in the centre" | | 8 | "She looked directly at it" | | 9 | "She looked away, back toward" | | 10 | "Her heart was beating harder" | | 11 | "You've got a cool head." | | 12 | "She turned another slow circle," | | 13 | "She counted again." | | 14 | "She was almost sure of" | | 15 | "It travelled *toward* something." | | 16 | "she said, louder this time," | | 17 | "It went through her." | | 18 | "She spun, pendant blazing hot" |
| | ratio | 0.352 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 36 | | totalSentences | 54 | | matches | | 0 | "The standing stones came up" | | 1 | "Rory had been told the" | | 2 | "She'd come because the note" | | 3 | "The flowers themselves were wrong," | | 4 | "She'd have felt it on" | | 5 | "She pulled her cardigan tighter" | | 6 | "Fae places were strange." | | 7 | "That was the entire point." | | 8 | "Her voice came out smaller" | | 9 | "She hadn't expected anything to." | | 10 | "She made herself walk further" | | 11 | "That was supposed to mean" | | 12 | "Silas had told her that" | | 13 | "*Warmth means a door is" | | 14 | "Heat means it's open.*" | | 15 | "It was not yet hot." | | 16 | "She stopped in the centre" | | 17 | "The wildflowers, still rippling that" | | 18 | "She looked directly at it" | | 19 | "She looked away, back toward" |
| | ratio | 0.667 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 54 | | matches | | 0 | "Now she stood in a" | | 1 | "As though the grove itself" |
| | ratio | 0.037 | |
| 44.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 4 | | matches | | 0 | "Just the small sound of her own breathing, suddenly very loud, and the pendant at her throat, warm against her collarbone in a way that had nothing to do with b…" | | 1 | "She'd come because the note tucked under her door that morning had said *the grove, midnight, come alone*, and because the Heartstone had started pulsing that s…" | | 2 | "And yet the flowers swayed, all of them, in a slow unified ripple that traveled from the far edge of the clearing to the toe of her boot and then seemed, imposs…" | | 3 | "As though the grove itself were leaning down to get a better look, the way you might lean over a rock pool to see what moved beneath the surface." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 3 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |