| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 92.22% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1285 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 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) | |
| 22.18% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1285 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "familiar" | | 1 | "velvet" | | 2 | "silence" | | 3 | "stomach" | | 4 | "weight" | | 5 | "echoed" | | 6 | "measured" | | 7 | "rhythmic" | | 8 | "pulsed" | | 9 | "chill" | | 10 | "echo" | | 11 | "mechanical" | | 12 | "gloom" | | 13 | "silk" | | 14 | "lurch" |
| |
| 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 | 79 | | matches | (empty) | |
| 88.61% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 79 | | filterMatches | | | 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 | 59 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 1276 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 2 | | unquotedAttributions | 0 | | matches | (empty) | |
| 98.78% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 33 | | wordCount | 1269 | | uniqueNames | 17 | | maxNameDensity | 1.02 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 13 | | Richmond | 2 | | Park | 1 | | London | 1 | | Heathrow | 1 | | Grove | 2 | | October | 1 | | Golden | 1 | | Empress | 1 | | Silas | 1 | | Evan | 1 | | Cardiff | 1 | | Heartstone | 3 | | Hel | 1 | | Isolde | 1 | | Welsh | 1 | | Fae-touched | 1 |
| | persons | | 0 | "Rory" | | 1 | "Empress" | | 2 | "Silas" | | 3 | "Evan" | | 4 | "Heartstone" | | 5 | "Isolde" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "Heathrow" | | 4 | "Grove" | | 5 | "Golden" | | 6 | "Cardiff" |
| | globalScore | 0.988 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 66 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.351 | | wordCount | 1276 | | matches | | 0 | "not to chase ghosts on an empty stomach or a cold night, but Rory’s mind was not built for unanswered questions" | | 1 | "not the skitter of a vole or the heavy brush of a badger, but a deliberate, soft compression, as if something had matched" | | 2 | "not with the fluid grace of an animal, but with a series of jerky, segmented movements" |
| |
| 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 | 37 | | mean | 34.49 | | std | 25.94 | | cv | 0.752 | | sampleLengths | | 0 | 20 | | 1 | 76 | | 2 | 76 | | 3 | 81 | | 4 | 13 | | 5 | 46 | | 6 | 15 | | 7 | 2 | | 8 | 4 | | 9 | 50 | | 10 | 49 | | 11 | 13 | | 12 | 7 | | 13 | 54 | | 14 | 79 | | 15 | 7 | | 16 | 37 | | 17 | 24 | | 18 | 29 | | 19 | 58 | | 20 | 29 | | 21 | 16 | | 22 | 4 | | 23 | 61 | | 24 | 18 | | 25 | 48 | | 26 | 7 | | 27 | 65 | | 28 | 4 | | 29 | 16 | | 30 | 21 | | 31 | 79 | | 32 | 13 | | 33 | 79 | | 34 | 22 | | 35 | 14 | | 36 | 40 |
| |
| 91.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 79 | | matches | | 0 | "was built" | | 1 | "been left" | | 2 | "was gone" |
| |
| 23.63% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 189 | | matches | | 0 | "was twitching" | | 1 | "was standing" | | 2 | "were stretching" | | 3 | "was looking" | | 4 | "was already bending" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 2 | | flaggedSentences | 8 | | totalSentences | 80 | | ratio | 0.1 | | matches | | 0 | "A fraction of a second after her weight settled, a faint, papery rustle echoed from the briars to her left—not the skitter of a vole or the heavy brush of a badger, but a deliberate, soft compression, as if something had matched her stride and failed to stop in time." | | 1 | "Panic was an inefficient reaction; Evan had taught her that much during the long, suffocating years in Cardiff before she had finally packed a single duffel bag and run." | | 2 | "It woke when it brushed against the edges of a Hel portal—a tear in the fabric of the world where dead things and worse bled through." | | 3 | "The two realities were like oil and water; they did not share the same soil." | | 4 | "Time in the Grove was notoriously fluid—an hour spent under the canopy could translate to three minutes or three days on the streets of Richmond—but she had never seen mechanical movement seize entirely." | | 5 | "They were stretching inward, lengthening across the moss toward the center of the clearing—toward her boots." | | 6 | "It did not have eyes—at least none that caught the moonlight—but Rory felt the unmistakable, paralyzing weight of regard." | | 7 | "A long, pale limb—far too thin, jointed in places where human limbs possessed no hinges—extended from the canopy and hooked its grey-tipped digits into the bark of a lower branch." |
| |
| 82.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1287 | | adjectiveStacks | 3 | | stackExamples | | 0 | "familiar, mist-damp expanse" | | 1 | "strange, ink-heavy density." | | 2 | "speckled bell-shaped blooms" |
| | adverbCount | 43 | | adverbRatio | 0.03341103341103341 | | lyAdverbCount | 20 | | lyAdverbRatio | 0.01554001554001554 | |
| 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 | 15.95 | | std | 11.07 | | cv | 0.694 | | sampleLengths | | 0 | 20 | | 1 | 28 | | 2 | 32 | | 3 | 16 | | 4 | 8 | | 5 | 7 | | 6 | 26 | | 7 | 35 | | 8 | 6 | | 9 | 59 | | 10 | 16 | | 11 | 13 | | 12 | 31 | | 13 | 15 | | 14 | 4 | | 15 | 11 | | 16 | 2 | | 17 | 4 | | 18 | 50 | | 19 | 13 | | 20 | 29 | | 21 | 4 | | 22 | 3 | | 23 | 4 | | 24 | 9 | | 25 | 7 | | 26 | 19 | | 27 | 15 | | 28 | 20 | | 29 | 9 | | 30 | 7 | | 31 | 26 | | 32 | 5 | | 33 | 2 | | 34 | 15 | | 35 | 15 | | 36 | 7 | | 37 | 9 | | 38 | 28 | | 39 | 20 | | 40 | 4 | | 41 | 10 | | 42 | 3 | | 43 | 16 | | 44 | 6 | | 45 | 19 | | 46 | 33 | | 47 | 29 | | 48 | 16 | | 49 | 4 |
| |
| 56.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.4 | | totalSentences | 80 | | uniqueOpeners | 32 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 77 | | matches | | 0 | "Usually, it held the clean," | | 1 | "Then she felt it against" | | 2 | "Instead, she backed away from" | | 3 | "Slowly, without jerking her chin," |
| | ratio | 0.052 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 77 | | matches | | 0 | "She paused between the two" | | 1 | "She had come for an" | | 2 | "It was built to dissect," | | 3 | "She waited three heartbeats." | | 4 | "You measured exits." | | 5 | "It woke when it brushed" | | 6 | "she murmured under her breath," | | 7 | "Her voice fell flat, absorbed" | | 8 | "It didn't carry." | | 9 | "It died the moment it" | | 10 | "She looked down at her" | | 11 | "She decided then, with cool" | | 12 | "It had settled into the" | | 13 | "They were stretching inward, lengthening" | | 14 | "It was a dry, wooden" | | 15 | "It did not have eyes—at" | | 16 | "It was looking at her" | | 17 | "It simply leaned down, extending" | | 18 | "Her heel struck something solid" | | 19 | "She did not turn around" |
| | ratio | 0.273 | |
| 96.36% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 77 | | matches | | 0 | "The transition was always soundless," | | 1 | "She paused between the two" | | 2 | "Rory drew a slow breath" | | 3 | "The air in the Grove" | | 4 | "The flowers were there, crowding" | | 5 | "She had come for an" | | 6 | "A courier package addressed to" | | 7 | "It was built to dissect," | | 8 | "The path through the clearing" | | 9 | "Rory took another step." | | 10 | "The dry crunch of gravel" | | 11 | "She waited three heartbeats." | | 12 | "A fraction of a second" | | 13 | "Rory turned her head slowly," | | 14 | "Panic was an inefficient reaction;" | | 15 | "You measured exits." | | 16 | "The thicket was empty." | | 17 | "The silver-veined leaves hung motionless" | | 18 | "The thumbnail-sized crimson gem was" | | 19 | "A chill crawled up the" |
| | ratio | 0.727 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 77 | | matches | | 0 | "Now, three paces past the" | | 1 | "Now, a faint, rhythmic heat" |
| | ratio | 0.026 | |
| 28.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 50 | | technicalSentenceCount | 8 | | matches | | 0 | "She paused between the two ancient oak standing stones that marked the threshold, her hand coming up instinctively to trace the small crescent scar on her left …" | | 1 | "Usually, it held the clean, sharp scent of ancient loam and the dizzying sweetness of wildflowers that had no business blooming in the middle of October." | | 2 | "Overhead, the moon hung bloated and white, casting shadows that possessed a strange, ink-heavy density." | | 3 | "A fraction of a second after her weight settled, a faint, papery rustle echoed from the briars to her left—not the skitter of a vole or the heavy brush of a bad…" | | 4 | "It was looking at her the way an entomologist looks at a beetle pinned to cork board: with a detached, clinical interest that precluded any possibility of mercy…" | | 5 | "The clicking came again, faster this time, accompanied by a long, wet inhalation that dragged through the canopy like silk over gravel." | | 6 | "The shadow in the boughs shifted, not with the fluid grace of an animal, but with a series of jerky, segmented movements that made Rory’s stomach lurch." | | 7 | "She knew, with the cold and terrifying certainty that had kept her alive through the worst nights of her life, that whatever was behind her was already bending …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 1 | | effectiveRatio | 1 | |