| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 85.75% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1053 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "slightly" | | 1 | "very" | | 2 | "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) | |
| 43.02% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1053 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "flickered" | | 1 | "warmth" | | 2 | "weight" | | 3 | "rhythmic" | | 4 | "echo" | | 5 | "pulse" | | 6 | "silence" |
| |
| 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 | 59 | | matches | | |
| 94.43% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 59 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 62 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 64 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1042 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 9 | | wordCount | 1024 | | uniqueNames | 5 | | maxNameDensity | 0.29 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 3 | | Silas | 3 | | Heartstone | 1 | | Tuesday | 1 | | Evan | 1 |
| | persons | | 0 | "Rory" | | 1 | "Silas" | | 2 | "Heartstone" | | 3 | "Evan" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 45 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like its own kind of warning" | | 1 | "seemed content to stay flowers" | | 2 | "quite place—not from the treeline, not from the ferns, but from somewhere closer, somewhere that made the hair along her arms lift despite the pendant's dead weight and her own dead calm" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.879 | | wordCount | 1042 | | matches | | 0 | "not near, but not far enough either" | | 1 | "not from the treeline, not from the ferns, but from somewhere closer, somewhere" | | 2 | "not from the ferns, but from somewhere closer, somewhere" |
| |
| 0.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 62 | | matches | | 0 | "took, that time" | | 1 | "up that she" | | 2 | "made that kind" | | 3 | "mentioned that name" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 24 | | mean | 43.42 | | std | 31.88 | | cv | 0.734 | | sampleLengths | | 0 | 51 | | 1 | 86 | | 2 | 44 | | 3 | 16 | | 4 | 60 | | 5 | 66 | | 6 | 11 | | 7 | 88 | | 8 | 13 | | 9 | 67 | | 10 | 3 | | 11 | 57 | | 12 | 1 | | 13 | 63 | | 14 | 26 | | 15 | 26 | | 16 | 114 | | 17 | 11 | | 18 | 3 | | 19 | 93 | | 20 | 61 | | 21 | 10 | | 22 | 26 | | 23 | 46 |
| |
| 93.37% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 59 | | matches | | 0 | "been arranged" | | 1 | "been closed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 173 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 62 | | ratio | 0.113 | | matches | | 0 | "The oaks marking the grove's edge stood black against a sky gone the colour of a bruise, and Rory counted them as she passed—one, two, three—the way her mother taught her to count sheep, except these weren't for sleeping." | | 1 | "Somewhere off to her left, a sound started up that she almost recognised—a rhythmic, wet clicking, like teeth chattering underwater—and then it stopped the second she turned her head toward it." | | 2 | "She walked the perimeter first, because that was what you did, wasn't it, in places like this—you mapped the edges before you trusted the middle." | | 3 | "A branch cracked somewhere behind her—not near, but not far enough either—and she spun, boots skidding slightly on grass that still refused to make a sound." | | 4 | "The flowers near her feet, the ones that had been closed tight, folded like fists—she was almost sure, wasn't she, that a moment ago there'd been more of them." | | 5 | "Low, even, patient, coming from a direction she couldn't quite place—not from the treeline, not from the ferns, but from somewhere closer, somewhere that made the hair along her arms lift despite the pendant's dead weight and her own dead calm." | | 6 | "The moon jumped again, and in the half-second flash of new light she caught something at the treeline—not moving, just there, tall and thin and wrong in its proportions, elbows too high, head tilted at an angle a neck shouldn't allow—and then the light shifted and it wasn't there, or she couldn't find it again, which struck her as somehow worse." |
| |
| 77.68% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1038 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 68 | | adverbRatio | 0.06551059730250482 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.008670520231213872 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 62 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 62 | | mean | 16.81 | | std | 14.17 | | cv | 0.843 | | sampleLengths | | 0 | 39 | | 1 | 12 | | 2 | 5 | | 3 | 6 | | 4 | 44 | | 5 | 31 | | 6 | 7 | | 7 | 37 | | 8 | 12 | | 9 | 4 | | 10 | 24 | | 11 | 6 | | 12 | 30 | | 13 | 21 | | 14 | 14 | | 15 | 31 | | 16 | 3 | | 17 | 8 | | 18 | 25 | | 19 | 24 | | 20 | 2 | | 21 | 37 | | 22 | 13 | | 23 | 7 | | 24 | 11 | | 25 | 49 | | 26 | 3 | | 27 | 26 | | 28 | 7 | | 29 | 24 | | 30 | 1 | | 31 | 26 | | 32 | 2 | | 33 | 35 | | 34 | 22 | | 35 | 4 | | 36 | 18 | | 37 | 8 | | 38 | 20 | | 39 | 11 | | 40 | 4 | | 41 | 29 | | 42 | 4 | | 43 | 6 | | 44 | 40 | | 45 | 4 | | 46 | 1 | | 47 | 6 | | 48 | 3 | | 49 | 10 |
| |
| 81.18% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.5161290322580645 | | totalSentences | 62 | | uniqueOpeners | 32 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 53 | | matches | | 0 | "Somewhere off to her left," | | 1 | "Just the black wall of" | | 2 | "Just a pulse, like something" |
| | ratio | 0.057 | |
| 69.06% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 53 | | matches | | 0 | "They were for knowing she" | | 1 | "She'd come for the pendant." | | 2 | "she said, mostly to hear" | | 3 | "They bloomed anyway, pale things" | | 4 | "She held the pendant in" | | 5 | "Her voice came out smaller" | | 6 | "She walked the perimeter first," | | 7 | "She'd glance at it near" | | 8 | "She'd have called it a" | | 9 | "She backed toward the centre" | | 10 | "She held it up, turned" | | 11 | "Her breath fogged in front" | | 12 | "It felt cold now." | | 13 | "she tried, because Silas mentioned" | | 14 | "She held very still." | | 15 | "She counted the hollows." | | 16 | "She didn't remember there being" | | 17 | "She'd learned, with Evan, how" | | 18 | "She did that now." | | 19 | "She turned for the standing" |
| | ratio | 0.377 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 38 | | totalSentences | 53 | | matches | | 0 | "The oaks marking the grove's" | | 1 | "They were for knowing she" | | 2 | "She'd come for the pendant." | | 3 | "That was the whole of" | | 4 | "Silas had said the grove" | | 5 | "Aurora didn't believe half of" | | 6 | "The grass didn't crunch under" | | 7 | "That was the first wrong" | | 8 | "she said, mostly to hear" | | 9 | "They bloomed anyway, pale things" | | 10 | "She held the pendant in" | | 11 | "The clearing opened the way" | | 12 | "Rory stopped at its edge" | | 13 | "Her voice came out smaller" | | 14 | "She walked the perimeter first," | | 15 | "The moon hung low and" | | 16 | "She'd glance at it near" | | 17 | "Something rustled in the ferns" | | 18 | "She'd have called it a" | | 19 | "Foxes made that kind of" |
| | ratio | 0.717 | |
| 94.34% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 53 | | matches | | | ratio | 0.019 | |
| 34.63% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 5 | | matches | | 0 | "Silas had said the grove sometimes gave back what it took, that time slipped sideways in there and maybe, just maybe, the pendant that had gone cold and lightle…" | | 1 | "She held the pendant in her fist, willing warmth into a stone that gave her nothing back, not even its usual faint glow, just a dead weight on a chain." | | 2 | "Just the black wall of oaks, and beyond them the darker wall of whatever wasn't oaks anymore the longer she looked, shapes that held still exactly as long as sh…" | | 3 | "Fewer as if something had gathered them up and taken them away while her back was turned, stem and root and all, leaving small dark hollows in the soft earth li…" | | 4 | "She turned for the standing stones without deciding to, her feet choosing for her the way they'd learned to choose back when choosing quickly had meant the diff…" |
| |
| 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 | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |