| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 27 | | tagDensity | 0.444 | | leniency | 0.889 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 92.63% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1357 | | totalAiIsmAdverbs | 2 | | 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) | |
| 63.15% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1357 | | totalAiIsms | 10 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | word | "casual indifference" | | count | 1 |
|
| | highlights | | 0 | "throb" | | 1 | "whisper" | | 2 | "shimmered" | | 3 | "pulsed" | | 4 | "perfect" | | 5 | "chill" | | 6 | "gleaming" | | 7 | "casual indifference" |
| |
| 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 | 84 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 84 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 98 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1342 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 47 | | wordCount | 1156 | | uniqueNames | 12 | | maxNameDensity | 1.64 | | worstName | "Aurora" | | maxWindowNameDensity | 3 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 19 | | Heartstone | 3 | | Nyx | 8 | | Richmond | 1 | | Park | 1 | | Shade | 2 | | July | 1 | | October | 2 | | Cardiff | 1 | | Isolde | 7 | | Varga | 1 | | Evan | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Nyx" | | 2 | "Shade" | | 3 | "Isolde" | | 4 | "Evan" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Cardiff" |
| | globalScore | 0.678 | | windowScore | 0.667 | |
| 11.11% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 54 | | glossingSentenceCount | 3 | | matches | | 0 | "sounded like wind through dead leaves" | | 1 | "spirals that seemed to move when she wasn't looking directly at them" | | 2 | "gown that seemed to be woven from the same impossible light as the air itself" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1342 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 98 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 31.21 | | std | 30.46 | | cv | 0.976 | | sampleLengths | | 0 | 9 | | 1 | 111 | | 2 | 19 | | 3 | 46 | | 4 | 9 | | 5 | 10 | | 6 | 106 | | 7 | 12 | | 8 | 9 | | 9 | 31 | | 10 | 2 | | 11 | 3 | | 12 | 4 | | 13 | 60 | | 14 | 3 | | 15 | 59 | | 16 | 98 | | 17 | 45 | | 18 | 13 | | 19 | 2 | | 20 | 60 | | 21 | 18 | | 22 | 41 | | 23 | 21 | | 24 | 20 | | 25 | 31 | | 26 | 31 | | 27 | 11 | | 28 | 12 | | 29 | 15 | | 30 | 2 | | 31 | 116 | | 32 | 26 | | 33 | 20 | | 34 | 42 | | 35 | 11 | | 36 | 68 | | 37 | 25 | | 38 | 6 | | 39 | 48 | | 40 | 48 | | 41 | 7 | | 42 | 12 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 84 | | matches | (empty) | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 189 | | matches | | 0 | "were being" | | 1 | "wasn't looking" | | 2 | "was standing" | | 3 | "was standing" | | 4 | "was watching" | | 5 | "were watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 98 | | ratio | 0.102 | | matches | | 0 | "She'd followed the path Nyx indicated—a deer trail cutting east through the ancient oaks of Richmond Park, the kind of track that only existed if you knew to look for it—but the deeper she walked, the more the modern world fell away." | | 1 | "Twelve of them, maybe more—she couldn't count them properly because her eyes kept sliding off, finding it difficult to hold more than three in focus at a time." | | 2 | "The air tasted of honey and woodsmoke and something older, something her body recognized before her mind did—a smell like the inside of her grandmother's house in Cardiff, the dresser where the old photographs sat, the dust of decades." | | 3 | "Their branches arched overhead in a perfect vault, each one meeting its neighbor to form a living cathedral ceiling, and through the gaps between the leaves the sky was the wrong color—a pale, luminous green, like light filtered through a glass of absinthe." | | 4 | "A carpet—thick, ankle-deep, dense as wool, and every color she could name and several she couldn't." | | 5 | "She was distantly aware that her hand had gone to the hilt of the slender moonsilver dagger at her hip—Isolde's own gift, returned, somehow, across years that hadn't happened yet—and she forced herself to uncurl her fingers." | | 6 | "The second gave way to a slow, wide stream that ran in the wrong direction—uphill, away from the distant sound of falling water—and the water was warm, and it tasted of mint and something older than mint." | | 7 | "Isolde, ahead, laughed—a sound like silver bells dropped into deep water." | | 8 | "Beneath it, a stone bench waited, though no one had been here in—Aurora didn't know." | | 9 | "And everything—every step, every breath, every question asked beneath this ancient, watching oak—would push the door a little further open." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1172 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 38 | | adverbRatio | 0.032423208191126277 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.011945392491467578 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 98 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 98 | | mean | 13.69 | | std | 11.55 | | cv | 0.843 | | sampleLengths | | 0 | 9 | | 1 | 23 | | 2 | 42 | | 3 | 12 | | 4 | 13 | | 5 | 21 | | 6 | 15 | | 7 | 4 | | 8 | 6 | | 9 | 29 | | 10 | 11 | | 11 | 9 | | 12 | 10 | | 13 | 10 | | 14 | 28 | | 15 | 26 | | 16 | 12 | | 17 | 30 | | 18 | 12 | | 19 | 5 | | 20 | 4 | | 21 | 21 | | 22 | 4 | | 23 | 6 | | 24 | 2 | | 25 | 3 | | 26 | 4 | | 27 | 4 | | 28 | 39 | | 29 | 6 | | 30 | 11 | | 31 | 3 | | 32 | 5 | | 33 | 5 | | 34 | 13 | | 35 | 36 | | 36 | 14 | | 37 | 43 | | 38 | 6 | | 39 | 35 | | 40 | 4 | | 41 | 3 | | 42 | 16 | | 43 | 22 | | 44 | 10 | | 45 | 3 | | 46 | 2 | | 47 | 13 | | 48 | 3 | | 49 | 26 |
| |
| 53.06% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.3673469387755102 | | totalSentences | 98 | | uniqueOpeners | 36 | |
| 45.05% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 74 | | matches | | 0 | "Even the birdsong had changed," |
| | ratio | 0.014 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 74 | | matches | | 0 | "It started as a pressure" | | 1 | "She'd followed the path Nyx" | | 2 | "They flowed forward through a" | | 3 | "They were oak, not granite," | | 4 | "They didn't touch it." | | 5 | "It made her want to" | | 6 | "She stepped forward." | | 7 | "Their branches arched overhead in" | | 8 | "It came from no clear" | | 9 | "She was smiling, but her" | | 10 | "She was distantly aware that" | | 11 | "She turned and moved deeper" | | 12 | "She thought of Evan then." | | 13 | "She wished she hadn't." | | 14 | "she said, more to herself" | | 15 | "She stopped at the edge" | | 16 | "They stood at the edge" | | 17 | "It was a hinge." | | 18 | "She looked up at Isolde's" |
| | ratio | 0.257 | |
| 41.08% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 62 | | totalSentences | 74 | | matches | | 0 | "The standing stones announced themselves" | | 1 | "It started as a pressure" | | 2 | "She'd followed the path Nyx" | | 3 | "The distant hum of traffic" | | 4 | "The joggers and dog walkers" | | 5 | "Aurora murmured, using the name" | | 6 | "The Shade didn't answer in" | | 7 | "They flowed forward through a" | | 8 | "Aurora pushed through the last" | | 9 | "The stones rose out of" | | 10 | "They were oak, not granite," | | 11 | "Moss crept up their flanks" | | 12 | "The Heartstone pulsed once, hard," | | 13 | "Nyx drifted closer to one" | | 14 | "They didn't touch it." | | 15 | "Aurora took a breath." | | 16 | "The air tasted of honey" | | 17 | "The smell of time made" | | 18 | "It made her want to" | | 19 | "She stepped forward." |
| | ratio | 0.838 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 74 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 9 | | matches | | 0 | "It started as a pressure behind her eyes, a dull throb that matched the rhythm of the Heartstone pendant warming against her collarbone." | | 1 | "Even the birdsong had changed, retreating to a higher register, as though the birds themselves didn't want to get too close." | | 2 | "They were oak, not granite, impossibly old oak, grey and silvered and carved with spirals that seemed to move when she wasn't looking directly at them." | | 3 | "One moment she was standing in the deer path with her trainers sinking into the soft leaf litter, and the next moment she was standing in a different deer path,…" | | 4 | "The woman was silver-haired, pale as birch bark, dressed in a gown that seemed to be woven from the same impossible light as the air itself." | | 5 | "She was distantly aware that her hand had gone to the hilt of the slender moonsilver dagger at her hip—Isolde's own gift, returned, somehow, across years that h…" | | 6 | "The first clearing gave way to a stand of silver birches, their trunks gleaming like polished metal, their leaves chiming faintly in a wind Aurora couldn't feel…" | | 7 | "The second gave way to a slow, wide stream that ran in the wrong direction—uphill, away from the distant sound of falling water—and the water was warm, and it t…" | | 8 | "They stood at the edge of the clearing, their form solid for the first time since they'd entered the grove, every line of them sharp and defined, and they were …" |
| |
| 83.33% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, more to herself than to either of her companions," |
| |
| 75.93% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 2 | | fancyTags | | 0 | "Aurora murmured (murmur)" | | 1 | "Aurora breathed (breathe)" |
| | dialogueSentences | 27 | | tagDensity | 0.296 | | leniency | 0.593 | | rawRatio | 0.25 | | effectiveRatio | 0.148 | |