| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.833 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 78.47% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1161 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "gently" | | 1 | "slowly" | | 2 | "very" |
| |
| 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) | |
| 44.01% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1161 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "resolved" | | 1 | "throb" | | 2 | "warmth" | | 3 | "could feel" | | 4 | "weight" | | 5 | "silence" | | 6 | "pulse" | | 7 | "stomach" | | 8 | "trembled" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 107 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 107 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 109 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 11 | | totalWords | 1179 | | ratio | 0.009 | | matches | | 0 | "tonight, before the moon fattens," | | 1 | "come" | | 2 | "meet" | | 3 | "take a step" | | 4 | "Malphora." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 12 | | wordCount | 1151 | | uniqueNames | 7 | | maxNameDensity | 0.26 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 1 | | Rory | 3 | | Eva | 3 | | Heartstone | 1 | | January | 2 | | Small | 1 | | Evan | 1 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Heartstone" | | 3 | "Evan" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 59.09% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 55 | | glossingSentenceCount | 2 | | matches | | 0 | "quite agreed" | | 1 | "not quite believe it" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1179 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 109 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 32 | | mean | 36.84 | | std | 31.2 | | cv | 0.847 | | sampleLengths | | 0 | 19 | | 1 | 104 | | 2 | 68 | | 3 | 29 | | 4 | 72 | | 5 | 12 | | 6 | 13 | | 7 | 82 | | 8 | 3 | | 9 | 54 | | 10 | 21 | | 11 | 4 | | 12 | 62 | | 13 | 51 | | 14 | 8 | | 15 | 71 | | 16 | 12 | | 17 | 3 | | 18 | 90 | | 19 | 12 | | 20 | 71 | | 21 | 7 | | 22 | 67 | | 23 | 60 | | 24 | 3 | | 25 | 54 | | 26 | 1 | | 27 | 9 | | 28 | 63 | | 29 | 5 | | 30 | 47 | | 31 | 2 |
| |
| 95.43% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 107 | | matches | | 0 | "been told" | | 1 | "being lit" | | 2 | "been laid" |
| |
| 28.18% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 194 | | matches | | 0 | "was still walking" | | 1 | "was watching" | | 2 | "was burning" | | 3 | "was moving" | | 4 | "were turning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 1 | | flaggedSentences | 11 | | totalSentences | 109 | | ratio | 0.101 | | matches | | 0 | "But the pendant had been pulsing since sundown — a slow, warm thump against her sternum like a second heartbeat — and the note in her jacket pocket had said *tonight, before the moon fattens,* and she had run out of excuses." | | 1 | "Wildflowers opened pale faces around her ankles — cornflower, foxglove, something she didn't have a name for — their colors muted to bone by the moonlight." | | 2 | "The grove was wider than it had looked from outside — that was how these places worked, Eva had warned her, the geometry sloppy, the edges folding — and she made for the low stone at the center where she'd been told to wait." | | 3 | "The pendant thumped, thumped, thumped against her collarbone; when she lifted it out of her shirt the crimson glow of it painted a faint bloody patch onto her jaw." | | 4 | "Time was wrong here — she could feel it going wrong, a slight loosening in her chest, like the second hand had come unseated." | | 5 | "She held the beam there until her arm started to shake, and then she lowered it, and the moment she lowered it she felt — and she would swear to this, afterward, in daylight, to Eva over a kettle that wouldn't stop whistling — she felt the mist *take a step*." | | 6 | "She could hear, she thought, something else's — slower, bigger, not hers — and she told herself it was the pendant and did not quite believe it." | | 7 | "She'd learned that, at least, from Evan — that the worst thing you could do when something was watching you was let it know you'd seen." | | 8 | "It shifted — weight from one foot to the other, if there were feet — and the wildflowers beneath it did not bend." | | 9 | "Her whole name, the one her mother used, and under that — fainter, wrong, tasted more than heard — another name she didn't know she knew." | | 10 | "The pendant gave one enormous pulse, like a fist in her chest, and in its red flare she saw — for half a second, no longer — that the shape under the oak was not one shape." |
| |
| 99.04% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 73 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 3 | | adverbRatio | 0.0410958904109589 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 109 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 109 | | mean | 10.82 | | std | 11.45 | | cv | 1.059 | | sampleLengths | | 0 | 19 | | 1 | 15 | | 2 | 17 | | 3 | 7 | | 4 | 23 | | 5 | 42 | | 6 | 27 | | 7 | 14 | | 8 | 6 | | 9 | 3 | | 10 | 1 | | 11 | 17 | | 12 | 5 | | 13 | 18 | | 14 | 2 | | 15 | 4 | | 16 | 4 | | 17 | 14 | | 18 | 26 | | 19 | 2 | | 20 | 12 | | 21 | 3 | | 22 | 11 | | 23 | 6 | | 24 | 1 | | 25 | 5 | | 26 | 2 | | 27 | 4 | | 28 | 7 | | 29 | 4 | | 30 | 44 | | 31 | 6 | | 32 | 14 | | 33 | 1 | | 34 | 2 | | 35 | 11 | | 36 | 3 | | 37 | 2 | | 38 | 2 | | 39 | 16 | | 40 | 34 | | 41 | 14 | | 42 | 7 | | 43 | 3 | | 44 | 1 | | 45 | 7 | | 46 | 1 | | 47 | 15 | | 48 | 29 | | 49 | 5 |
| |
| 55.05% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.41284403669724773 | | totalSentences | 109 | | uniqueOpeners | 45 | |
| 40.16% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 83 | | matches | | | ratio | 0.012 | |
| 51.33% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 35 | | totalSentences | 83 | | matches | | 0 | "She kept her torch low," | | 1 | "She'd told Eva she wouldn't" | | 2 | "She'd told herself, too, pacing" | | 3 | "It was January." | | 4 | "She had left January on" | | 5 | "Her own voice surprised her" | | 6 | "She hadn't expected one." | | 7 | "She stepped further in." | | 8 | "She forced it steady, swept" | | 9 | "It came from somewhere to" | | 10 | "She waited, and her breath" | | 11 | "She made it to the" | | 12 | "She tucked it away again." | | 13 | "She didn't like being lit." | | 14 | "Her own watch, when she" | | 15 | "It had read 11:42 when" | | 16 | "It read 11:42 now." | | 17 | "She swung the torch." | | 18 | "She held the beam there" | | 19 | "she said, louder" |
| | ratio | 0.422 | |
| 56.39% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 83 | | matches | | 0 | "The last bus from Richmond" | | 1 | "She kept her torch low," | | 2 | "She'd told Eva she wouldn't" | | 3 | "She'd told herself, too, pacing" | | 4 | "The standing stones resolved out" | | 5 | "Rory paused at the boundary." | | 6 | "The Heartstone gave a soft" | | 7 | "The temperature changed first." | | 8 | "A summer softness, grass against" | | 9 | "Wildflowers opened pale faces around" | | 10 | "That was the part that" | | 11 | "It was January." | | 12 | "She had left January on" | | 13 | "Her own voice surprised her" | | 14 | "She hadn't expected one." | | 15 | "The note had said *come*," | | 16 | "She stepped further in." | | 17 | "The grove was wider than" | | 18 | "The torch wobbled in her" | | 19 | "She forced it steady, swept" |
| | ratio | 0.807 | |
| 60.24% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 83 | | matches | | 0 | "As if someone had painted" |
| | ratio | 0.012 | |
| 69.60% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 39 | | technicalSentenceCount | 4 | | matches | | 0 | "A summer softness, grass against her boots that should have been iron-hard with frost." | | 1 | "She held the beam there until her arm started to shake, and then she lowered it, and the moment she lowered it she felt — and she would swear to this, afterward…" | | 2 | "The silence that replaced them was not silence at all: it was full, pressurized, the kind of quiet that a room takes on when someone has just stopped speaking a…" | | 3 | "She pressed her palm flat over it to smother the glow, and she felt the beat of it run up her wrist and into the small crescent scar there, that old childhood n…" |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 1 | | matches | | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 2 | | fancyTags | | 0 | "She'd (would)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 6 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0.5 | | effectiveRatio | 0.5 | |