| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 0 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 94.07% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1685 | | 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) | |
| 40.65% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1685 | | totalAiIsms | 20 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | word | "the last thing" | | count | 1 |
| | 13 | |
| | highlights | | 0 | "stomach" | | 1 | "pulse" | | 2 | "rhythmic" | | 3 | "warmth" | | 4 | "footsteps" | | 5 | "electric" | | 6 | "silk" | | 7 | "could feel" | | 8 | "pulsed" | | 9 | "lurch" | | 10 | "weight" | | 11 | "whisper" | | 12 | "the last thing" | | 13 | "silence" |
| |
| 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 | 101 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 101 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 101 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 72 | | ratio | 0 | | matches | (empty) | |
| 99.16% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 27 | | markdownWords | 84 | | totalWords | 1666 | | ratio | 0.05 | | matches | | 0 | "For the girl who carries the heart. Don't be late." | | 1 | "arranged" | | 2 | "don't be late" | | 3 | "waiting" | | 4 | "alive" | | 5 | "seen" | | 6 | "Not alone" | | 7 | "Never alone here. The Grove remembers. The Grove waits." | | 8 | "hungry" | | 9 | "moved" | | 10 | "existence" | | 11 | "hot" | | 12 | "noticed" | | 13 | "her" | | 14 | "She carries the key" | | 15 | "She carries the key, and the door is opening, and we have waited so long for someone to turn it." | | 16 | "kind" | | 17 | "welcoming" | | 18 | "meaning" | | 19 | "active" | | 20 | "Come back" | | 21 | "The Grove is patient. The Grove always waits. And you—you will always carry the heart." | | 22 | "hers" | | 23 | "Absent" | | 24 | "pulse" | | 25 | "claimed" | | 26 | "waiting" |
| |
| 53.57% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 2 | | matches | | 0 | "*She carries the key*, they said, or she thought they said, or the wind said it through branches that had no leaves." | | 1 | "*Come back*, they said." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 24 | | wordCount | 1644 | | uniqueNames | 8 | | maxNameDensity | 0.55 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Grove" | | discoveredNames | | Rory | 9 | | Richmond | 2 | | Park | 2 | | Heartstone | 1 | | December | 1 | | Grove | 7 | | London | 1 | | Eva | 1 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "December" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 62.28% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 57 | | glossingSentenceCount | 2 | | matches | | 0 | "spirals that seemed to turn when she wasn't looking directly at them" | | 1 | "appeared beneath her feet like a gift, like a joke, like a promise that could be broken at any moment" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 2.401 | | wordCount | 1666 | | matches | | 0 | "Not missing—present, but *arranged*, as if someone had laid it out with deliberate ca" | | 1 | "not electric, not fire, but something" | | 2 | "not fire, but something" | | 3 | "Not warm now—*hot*, burning against her chest, and Rory screamed, or would have, but the sound came out wrong, layered, as if her voice had joine" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 101 | | matches | | 0 | "admitting that some" | | 1 | "understand that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 35 | | mean | 47.6 | | std | 31.09 | | cv | 0.653 | | sampleLengths | | 0 | 80 | | 1 | 5 | | 2 | 58 | | 3 | 82 | | 4 | 11 | | 5 | 52 | | 6 | 55 | | 7 | 82 | | 8 | 3 | | 9 | 72 | | 10 | 68 | | 11 | 5 | | 12 | 102 | | 13 | 10 | | 14 | 88 | | 15 | 19 | | 16 | 2 | | 17 | 70 | | 18 | 88 | | 19 | 3 | | 20 | 68 | | 21 | 73 | | 22 | 42 | | 23 | 68 | | 24 | 65 | | 25 | 77 | | 26 | 19 | | 27 | 63 | | 28 | 49 | | 29 | 4 | | 30 | 42 | | 31 | 71 | | 32 | 52 | | 33 | 5 | | 34 | 13 |
| |
| 98.32% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 101 | | matches | | 0 | "was had" | | 1 | "being witnessed" | | 2 | "was gone" |
| |
| 77.90% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 273 | | matches | | 0 | "wasn't looking" | | 1 | "was cracking" | | 2 | "was looking" | | 3 | "was singing" | | 4 | "was still pulsing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 23 | | semicolonCount | 0 | | flaggedSentences | 19 | | totalSentences | 101 | | ratio | 0.188 | | matches | | 0 | "She'd found the address anyway—a converted stable, all black timber and warm light spilling from windows that shouldn't exist on any map she knew." | | 1 | "Not missing—present, but *arranged*, as if someone had laid it out with deliberate care." | | 2 | "Only the delivery bag at her hip, still holding the empty container from the stable, and the faint, rhythmic sound of water moving somewhere ahead—though no stream appeared on any map of Richmond Park." | | 3 | "Not footsteps—something softer, something that dragged." | | 4 | "The path curved, and ahead she saw light—not electric, not fire, but something that glowed with the soft luminescence of deep water, of things that lived where sunlight never reached." | | 5 | "Every variety she knew and dozens she didn't—bluebells in December, foxgloves with petals like bruised silk, something that glowed faintly white and turned its bloom to follow her movement." | | 6 | "That it had been waiting for this place, this moment, and that whatever had given it to her—whoever had left it on her pillow three nights ago with no note, no explanation—had known exactly where it would lead." | | 7 | "She had *seen* it, and her mind, which had spent twenty-five years building walls against superstition, against the stories her mother told her about the old ways, against the whispered warnings of a childhood spent in a country where the veil wore thin—her mind was cracking now, hairline fractures spreading, and through them something was looking out." | | 8 | "Not toward the path—she couldn't find it, the trees had shifted, the clearing was larger now or she was smaller, the distances wrong in ways that made her stomach lurch." | | 9 | "Colder than winter, colder than death, and when she pressed her palm against the nearest one—the one with spirals that turned, that *moved*, she was certain now, she could see them crawling like ants beneath the surface—the cold bit through her skin and into something deeper." | | 10 | "Not warm now—*hot*, burning against her chest, and Rory screamed, or would have, but the sound came out wrong, layered, as if her voice had joined a chorus, as if the Grove itself was singing through her throat." | | 11 | "Not clearly—never clearly, that was the mercy and the horror of it—but in the periphery, in the corners where vision failed, shapes that had been waiting since before her grandmother's grandmother drew breath." | | 12 | "She found the path by accident, or by desperation, or because the Grove allowed it—because it wanted her to leave, to carry the warmth of the pendant back into the world of streetlamps and delivery bags and the ordinary fears of ordinary nights." | | 13 | "And you—you will always carry the heart.*" | | 14 | "She ran until her lungs burned, until the trees thinned and the city sounds rushed back—a siren, a fox screaming, the ordinary music of a London night—and she did not stop, did not look back, did not dare to check whether the pendant had gone cold or was still pulsing, still warm, still *hers* or something else wearing her shape from the inside." | | 15 | "The door closed behind her and she leaned against it, gasping, and reached for the pendant—" | | 16 | "—and found it gone." | | 17 | "The chain still there, silver against her collarbone, but the crimson stone, the heart of it, the warmth, the *pulse*—gone." | | 18 | "Instead, she sat in the dark of her flat and listened to the silence, and in that silence she heard it—the sound of water moving, of many voices just below hearing, of something patient and ancient and *waiting* for her to understand that she had never been the delivery person at all." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1455 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 50 | | adverbRatio | 0.03436426116838488 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.008247422680412371 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 101 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 101 | | mean | 16.5 | | std | 16.28 | | cv | 0.987 | | sampleLengths | | 0 | 24 | | 1 | 24 | | 2 | 29 | | 3 | 3 | | 4 | 4 | | 5 | 1 | | 6 | 22 | | 7 | 22 | | 8 | 7 | | 9 | 7 | | 10 | 5 | | 11 | 14 | | 12 | 20 | | 13 | 4 | | 14 | 5 | | 15 | 34 | | 16 | 8 | | 17 | 2 | | 18 | 1 | | 19 | 52 | | 20 | 3 | | 21 | 15 | | 22 | 6 | | 23 | 31 | | 24 | 6 | | 25 | 6 | | 26 | 19 | | 27 | 2 | | 28 | 4 | | 29 | 45 | | 30 | 3 | | 31 | 3 | | 32 | 30 | | 33 | 12 | | 34 | 27 | | 35 | 5 | | 36 | 29 | | 37 | 6 | | 38 | 3 | | 39 | 25 | | 40 | 5 | | 41 | 11 | | 42 | 26 | | 43 | 5 | | 44 | 22 | | 45 | 38 | | 46 | 10 | | 47 | 2 | | 48 | 24 | | 49 | 5 |
| |
| 42.57% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.32673267326732675 | | totalSentences | 101 | | uniqueOpeners | 33 | |
| 73.26% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 91 | | matches | | 0 | "Only the delivery bag at" | | 1 | "Instead, she sat in the" |
| | ratio | 0.022 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 91 | | matches | | 0 | "She'd found the address anyway—a" | | 1 | "She'd almost turned back." | | 2 | "She'd told herself it was" | | 3 | "She'd told herself a lot" | | 4 | "She walked because the note" | | 5 | "She told herself the shadows" | | 6 | "She turned, and the darkness" | | 7 | "It did not move." | | 8 | "They should not have been" | | 9 | "It was winter." | | 10 | "She could feel winter in" | | 11 | "She stepped into the clearing." | | 12 | "It came from everywhere and" | | 13 | "She had *seen* it, and" | | 14 | "She ran toward the stones," | | 15 | "She saw them then." | | 16 | "*She carries the key*, they" | | 17 | "*She carries the key, and" | | 18 | "She found the path by" | | 19 | "She ran until her lungs" |
| | ratio | 0.297 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 64 | | totalSentences | 91 | | matches | | 0 | "The last delivery of the" | | 1 | "She'd found the address anyway—a" | | 2 | "The customer had paid in" | | 3 | "She'd almost turned back." | | 4 | "The Heartstone pendant at her" | | 5 | "She'd told herself it was" | | 6 | "She'd told herself a lot" | | 7 | "The path ahead was wrong." | | 8 | "Rory's phone had died at" | | 9 | "She walked because the note" | | 10 | "The trees thickened." | | 11 | "The flagstones gave way to" | | 12 | "Rory told herself it was" | | 13 | "She told herself the shadows" | | 14 | "A sound came from her" | | 15 | "She turned, and the darkness" | | 16 | "It did not move." | | 17 | "The pendant burned." | | 18 | "Rory walked faster." | | 19 | "The path curved, and ahead" |
| | ratio | 0.703 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 91 | | matches | | 0 | "Now she stood at the" | | 1 | "—and found it gone." |
| | ratio | 0.022 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 14 | | matches | | 0 | "She'd found the address anyway—a converted stable, all black timber and warm light spilling from windows that shouldn't exist on any map she knew." | | 1 | "Not missing—present, but *arranged*, as if someone had laid it out with deliberate care." | | 2 | "Flagstones, moss-softened, winding between oaks that grew too close together, their branches knitting overhead into a tunnel of black wood." | | 3 | "The flagstones gave way to packed earth, then to something that crunched like bone underfoot." | | 4 | "The path curved, and ahead she saw light—not electric, not fire, but something that glowed with the soft luminescence of deep water, of things that lived where …" | | 5 | "Every variety she knew and dozens she didn't—bluebells in December, foxgloves with petals like bruised silk, something that glowed faintly white and turned its …" | | 6 | "She had *seen* it, and her mind, which had spent twenty-five years building walls against superstition, against the stories her mother told her about the old wa…" | | 7 | "Colder than winter, colder than death, and when she pressed her palm against the nearest one—the one with spirals that turned, that *moved*, she was certain now…" | | 8 | "A woman's voice, singing, and the knowledge that this place had been a threshold for longer than human memory, longer than human *existence*, a door that opened…" | | 9 | "Not warm now—*hot*, burning against her chest, and Rory screamed, or would have, but the sound came out wrong, layered, as if her voice had joined a chorus, as …" | | 10 | "Not clearly—never clearly, that was the mercy and the horror of it—but in the periphery, in the corners where vision failed, shapes that had been waiting since …" | | 11 | "Tall things, and small things, and things that wore shapes like stolen clothes, and all of them turned toward the light, toward *her*, toward the heartbeat that…" | | 12 | "The clearing stretched in all directions, an impossible geometry of stone and flower and dark, and the things at its edges were closer now, their attention a ph…" | | 13 | "All of them, in unison, their blooms tracking her flight, and in their turning she heard the last thing, the thing that would keep her awake for nights to come,…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |