| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 3 | | adverbTags | | 0 | "Her breath caught anyway [anyway]" | | 1 | "them — Eva hanging back [back]" | | 2 | "Nyx said softly [softly]" |
| | dialogueSentences | 27 | | tagDensity | 0.556 | | leniency | 1 | | rawRatio | 0.2 | | effectiveRatio | 0.2 | |
| 84.48% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1289 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "softly" | | 1 | "slowly" | | 2 | "perfectly" |
| |
| 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) | |
| 61.21% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1289 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "whisper" | | 1 | "gloom" | | 2 | "warmth" | | 3 | "weight" | | 4 | "footsteps" | | 5 | "silence" | | 6 | "trembled" |
| |
| 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 | 68 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 68 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 80 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1302 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 29 | | wordCount | 1113 | | uniqueNames | 8 | | maxNameDensity | 1.08 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Park | 1 | | London | 2 | | Heartstone | 1 | | English | 1 | | Eva | 3 | | Rory | 12 | | Nyx | 8 | | Fae | 1 |
| | persons | | 0 | "Heartstone" | | 1 | "Eva" | | 2 | "Rory" | | 3 | "Nyx" |
| | places | | | globalScore | 0.961 | | windowScore | 0.833 | |
| 8.49% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 53 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like faces if she let her eyes dri" | | 1 | "seemed colder as though it recognized where they were going" | | 2 | "not-quite hand closed around her wrist" |
| |
| 46.39% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.536 | | wordCount | 1302 | | matches | | 0 | "not in clusters, not in beds, but in drifts" | | 1 | "not in beds, but in drifts" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 80 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 33 | | mean | 39.45 | | std | 29.74 | | cv | 0.754 | | sampleLengths | | 0 | 10 | | 1 | 90 | | 2 | 69 | | 3 | 66 | | 4 | 5 | | 5 | 96 | | 6 | 52 | | 7 | 17 | | 8 | 118 | | 9 | 11 | | 10 | 46 | | 11 | 9 | | 12 | 20 | | 13 | 81 | | 14 | 6 | | 15 | 6 | | 16 | 43 | | 17 | 34 | | 18 | 9 | | 19 | 70 | | 20 | 22 | | 21 | 42 | | 22 | 19 | | 23 | 46 | | 24 | 30 | | 25 | 50 | | 26 | 3 | | 27 | 73 | | 28 | 11 | | 29 | 23 | | 30 | 58 | | 31 | 30 | | 32 | 37 |
| |
| 94.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 68 | | matches | | 0 | "was reflected" | | 1 | "being looked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 176 | | matches | | 0 | "were going" | | 1 | "was bleeding" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 1 | | flaggedSentences | 11 | | totalSentences | 80 | | ratio | 0.138 | | matches | | 0 | "Rory had expected something grander — an archway, maybe, or a curtain of light, the kind of thing that announced itself." | | 1 | "The Heartstone hung cool against her sternum, dormant now — no portal here, then, whatever else there was." | | 2 | "One foot fell on wet English grass and the next came down on something warmer, springier, and the sound of the city — that low constant hum she'd stopped hearing years ago — vanished as cleanly as if someone had closed a door." | | 3 | "Wildflowers grew everywhere — and not in clusters, not in beds, but in drifts and rivers of them, foxglove beside snowdrop beside something with petals like spun glass that she had no name for, blossoms that had no business sharing a season blooming shoulder to shoulder." | | 4 | "\"It's a snare.\" That was the third of them — Eva, hanging back near the stones with her arms crossed tight over her chest." | | 5 | "She glanced down once and saw, in the silver glow, that she left prints — dark crushed shapes pressing into the dewed green." | | 6 | "Nyx left nothing; shadows kept no weight." | | 7 | "The prints were too few — three, four of them, then nothing, as if whoever made them had simply stopped existing in the middle of a stride." | | 8 | "Once Rory heard music — pipes, high and aching, somewhere off to the left — and she turned toward it before Nyx's cold not-quite-hand closed around her wrist." | | 9 | "The path — and it was a path now, the wildflowers thinning to either side of a corridor of moss so soft and deep it swallowed her ankles — bent around a great fallen oak, its trunk wider than a car, and beyond it the land opened into a clearing." | | 10 | "Out across the still water, the reflected moon trembled once, as though something had passed in front of it — and there had been nothing in the sky to pass." |
| |
| 94.58% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1104 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 51 | | adverbRatio | 0.04619565217391304 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.012681159420289856 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 80 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 80 | | mean | 16.27 | | std | 10.9 | | cv | 0.67 | | sampleLengths | | 0 | 10 | | 1 | 21 | | 2 | 36 | | 3 | 21 | | 4 | 12 | | 5 | 5 | | 6 | 23 | | 7 | 23 | | 8 | 8 | | 9 | 10 | | 10 | 4 | | 11 | 18 | | 12 | 13 | | 13 | 27 | | 14 | 4 | | 15 | 5 | | 16 | 4 | | 17 | 43 | | 18 | 8 | | 19 | 11 | | 20 | 30 | | 21 | 11 | | 22 | 24 | | 23 | 17 | | 24 | 17 | | 25 | 12 | | 26 | 27 | | 27 | 46 | | 28 | 9 | | 29 | 24 | | 30 | 11 | | 31 | 24 | | 32 | 8 | | 33 | 14 | | 34 | 9 | | 35 | 20 | | 36 | 9 | | 37 | 23 | | 38 | 7 | | 39 | 31 | | 40 | 11 | | 41 | 6 | | 42 | 4 | | 43 | 2 | | 44 | 2 | | 45 | 27 | | 46 | 14 | | 47 | 10 | | 48 | 24 | | 49 | 9 |
| |
| 88.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.5375 | | totalSentences | 80 | | uniqueOpeners | 43 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 61 | | matches | | 0 | "Instead there were only the" | | 1 | "Once Rory heard music —" |
| | ratio | 0.033 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 61 | | matches | | 0 | "Their voice arrived the way" | | 1 | "Their violet eyes were the" | | 2 | "She wrapped her fingers around" | | 3 | "She stepped between the stones." | | 4 | "She turned to look behind" | | 5 | "They had a shape now," | | 6 | "Her breath caught anyway, because" | | 7 | "It was night here too," | | 8 | "she said, and hated how" | | 9 | "Her friend's face had gone" | | 10 | "She glanced down once and" | | 11 | "They went on." | | 12 | "She pulled free, rubbing the" | | 13 | "She slid it back into" | | 14 | "they said, and for the" | | 15 | "she said, and stepped out" |
| | ratio | 0.262 | |
| 66.56% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 61 | | matches | | 0 | "The standing stones came out" | | 1 | "Rory had expected something grander" | | 2 | "Richmond Park lay behind her," | | 3 | "Their voice arrived the way" | | 4 | "Their violet eyes were the" | | 5 | "The Heartstone hung cool against" | | 6 | "She wrapped her fingers around" | | 7 | "The moonsilver was cold even" | | 8 | "Isolde's gift, coming home." | | 9 | "She stepped between the stones." | | 10 | "The change wasn't gradual." | | 11 | "Rory's ears rang with the" | | 12 | "She turned to look behind" | | 13 | "Nyx said, materializing into something" | | 14 | "They had a shape now," | | 15 | "Her breath caught anyway, because" | | 16 | "It was night here too," | | 17 | "Wildflowers grew everywhere — and" | | 18 | "Spring and autumn and high" | | 19 | "The smell of them was" |
| | ratio | 0.787 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 61 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 38 | | technicalSentenceCount | 8 | | matches | | 0 | "Rory had expected something grander — an archway, maybe, or a curtain of light, the kind of thing that announced itself." | | 1 | "In the gloom they were barely more than a deeper patch of night, a tall smear of shadow that shifted at the edges." | | 2 | "The moonsilver was cold even through the leather wrap, the way it always was, but tonight it seemed colder, as though it recognized where they were going." | | 3 | "One foot fell on wet English grass and the next came down on something warmer, springier, and the sound of the city — that low constant hum she'd stopped hearin…" | | 4 | "There were the oaks, yes, but beyond them was only more grove, more impossible green, folding away into a soft luminous distance that had no London in it at all…" | | 5 | "Wildflowers grew everywhere — and not in clusters, not in beds, but in drifts and rivers of them, foxglove beside snowdrop beside something with petals like spu…" | | 6 | "The light shifted as they moved, never brightening, never dimming, but changing its angle in a way that made the shadows of the wildflowers wheel slowly around …" | | 7 | "The screen was a smear of meaningless light, the numbers crawling, 11:04 dissolving into 11:04 dissolving into something that wasn't a time at all." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 38.89% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 3 | | fancyTags | | 0 | "Rory muttered (mutter)" | | 1 | "Nyx murmured (murmur)" | | 2 | "Rory whispered (whisper)" |
| | dialogueSentences | 27 | | tagDensity | 0.407 | | leniency | 0.815 | | rawRatio | 0.273 | | effectiveRatio | 0.222 | |