| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said aloud [aloud]" |
| | dialogueSentences | 6 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |
| 69.03% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1130 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "very" | | 1 | "slightly" | | 2 | "precisely" | | 3 | "gently" | | 4 | "softly" |
| |
| 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) | |
| 64.60% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1130 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "pulsed" | | 1 | "resolve" | | 2 | "footsteps" | | 3 | "echoes" | | 4 | "silence" | | 5 | "raced" |
| |
| 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 | 94 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 94 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 96 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 67 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1144 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 30 | | wordCount | 1128 | | uniqueNames | 12 | | maxNameDensity | 0.53 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Eva" | | discoveredNames | | Rory | 6 | | Heartstone | 1 | | Hel | 2 | | Grove | 5 | | Fae | 2 | | Eva | 6 | | Richmond | 1 | | Park | 1 | | Yu-Fei | 1 | | Silas | 3 | | November | 1 | | May | 1 |
| | persons | | 0 | "Rory" | | 1 | "Heartstone" | | 2 | "Eva" | | 3 | "Yu-Fei" | | 4 | "Silas" |
| | places | | 0 | "Hel" | | 1 | "Grove" | | 2 | "Fae" | | 3 | "Richmond" | | 4 | "Park" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 51 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1144 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 96 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 42.37 | | std | 34.73 | | cv | 0.82 | | sampleLengths | | 0 | 11 | | 1 | 98 | | 2 | 90 | | 3 | 107 | | 4 | 3 | | 5 | 84 | | 6 | 19 | | 7 | 75 | | 8 | 10 | | 9 | 34 | | 10 | 6 | | 11 | 45 | | 12 | 42 | | 13 | 33 | | 14 | 3 | | 15 | 61 | | 16 | 50 | | 17 | 98 | | 18 | 9 | | 19 | 17 | | 20 | 95 | | 21 | 3 | | 22 | 31 | | 23 | 71 | | 24 | 3 | | 25 | 34 | | 26 | 12 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 94 | | matches | | |
| 90.11% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 182 | | matches | | 0 | "was copying" | | 1 | "was looking" | | 2 | "were politely declining" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 1 | | flaggedSentences | 11 | | totalSentences | 96 | | ratio | 0.115 | | matches | | 0 | "The Heartstone only pulsed near Hel portals, and the Grove wasn't Hel — it was Fae, or so Eva had told her, back when Eva still told her anything at all." | | 1 | "In the dark the crimson gem glowed faintly, the way a coal glows after the fire is out, and against her skin it beat — slow, patient, like something asleep that had learned her heartbeat and was copying it." | | 2 | "She'd set her phone alarm for forty minutes and left the phone itself in her jacket's inner pocket, far from the pendant, because Yu-Fei had mentioned — in the offhand way she said things that turned out to be life-or-death — that the Fae Grove didn't like human timekeeping devices." | | 3 | "The change was immediate, the way stepping into a warm bath is immediate — a softness all along her skin, a hush." | | 4 | "That was her marker; Silas had been clear about that much." | | 5 | "Whatever she was looking for — a thread of Eva's, a trace of her passage — would be near the old tree." | | 6 | "And there, snagged on a root half-buried — a thread of blue wool." | | 7 | "But the flowers — she was sure of this, sure the way you're sure of your own name — the flowers had been leaning away from the wind that didn't exist, all bent in one direction like a crowd facing a stage." | | 8 | "Not a night bird — a blackbird, full daylight song, three bright rising notes." | | 9 | "She walked the circle once, fast, breath loud in her ears — the only thing in the Grove still making honest sound — and every tree stood identical to its neighbours, silver and crooked and blank." | | 10 | "Some animal part of her, older than reason, held her still, and the rest of her mind raced — forty minutes, in and out, the pendant, the thread in her pocket, the fact that the wrongness hadn't attacked her, hadn't breathed on her neck, had only clicked, only waited, the way something waits when it has all the time there is and yours is the currency being spent." |
| |
| 92.44% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1125 | | adjectiveStacks | 1 | | stackExamples | | 0 | "dense, knee-high drifts" |
| | adverbCount | 47 | | adverbRatio | 0.041777777777777775 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.011555555555555555 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 96 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 96 | | mean | 11.92 | | std | 12.46 | | cv | 1.046 | | sampleLengths | | 0 | 11 | | 1 | 6 | | 2 | 31 | | 3 | 22 | | 4 | 39 | | 5 | 7 | | 6 | 4 | | 7 | 50 | | 8 | 1 | | 9 | 2 | | 10 | 26 | | 11 | 27 | | 12 | 19 | | 13 | 25 | | 14 | 9 | | 15 | 2 | | 16 | 25 | | 17 | 3 | | 18 | 22 | | 19 | 3 | | 20 | 3 | | 21 | 8 | | 22 | 21 | | 23 | 3 | | 24 | 2 | | 25 | 22 | | 26 | 14 | | 27 | 5 | | 28 | 13 | | 29 | 29 | | 30 | 11 | | 31 | 22 | | 32 | 5 | | 33 | 5 | | 34 | 9 | | 35 | 12 | | 36 | 2 | | 37 | 1 | | 38 | 10 | | 39 | 4 | | 40 | 2 | | 41 | 10 | | 42 | 3 | | 43 | 32 | | 44 | 13 | | 45 | 4 | | 46 | 13 | | 47 | 2 | | 48 | 10 | | 49 | 7 |
| |
| 78.13% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.5 | | totalSentences | 96 | | uniqueOpeners | 48 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 77 | | matches | | 0 | "Too many echoes of it." | | 1 | "Of course it was empty." | | 2 | "Then, from behind the tree" |
| | ratio | 0.039 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 77 | | matches | | 0 | "She'd set her phone alarm" | | 1 | "They were massive, silver-barked, their" | | 2 | "It was November, and the" | | 3 | "she said aloud, because her" | | 4 | "She started across the grass." | | 5 | "Her footsteps made no sound." | | 6 | "She noticed it halfway there," | | 7 | "she said, quieter" | | 8 | "She turned around." | | 9 | "She stood, pocketing the thread," | | 10 | "She waited for the pause" | | 11 | "It didn't come." | | 12 | "Her phone read 11:47." | | 13 | "She'd been inside nine minutes." | | 14 | "She walked toward the gap" | | 15 | "She walked the circle once," | | 16 | "She put her hand against" | | 17 | "She didn't turn." |
| | ratio | 0.234 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 77 | | matches | | 0 | "The pendant was warm before" | | 1 | "That was wrong, for a" | | 2 | "The Heartstone only pulsed near" | | 3 | "Rory checked the stone anyway," | | 4 | "That was the warning." | | 5 | "She'd set her phone alarm" | | 6 | "The stones rose out of" | | 7 | "They were massive, silver-barked, their" | | 8 | "The air through the gap" | | 9 | "It was November, and the" | | 10 | "Rory stepped through." | | 11 | "The change was immediate, the" | | 12 | "The wind stopped." | | 13 | "Wildflowers carpeted the clearing in" | | 14 | "The light came from nowhere" | | 15 | "she said aloud, because her" | | 16 | "The clearing was maybe a" | | 17 | "That was her marker; Silas" | | 18 | "Whatever she was looking for" | | 19 | "She started across the grass." |
| | ratio | 0.649 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 77 | | matches | | 0 | "As if the Grove were" | | 1 | "As if, somewhere just past" | | 2 | "Now they stood upright." |
| | ratio | 0.039 | |
| 51.28% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 39 | | technicalSentenceCount | 5 | | matches | | 0 | "They were massive, silver-barked, their limbs bare and crooked, and between two of them hung a gap that was darker than the dark around it." | | 1 | "The light came from nowhere and everywhere, sourceless and even, the light of an overcast day that had somehow misplaced the sky." | | 2 | "As if, somewhere just past the edge of her hearing, someone else had exhaled at the same moment and slightly longer." | | 3 | "But the flowers — she was sure of this, sure the way you're sure of your own name — the flowers had been leaning away from the wind that didn't exist, all bent …" | | 4 | "A recording, a loop, something with the life ironed out of it, and it kept on with a persistence that stopped being beautiful after the sixth repetition and bec…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 1 | | matches | | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |