| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said quietly [quietly]" |
| | dialogueSentences | 35 | | tagDensity | 0.486 | | leniency | 0.971 | | rawRatio | 0.059 | | effectiveRatio | 0.057 | |
| 86.63% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2243 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "very" | | 1 | "slightly" | | 2 | "slowly" |
| |
| 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) | |
| 68.79% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2243 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "comforting" | | 1 | "resolved" | | 2 | "sense of" | | 3 | "warmth" | | 4 | "pulse" | | 5 | "electric" | | 6 | "pulsed" | | 7 | "stomach" | | 8 | "lurched" | | 9 | "whisper" | | 10 | "almost alive" |
| |
| 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 | 91 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 91 | | filterMatches | (empty) | | hedgeMatches | | 0 | "tended to" | | 1 | "appeared to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 108 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 98 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2264 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 27 | | unquotedAttributions | 1 | | matches | | 0 | "Below, Dymas breathed its amber breath up the shaft, patient as a stomach, patient as the earth." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 1710 | | uniqueNames | 12 | | maxNameDensity | 0.99 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Isolde" | | discoveredNames | | Richmond | 2 | | Park | 2 | | December | 1 | | Cardiff | 3 | | Eva | 1 | | Isolde | 11 | | Nyx | 6 | | Heartstone | 2 | | Rory | 17 | | Fae | 2 | | Evan | 1 | | Dymas | 1 |
| | persons | | 0 | "Eva" | | 1 | "Isolde" | | 2 | "Nyx" | | 3 | "Rory" | | 4 | "Fae" | | 5 | "Evan" | | 6 | "Dymas" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Cardiff" | | 3 | "Heartstone" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 73 | | glossingSentenceCount | 5 | | matches | | 0 | "looked like the colour of the pendant's g" | | 1 | "not quite matching the shape of a person, as if the person they'd been had been a suggestion and this was an argument against it" | | 2 | "sounded like something being torn slowly i" | | 3 | "looked like appetite, though whether for" | | 4 | "looked like birch bark, and even sheathed" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 0.883 | | wordCount | 2264 | | matches | | 0 | "not cold but a rich, indolent heat, thick with the smell of roasting frui" | | 1 | "not a roar or a roar of voices, but a murmur, enormous" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 108 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 46 | | mean | 49.22 | | std | 43.84 | | cv | 0.891 | | sampleLengths | | 0 | 7 | | 1 | 126 | | 2 | 20 | | 3 | 56 | | 4 | 1 | | 5 | 22 | | 6 | 120 | | 7 | 58 | | 8 | 3 | | 9 | 18 | | 10 | 91 | | 11 | 11 | | 12 | 137 | | 13 | 13 | | 14 | 79 | | 15 | 12 | | 16 | 115 | | 17 | 60 | | 18 | 13 | | 19 | 6 | | 20 | 130 | | 21 | 7 | | 22 | 5 | | 23 | 23 | | 24 | 101 | | 25 | 13 | | 26 | 63 | | 27 | 4 | | 28 | 112 | | 29 | 2 | | 30 | 90 | | 31 | 7 | | 32 | 93 | | 33 | 12 | | 34 | 129 | | 35 | 59 | | 36 | 34 | | 37 | 93 | | 38 | 16 | | 39 | 7 | | 40 | 8 | | 41 | 78 | | 42 | 91 | | 43 | 53 | | 44 | 29 | | 45 | 37 |
| |
| 74.42% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 8 | | totalSentences | 91 | | matches | | 0 | "was carved" | | 1 | "was gone" | | 2 | "being torn" | | 3 | "been painted" | | 4 | "been drawn" | | 5 | "been painted" | | 6 | "was made" | | 7 | "was dug" | | 8 | "been eaten" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 260 | | matches | | 0 | "was staring" | | 1 | "was burning" | | 2 | "was laying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 1 | | flaggedSentences | 14 | | totalSentences | 108 | | ratio | 0.13 | | matches | | 0 | "Rory felt it the moment they left the deer path — a cold that had nothing to do with the December air, sliding under her jacket and finding the small crescent scar on her left wrist, which had ached like that once before, on the night she'd left Cardiff with nothing but a rucksack and Eva's address." | | 1 | "Not stone at all — oak, nine trunks of it, grey and seamless and older than the trees that grew around them, though nothing in Richmond Park should have been that old." | | 2 | "The little crimson gem had gone warm against her sternum — not the faint background warmth it had held since a benefactor she'd never met had pressed it into her hand in a cardboard box marked for delivery, but a steady low pulse, like a second heart keeping time with her own." | | 3 | "It fell on wildflowers — acres of them, nodding in a breeze she could not feel, blue and violet and a red so deep it looked like the colour of the pendant's glow made solid." | | 4 | "Rory's own passage crushed a small riot of them; she watched their petals spring back up after her boots, shaking themselves like offended cats, and pressed her lips together so she wouldn't laugh out loud at something that was very possibly a person." | | 5 | "A tower, Rory thought, and then: no — a trunk." | | 6 | "Roots made the ceiling — an interlocking weave of them, thick as a man's chest, and caught in the lattice were motes of that pearly light that drifted and pulsed like slow sleepers breathing." | | 7 | "She fixed her eyes on Nyx instead, who had gone solid at some point during the descent — six-foot-two of dense, light-drinking dark, their edges not quite matching the shape of a person, as if the person they'd been had been a suggestion and this was an argument against it." | | 8 | "Fae figures in procession — tall, slender, crowned with antler and branch, their faces averted, always averted, the way the artist had painted them as if to look on a full Fae face was not permitted." | | 9 | "She'd watched enough of it curl off Evan's cigarettes in the blue dark of a Cardiff kitchen to know how it moved, and this figure was made of it — a shape like a person with nothing inside, and where its face should have been, two round marks in a violet so faint the painter had despaired of mixing it." | | 10 | "It was pale stone over darkness, and in the centre of the hall — where the spirals converged, where the discs of black rock pointed their wrong-way turning — a shaft dropped away into warm amber light, faint and far below, and out of it came not cold but a rich, indolent heat, thick with the smell of roasting fruit and cut vine and something sweeter beneath, something that made her mouth fill with water even as every hair on her body stood up." | | 11 | "Below, the amber light breathed, and with it came a sound — not a roar or a roar of voices, but a murmur, enormous and drowsy and infinitely full, the noise of a feast that had been going on since the pit was dug and would not end until everything had been eaten." | | 12 | "\"There's a stair,\" she said, because there was — cut into the shaft's wall, spiralling down the way the great oak's stair had spiralled in, only this one was black stone and worn smooth as glass by something that had descended it over and over and over." | | 13 | "A dagger, slender and leaf-shaped, sheathed in leather so old it looked like birch bark, and even sheathed it was cold — Rory took it and hissed, the metal biting her palm through the wrap with a cold that felt almost alive." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 793 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small green patient things" |
| | adverbCount | 26 | | adverbRatio | 0.03278688524590164 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.006305170239596469 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 108 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 108 | | mean | 20.96 | | std | 18.87 | | cv | 0.9 | | sampleLengths | | 0 | 7 | | 1 | 57 | | 2 | 10 | | 3 | 29 | | 4 | 30 | | 5 | 6 | | 6 | 3 | | 7 | 11 | | 8 | 9 | | 9 | 12 | | 10 | 35 | | 11 | 1 | | 12 | 15 | | 13 | 7 | | 14 | 23 | | 15 | 32 | | 16 | 29 | | 17 | 36 | | 18 | 15 | | 19 | 23 | | 20 | 20 | | 21 | 3 | | 22 | 6 | | 23 | 12 | | 24 | 9 | | 25 | 6 | | 26 | 52 | | 27 | 24 | | 28 | 11 | | 29 | 4 | | 30 | 5 | | 31 | 32 | | 32 | 21 | | 33 | 35 | | 34 | 18 | | 35 | 22 | | 36 | 13 | | 37 | 11 | | 38 | 25 | | 39 | 43 | | 40 | 12 | | 41 | 5 | | 42 | 39 | | 43 | 10 | | 44 | 31 | | 45 | 30 | | 46 | 28 | | 47 | 32 | | 48 | 8 | | 49 | 5 |
| |
| 55.86% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.37962962962962965 | | totalSentences | 108 | | uniqueOpeners | 41 | |
| 40.16% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 83 | | matches | | 0 | "Somewhere, water moved over stone," |
| | ratio | 0.012 | |
| 80.24% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 83 | | matches | | 0 | "She shoved her hands into" | | 1 | "She'd learned not to phrase" | | 2 | "Her lavender eyes caught the" | | 3 | "Their bark was carved in" | | 4 | "Their shadow stretched toward the" | | 5 | "She didn't need to lift" | | 6 | "She thought of what Nyx" | | 7 | "She put one foot between" | | 8 | "It was not dramatic." | | 9 | "It fell on wildflowers —" | | 10 | "It had been cut, once." | | 11 | "She took her hand back." | | 12 | "Her stomach lurched." | | 13 | "She fixed her eyes on" | | 14 | "It sounded like something being" | | 15 | "They carried offerings toward a" | | 16 | "She'd watched enough of it" | | 17 | "she said quietly" | | 18 | "Their voice had gone thin" | | 19 | "It was pale stone over" |
| | ratio | 0.349 | |
| 50.36% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 68 | | totalSentences | 83 | | matches | | 0 | "The mist in Richmond Park" | | 1 | "Rory felt it the moment" | | 2 | "She shoved her hands into" | | 3 | "She'd learned not to phrase" | | 4 | "Her lavender eyes caught the" | | 5 | "Isolde smiled, and the mist" | | 6 | "The standing stones resolved out" | | 7 | "Their bark was carved in" | | 8 | "Rory counted nine and then" | | 9 | "Their shadow stretched toward the" | | 10 | "The violet eyes dimmed a" | | 11 | "Rory looked at the Heartstone" | | 12 | "She didn't need to lift" | | 13 | "The little crimson gem had" | | 14 | "She thought of what Nyx" | | 15 | "She put one foot between" | | 16 | "It was not dramatic." | | 17 | "That was the worst part." | | 18 | "It fell on wildflowers —" | | 19 | "The air tasted of turned" |
| | ratio | 0.819 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 83 | | matches | | 0 | "Now it was mostly root" | | 1 | "Before they began the descent," |
| | ratio | 0.024 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 14 | | matches | | 0 | "Rory felt it the moment they left the deer path — a cold that had nothing to do with the December air, sliding under her jacket and finding the small crescent s…" | | 1 | "Not stone at all — oak, nine trunks of it, grey and seamless and older than the trees that grew around them, though nothing in Richmond Park should have been th…" | | 2 | "Their bark was carved in shallow spirals that caught no moss, no lichen, as if the small green patient things of the world had agreed to keep their distance." | | 3 | "Somewhere, water moved over stone, unhurried, as though it had been doing this since the world was young and intended to continue." | | 4 | "Heads of pale blue turned to follow Isolde, who waded through them waist-deep at the meadow's edge and left not one stem bent behind her." | | 5 | "Rory's own passage crushed a small riot of them; she watched their petals spring back up after her boots, shaking themselves like offended cats, and pressed her…" | | 6 | "The grove's wildflowers grew out of its higher forks in drifting islands of colour, whole meadows in the sky, shedding petals that fell for a long time before t…" | | 7 | "She fixed her eyes on Nyx instead, who had gone solid at some point during the descent — six-foot-two of dense, light-drinking dark, their edges not quite match…" | | 8 | "Fae figures in procession — tall, slender, crowned with antler and branch, their faces averted, always averted, the way the artist had painted them as if to loo…" | | 9 | "It was pale stone over darkness, and in the centre of the hall — where the spirals converged, where the discs of black rock pointed their wrong-way turning — a …" | | 10 | "Below, the amber light breathed, and with it came a sound — not a roar or a roar of voices, but a murmur, enormous and drowsy and infinitely full, the noise of …" | | 11 | "A dagger, slender and leaf-shaped, sheathed in leather so old it looked like birch bark, and even sheathed it was cold — Rory took it and hissed, the metal biti…" | | 12 | "Rory looked at the blade, at the seer, at the dark shape of Nyx already standing at the top of the black stair with their shadow spilling downward ahead of them…" | | 13 | "Cold steel in her fist, a hot stone against her heart, and the light below brightening with every step as if the place below had noticed them, and was laying an…" |
| |
| 66.18% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 2 | | matches | | 0 | "Isolde smiled, and the mist curled around her like something glad to be touched" | | 1 | "Isolde said, and the meadow gave way to a stair" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 35 | | tagDensity | 0.314 | | leniency | 0.629 | | rawRatio | 0 | | effectiveRatio | 0 | |