| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 1 | | adverbTags | | 0 | "Rory said softly [softly]" |
| | dialogueSentences | 8 | | tagDensity | 0.625 | | leniency | 1 | | rawRatio | 0.2 | | effectiveRatio | 0.2 | |
| 68.38% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1107 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "very" | | 1 | "softly" | | 2 | "suddenly" | | 3 | "perfectly" | | 4 | "slowly" | | 5 | "utterly" |
| |
| 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) | |
| 68.38% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1107 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "sentinels" | | 1 | "silence" | | 2 | "pulsed" | | 3 | "flicker" | | 4 | "throb" | | 5 | "quickened" |
| |
| 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 | 92 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 92 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 95 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 65 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 7 | | markdownWords | 45 | | totalWords | 1091 | | ratio | 0.041 | | matches | | 0 | "If you want to understand what you are, come to the grove at midnight. Come alone." | | 1 | "Cool head. Think." | | 2 | "do not look." | | 3 | "Of course they leaned," | | 4 | "They breathe with it. They've always breathed with it." | | 5 | "portal, portal, portal" | | 6 | "It feeds on the running. Don't run." |
| |
| 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 | 18 | | wordCount | 1044 | | uniqueNames | 10 | | maxNameDensity | 0.77 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 8 | | Park | 1 | | Fae | 1 | | Grove | 1 | | London | 1 | | October | 1 | | Heartstone | 1 | | Cardiff | 2 | | Eva | 1 | | Ellis | 1 |
| | persons | | | places | | 0 | "Park" | | 1 | "Fae" | | 2 | "Grove" | | 3 | "London" | | 4 | "Cardiff" | | 5 | "Ellis" |
| | 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 | 1091 | | matches | (empty) | |
| 26.32% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 95 | | matches | | 0 | "hated that it" | | 1 | "did that near" | | 2 | "knew that laugh" | | 3 | "know that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 32 | | mean | 34.09 | | std | 29.64 | | cv | 0.869 | | sampleLengths | | 0 | 13 | | 1 | 77 | | 2 | 9 | | 3 | 12 | | 4 | 86 | | 5 | 3 | | 6 | 18 | | 7 | 71 | | 8 | 11 | | 9 | 55 | | 10 | 44 | | 11 | 7 | | 12 | 60 | | 13 | 16 | | 14 | 20 | | 15 | 5 | | 16 | 61 | | 17 | 5 | | 18 | 65 | | 19 | 5 | | 20 | 3 | | 21 | 82 | | 22 | 13 | | 23 | 93 | | 24 | 13 | | 25 | 35 | | 26 | 29 | | 27 | 93 | | 28 | 36 | | 29 | 6 | | 30 | 26 | | 31 | 19 |
| |
| 93.82% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 92 | | matches | | 0 | "was gone" | | 1 | "been taught" | | 2 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 179 | | matches | | 0 | "was stretching" | | 1 | "was burning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 95 | | ratio | 0.147 | | matches | | 0 | "Richmond Park had been ordinary enough on the walk in—the smell of wet grass, the distant grind of traffic past the gates, a fox barking somewhere off toward the ponds." | | 1 | "Wildflowers bloomed everywhere despite it being the dead of October—foxglove and cornflower, primrose pale as bone, every petal lit from within by a light that came from nowhere." | | 2 | "She touched it through her shirt—the Heartstone, deep crimson, no bigger than her thumbnail." | | 3 | "She catalogued the clearing the way she'd been taught to catalogue a witness statement—for the things that didn't fit." | | 4 | "There was no wind, so why should they—but they leaned." | | 5 | "She caught the first one at the edge of her vision, low against the treeline—a shape that detached itself from the dark between two oaks and slid sideways, smooth as oil, and was gone before she could turn." | | 6 | "But the pendant flared—a hot little throb, almost a sting—and somewhere behind her, very softly, a child laughed." | | 7 | "It was Eva's, from when they were small, from the garden behind the Ellis house with the broken trampoline—a high, delighted, breathless giggle that Rory hadn't heard in twenty years because people don't laugh like that once they grow up." | | 8 | "Some animal part of her, older than her cleverness, locked her spine rigid and screamed *do not look.* She stared straight ahead at the standing stones, at the way out, and counted her own heartbeats, and the laugh came again—closer now, intimate, just over her right shoulder." | | 9 | "It was huge and slow and patient, and it surrounded her—it came from the trees, the flowers, the grey not-sky, as though the entire grove were one vast sleeping lung and she was a mote of dust caught at the back of its throat." | | 10 | "The grass beneath her boots was suddenly longer, wetter, coiling around her ankles, and the standing stones—which had been twenty feet away—were now thirty." | | 11 | "She made herself stand perfectly still in the long wet grass, in the breathing dark, and she did the only thing she could think to do—she did nothing." | | 12 | "She could see the suggestion of it in the corner of her eye—pale, narrow, wrong in its proportions, a height that bent at the wrong place." | | 13 | "Then, from the tall pale shape that she would not, would not turn to see, came a voice like wind through a keyhole—courteous, ancient, and delighted." |
| |
| 84.51% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1062 | | adjectiveStacks | 1 | | stackExamples | | 0 | "high, delighted, breathless giggle" |
| | adverbCount | 54 | | adverbRatio | 0.05084745762711865 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.014124293785310734 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 95 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 95 | | mean | 11.48 | | std | 11.79 | | cv | 1.027 | | sampleLengths | | 0 | 13 | | 1 | 32 | | 2 | 30 | | 3 | 1 | | 4 | 14 | | 5 | 2 | | 6 | 2 | | 7 | 2 | | 8 | 3 | | 9 | 12 | | 10 | 17 | | 11 | 28 | | 12 | 5 | | 13 | 6 | | 14 | 30 | | 15 | 3 | | 16 | 4 | | 17 | 14 | | 18 | 6 | | 19 | 14 | | 20 | 4 | | 21 | 16 | | 22 | 14 | | 23 | 17 | | 24 | 4 | | 25 | 7 | | 26 | 10 | | 27 | 2 | | 28 | 24 | | 29 | 19 | | 30 | 4 | | 31 | 10 | | 32 | 1 | | 33 | 8 | | 34 | 21 | | 35 | 4 | | 36 | 3 | | 37 | 38 | | 38 | 3 | | 39 | 1 | | 40 | 1 | | 41 | 6 | | 42 | 11 | | 43 | 10 | | 44 | 6 | | 45 | 2 | | 46 | 18 | | 47 | 5 | | 48 | 4 | | 49 | 40 |
| |
| 49.47% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.37894736842105264 | | totalSentences | 95 | | uniqueOpeners | 36 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 74 | | matches | | 0 | "Then she'd crossed the threshold" | | 1 | "*Of course they leaned,* she" | | 2 | "Then, from the tall pale" |
| | ratio | 0.041 | |
| 74.05% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 74 | | matches | | 0 | "She pressed through the gap" | | 1 | "Her voice didn't carry." | | 2 | "It dropped at her feet" | | 3 | "She'd come because of the" | | 4 | "She touched it through her" | | 5 | "It pulsed against her skin," | | 6 | "It only did that near" | | 7 | "She catalogued the clearing the" | | 8 | "She caught the first one" | | 9 | "She turned anyway." | | 10 | "she called, and hated how" | | 11 | "She knew that laugh." | | 12 | "It was Eva's, from when" | | 13 | "It came from directly behind" | | 14 | "She did not turn around." | | 15 | "It was huge and slow" | | 16 | "*They breathe with it." | | 17 | "They've always breathed with it.*" | | 18 | "She took a step toward" | | 19 | "She took another." |
| | ratio | 0.365 | |
| 81.62% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 74 | | matches | | 0 | "The note had said midnight," | | 1 | "She pressed through the gap" | | 2 | "Richmond Park had been ordinary" | | 3 | "Rory stood still and listened" | | 4 | "The Fae Grove unrolled before" | | 5 | "Wildflowers bloomed everywhere despite it" | | 6 | "Her voice didn't carry." | | 7 | "It dropped at her feet" | | 8 | "She'd come because of the" | | 9 | "The same elegant, slanting hand" | | 10 | "She touched it through her" | | 11 | "It pulsed against her skin," | | 12 | "That was wrong, too." | | 13 | "It only did that near" | | 14 | "Rory let her hand fall" | | 15 | "She catalogued the clearing the" | | 16 | "The flowers didn't move." | | 17 | "The light didn't flicker." | | 18 | "The shadows did." | | 19 | "She caught the first one" |
| | ratio | 0.757 | |
| 67.57% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 74 | | matches | | 0 | "*If you want to understand" |
| | ratio | 0.014 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 7 | | matches | | 0 | "Wildflowers bloomed everywhere despite it being the dead of October—foxglove and cornflower, primrose pale as bone, every petal lit from within by a light that …" | | 1 | "The same elegant, slanting hand that had once accompanied the pendant now warming against her sternum." | | 2 | "She catalogued the clearing the way she'd been taught to catalogue a witness statement—for the things that didn't fit." | | 3 | "A wet, contented sound, the sound of something that has been waiting a long time and is pleased." | | 4 | "It was huge and slow and patient, and it surrounded her—it came from the trees, the flowers, the grey not-sky, as though the entire grove were one vast sleeping…" | | 5 | "The grass beneath her boots was suddenly longer, wetter, coiling around her ankles, and the standing stones—which had been twenty feet away—were now thirty." | | 6 | "The clearing was stretching, opening, the treeline peeling back like a pupil dilating in the dark, and the more she walked the farther the way out receded, and …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 50.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 1 | | fancyTags | | 0 | "Rory whispered (whisper)" |
| | dialogueSentences | 8 | | tagDensity | 0.625 | | leniency | 1 | | rawRatio | 0.2 | | effectiveRatio | 0.2 | |