| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said quietly [quietly]" |
| | dialogueSentences | 4 | | tagDensity | 0.75 | | leniency | 1 | | rawRatio | 0.333 | | effectiveRatio | 0.333 | |
| 73.79% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 954 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "sweetly" | | 1 | "slowly" | | 2 | "slightly" | | 3 | "suddenly" |
| |
| 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) | |
| 73.79% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 954 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "pulse" | | 1 | "silence" | | 2 | "warmth" | | 3 | "pulsed" | | 4 | "measured" |
| |
| 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 | 90 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 90 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 91 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 65 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 8 | | totalWords | 962 | | ratio | 0.008 | | matches | | 0 | "The Grove. After dark. Alone. Bring the stone." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 13 | | wordCount | 954 | | uniqueNames | 9 | | maxNameDensity | 0.31 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Grove" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Grove | 2 | | Heartstone | 1 | | Pendant | 1 | | November | 2 | | English | 1 | | Evan | 1 | | Rory | 3 |
| | persons | | 0 | "Grove" | | 1 | "Pendant" | | 2 | "Evan" | | 3 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "November" |
| | globalScore | 1 | | windowScore | 1 | |
| 97.92% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 1 | | matches | | 0 | "not quite the warmth behind it" |
| |
| 96.05% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 1.04 | | wordCount | 962 | | matches | | 0 | "not painfully, but suddenly, the way a coal brightens" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 91 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 25.32 | | std | 25.69 | | cv | 1.015 | | sampleLengths | | 0 | 8 | | 1 | 54 | | 2 | 50 | | 3 | 41 | | 4 | 3 | | 5 | 72 | | 6 | 5 | | 7 | 16 | | 8 | 69 | | 9 | 4 | | 10 | 1 | | 11 | 2 | | 12 | 76 | | 13 | 7 | | 14 | 12 | | 15 | 3 | | 16 | 81 | | 17 | 4 | | 18 | 47 | | 19 | 28 | | 20 | 2 | | 21 | 31 | | 22 | 10 | | 23 | 73 | | 24 | 9 | | 25 | 4 | | 26 | 25 | | 27 | 4 | | 28 | 27 | | 29 | 22 | | 30 | 4 | | 31 | 66 | | 32 | 5 | | 33 | 34 | | 34 | 6 | | 35 | 50 | | 36 | 3 | | 37 | 4 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 90 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 164 | | matches | | 0 | "was arranging" | | 1 | "was coming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 91 | | ratio | 0.077 | | matches | | 0 | "That was always the first thing — the English winter simply stopped, as though she'd passed through a door into a room where autumn hadn't finished yet." | | 1 | "The ninth stone stood between two she knew — had always known — were adjacent." | | 2 | "The pendant flared warm against her chest — not painfully, but suddenly, the way a coal brightens when you blow on it." | | 3 | "The grain of it didn't match the local stone — it was too dark, too smooth, and its surface held faint impressions that might have been letters or might have been the shadows of letters, visible only at the edge of her direct gaze." | | 4 | "Behind her — close, maybe four metres — she heard breathing." | | 5 | "She turned back to the stone and this time kept her eyes fixed on it, refusing the urge to look at her peripheral vision where things kept suggesting themselves — a shape between two oaks that was probably just shadow, a pale curve above the tree line that was certainly just cloud, a reflection on the dewy grass that moved in a way reflections didn't move." | | 6 | "In the surface of it, in the grain she'd thought was too smooth to hold anything, she could see — not letters." |
| |
| 89.68% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 946 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 49 | | adverbRatio | 0.05179704016913319 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.014799154334038054 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 91 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 91 | | mean | 10.57 | | std | 10.64 | | cv | 1.007 | | sampleLengths | | 0 | 8 | | 1 | 23 | | 2 | 21 | | 3 | 10 | | 4 | 4 | | 5 | 3 | | 6 | 16 | | 7 | 19 | | 8 | 2 | | 9 | 2 | | 10 | 1 | | 11 | 3 | | 12 | 19 | | 13 | 22 | | 14 | 3 | | 15 | 4 | | 16 | 27 | | 17 | 19 | | 18 | 22 | | 19 | 5 | | 20 | 3 | | 21 | 4 | | 22 | 9 | | 23 | 8 | | 24 | 31 | | 25 | 5 | | 26 | 25 | | 27 | 1 | | 28 | 3 | | 29 | 1 | | 30 | 2 | | 31 | 15 | | 32 | 17 | | 33 | 8 | | 34 | 3 | | 35 | 5 | | 36 | 3 | | 37 | 21 | | 38 | 2 | | 39 | 2 | | 40 | 7 | | 41 | 12 | | 42 | 3 | | 43 | 22 | | 44 | 23 | | 45 | 2 | | 46 | 8 | | 47 | 26 | | 48 | 4 | | 49 | 29 |
| |
| 67.40% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.45054945054945056 | | totalSentences | 91 | | uniqueOpeners | 41 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 77 | | matches | | 0 | "Then silence thick enough to" | | 1 | "Of course it didn't move." | | 2 | "Once, like a fist knocking." |
| | ratio | 0.039 | |
| 69.35% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 77 | | matches | | 0 | "She checked her phone." | | 1 | "She'd told herself she wouldn't" | | 2 | "She pressed two fingers to" | | 3 | "She stepped through." | | 4 | "She moved toward the centre" | | 5 | "She turned slowly, taking stock." | | 6 | "She counted again." | | 7 | "It was slightly shorter than" | | 8 | "She stared at it for" | | 9 | "It didn't move." | | 10 | "She looked away, back toward" | | 11 | "Her voice came out steadier" | | 12 | "She looked down at it" | | 13 | "It was more like the" | | 14 | "She was not alone." | | 15 | "She knew this the way" | | 16 | "Her shoulders drew in." | | 17 | "She made herself unfold them." | | 18 | "she said, to the clearing," | | 19 | "She watched them." |
| | ratio | 0.377 | |
| 70.39% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 60 | | totalSentences | 77 | | matches | | 0 | "The standing stones were taller" | | 1 | "Rory stood at the edge" | | 2 | "The tree line ahead absorbed" | | 3 | "The Grove swallowed light the" | | 4 | "She checked her phone." | | 5 | "Quarter past midnight." | | 6 | "She'd told herself she wouldn't" | | 7 | "The Heartstone Pendant hung against" | | 8 | "She pressed two fingers to" | | 9 | "She stepped through." | | 10 | "The cold left first." | | 11 | "That was always the first" | | 12 | "Wildflowers caught the moonlight at" | | 13 | "The oaks that ringed the" | | 14 | "Rory stood still and listened." | | 15 | "A distant owl, once." | | 16 | "She moved toward the centre" | | 17 | "The grass here was soft" | | 18 | "She turned slowly, taking stock." | | 19 | "The stones stood at the" |
| | ratio | 0.779 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 77 | | matches | (empty) | | ratio | 0 | |
| 27.65% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 31 | | technicalSentenceCount | 5 | | matches | | 0 | "Handwritten on paper that smelled of earth and something sweetly wrong, like fruit left just a day too long." | | 1 | "Wildflowers caught the moonlight at her ankles, white and pale blue things that had no business blooming in November." | | 2 | "The grass here was soft in a way that felt almost deliberate, like a welcome mat laid out by something that understood the concept but not quite the warmth behi…" | | 3 | "The grain of it didn't match the local stone — it was too dark, too smooth, and its surface held faint impressions that might have been letters or might have be…" | | 4 | "She turned back to the stone and this time kept her eyes fixed on it, refusing the urge to look at her peripheral vision where things kept suggesting themselves…" |
| |
| 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 | 4 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |