| 78.57% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 3 | | adverbTags | | 0 | "Nyx drifted alongside [alongside]" | | 1 | "She glanced back [back]" | | 2 | "she corrected gently [gently]" |
| | dialogueSentences | 40 | | tagDensity | 0.525 | | leniency | 1 | | rawRatio | 0.143 | | effectiveRatio | 0.143 | |
| 75.58% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1433 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "precisely" | | 1 | "very" | | 2 | "carefully" | | 3 | "sharply" | | 4 | "gently" | | 5 | "slowly" |
| |
| 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) | |
| 51.15% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1433 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "pulse" | | 1 | "comforting" | | 2 | "warmth" | | 3 | "resonance" | | 4 | "pulsed" | | 5 | "whisper" | | 6 | "stomach" | | 7 | "trembled" |
| |
| 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 | 98 | | matches | (empty) | |
| 99.13% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 98 | | filterMatches | (empty) | | hedgeMatches | | 0 | "managed to" | | 1 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 115 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1451 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 39 | | wordCount | 1197 | | uniqueNames | 6 | | maxNameDensity | 1.42 | | worstName | "Rory" | | maxWindowNameDensity | 4 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 17 | | Heartstone | 3 | | Nyx | 9 | | London | 1 | | Isolde | 8 | | Seer | 1 |
| | persons | | 0 | "Rory" | | 1 | "Nyx" | | 2 | "Isolde" | | 3 | "Seer" |
| | places | | | globalScore | 0.79 | | windowScore | 0.333 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 62 | | glossingSentenceCount | 1 | | matches | | 0 | "quite a second clearing" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1451 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 115 | | matches | | 0 | "recognized that light" | | 1 | "convey that they" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 52 | | mean | 27.9 | | std | 31.15 | | cv | 1.116 | | sampleLengths | | 0 | 3 | | 1 | 53 | | 2 | 7 | | 3 | 62 | | 4 | 1 | | 5 | 7 | | 6 | 10 | | 7 | 88 | | 8 | 18 | | 9 | 6 | | 10 | 13 | | 11 | 6 | | 12 | 11 | | 13 | 69 | | 14 | 20 | | 15 | 36 | | 16 | 14 | | 17 | 10 | | 18 | 57 | | 19 | 4 | | 20 | 16 | | 21 | 3 | | 22 | 122 | | 23 | 9 | | 24 | 17 | | 25 | 10 | | 26 | 6 | | 27 | 63 | | 28 | 7 | | 29 | 83 | | 30 | 48 | | 31 | 6 | | 32 | 4 | | 33 | 14 | | 34 | 5 | | 35 | 3 | | 36 | 144 | | 37 | 38 | | 38 | 14 | | 39 | 17 | | 40 | 24 | | 41 | 27 | | 42 | 38 | | 43 | 5 | | 44 | 53 | | 45 | 68 | | 46 | 10 | | 47 | 8 | | 48 | 17 | | 49 | 4 |
| |
| 90.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 98 | | matches | | 0 | "were carved" | | 1 | "was lost" | | 2 | "being told" | | 3 | "been told" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 198 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 19 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 115 | | ratio | 0.096 | | matches | | 0 | "Not painfully — not yet — but with a low, insistent heat that had started the moment Rory stepped between the standing oaks and hadn't stopped since." | | 1 | "The wildflowers were still there — she could see hawthorn blossoms and something small and purple that she had no name for threading through the grass — but the light had shifted." | | 2 | "Through the canopy — oaks old enough that their branches had grown into one another overhead, forming a vault of tangled wood — she could see no sky." | | 3 | "\"Decoration implies intent. The boundary does not intend. It breathes.\" She turned and walked — leaving no impression in the soft earth beneath her feet, not even a bent stem — toward the far edge of the clearing where the trees grew most densely." | | 4 | "The oaks continued on either side, but the ground had changed — the soft grass giving way to stone, flat and fitted, worn smooth by age or traffic or something she didn't want to think about too hard." | | 5 | "Not decorated — not patterned — but covered in script so dense and fine that at first she'd mistaken it for wear." | | 6 | "They coiled over one another, and as the amber light shifted — it did shift, she was certain now, moving like light on water — some of them seemed to deepen." | | 7 | "Below — because the path dropped away sharply in a series of wide, shallow terraces — she could see gardens." | | 8 | "Water moved through the space in channels cut precisely into the stone, and the sound of it, barely audible from here, was the clearest thing she'd heard since entering the grove — a cool, clean trickle against everything else's warmth." | | 9 | "\"The grove is old. It has tasted worse.\" Isolde finally turned, and for the first time in Rory's limited experience with her, she looked directly at the Heartstone — not at Rory, at the pendant — with something unguarded in her face." | | 10 | "In this light, the deep crimson of the stone had gone darker, almost black at its core, and the warmth she'd been feeling through the fabric was now a visible thing — a slow, deep pulse of light with each heartbeat." |
| |
| 78.44% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1179 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 72 | | adverbRatio | 0.061068702290076333 | | lyAdverbCount | 28 | | lyAdverbRatio | 0.02374893977947413 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 115 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 115 | | mean | 12.62 | | std | 10.34 | | cv | 0.82 | | sampleLengths | | 0 | 3 | | 1 | 27 | | 2 | 26 | | 3 | 7 | | 4 | 40 | | 5 | 7 | | 6 | 15 | | 7 | 1 | | 8 | 7 | | 9 | 10 | | 10 | 11 | | 11 | 25 | | 12 | 32 | | 13 | 6 | | 14 | 14 | | 15 | 4 | | 16 | 14 | | 17 | 6 | | 18 | 2 | | 19 | 10 | | 20 | 1 | | 21 | 6 | | 22 | 5 | | 23 | 6 | | 24 | 3 | | 25 | 28 | | 26 | 10 | | 27 | 8 | | 28 | 2 | | 29 | 18 | | 30 | 20 | | 31 | 13 | | 32 | 23 | | 33 | 10 | | 34 | 4 | | 35 | 10 | | 36 | 3 | | 37 | 44 | | 38 | 10 | | 39 | 4 | | 40 | 16 | | 41 | 3 | | 42 | 22 | | 43 | 21 | | 44 | 4 | | 45 | 38 | | 46 | 6 | | 47 | 31 | | 48 | 9 | | 49 | 6 |
| |
| 66.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4260869565217391 | | totalSentences | 115 | | uniqueOpeners | 49 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 82 | | matches | | 0 | "Only that amber warmth pressing" | | 1 | "Somewhere deeper in the grove," | | 2 | "More like the resonance of" | | 3 | "More like a corridor." |
| | ratio | 0.049 | |
| 88.29% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 82 | | matches | | 0 | "She pressed two fingers against" | | 1 | "Their violet eyes moved constantly," | | 2 | "It came from no particular" | | 3 | "It simply existed, amber and" | | 4 | "She recognized that light." | | 5 | "She'd seen it twice before" | | 6 | "Her silver hair was loose" | | 7 | "Her pale lavender eyes tracked" | | 8 | "She turned and walked —" | | 9 | "She followed anyway." | | 10 | "Their voice, always that carried" | | 11 | "she called back, the word" | | 12 | "She glanced back over her" | | 13 | "She looked down at the" | | 14 | "They were carved, she realized." | | 15 | "They coiled over one another," | | 16 | "Their form had gone more" | | 17 | "She hadn't been." | | 18 | "She stepped more carefully after" | | 19 | "She felt her mouth water" |
| | ratio | 0.329 | |
| 63.66% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 65 | | totalSentences | 82 | | matches | | 0 | "The pendant burned." | | 1 | "She pressed two fingers against" | | 2 | "Nyx drifted alongside her, their" | | 3 | "Their violet eyes moved constantly," | | 4 | "Rory dropped her hand from" | | 5 | "The grove had changed since" | | 6 | "The wildflowers were still there" | | 7 | "It came from no particular" | | 8 | "It simply existed, amber and" | | 9 | "She recognized that light." | | 10 | "She'd seen it twice before" | | 11 | "The shadows around them deepened" | | 12 | "Rory looked up." | | 13 | "Isolde stood at the center" | | 14 | "Her silver hair was loose" | | 15 | "Her pale lavender eyes tracked" | | 16 | "Isolde's mouth curved." | | 17 | "She turned and walked —" | | 18 | "Rory glanced at Nyx." | | 19 | "Nyx had no face, precisely," |
| | ratio | 0.793 | |
| 60.98% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 82 | | matches | | 0 | "To recede into the stone" |
| | ratio | 0.012 | |
| 57.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 5 | | matches | | 0 | "Not painfully — not yet — but with a low, insistent heat that had started the moment Rory stepped between the standing oaks and hadn't stopped since." | | 1 | "Her pale lavender eyes tracked Rory first, then Nyx, then dropped briefly to the pendant with an expression that might have been satisfaction." | | 2 | "Rory turned sideways and pressed through, bark rough against her jacket, and emerged into something that wasn't quite a second clearing." | | 3 | "The amber light was stronger here, and the warmth that had been absent on her skin was now present, pressing in from all sides like standing too close to a hear…" | | 4 | "Isolde stood at the edge of the first terrace, looking out over the gardens with an expression that managed to be simultaneously reverent and deeply, profoundly…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 1 | | matches | | 0 | "she called back, the word falling cleanly through the warm air" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 2 | | fancyTags | | 0 | "she called back (call back)" | | 1 | "she corrected gently (correct)" |
| | dialogueSentences | 40 | | tagDensity | 0.325 | | leniency | 0.65 | | rawRatio | 0.154 | | effectiveRatio | 0.1 | |