| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 92.90% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2114 | | totalAiIsmAdverbs | 3 | | found | | 0 | | | 1 | | adverb | "deliberately" | | count | 1 |
| | 2 | |
| | highlights | | 0 | "very" | | 1 | "deliberately" | | 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) | |
| 29.04% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2114 | | totalAiIsms | 30 | | found | | | highlights | | 0 | "warmth" | | 1 | "silence" | | 2 | "pulse" | | 3 | "pulsed" | | 4 | "flickered" | | 5 | "velvet" | | 6 | "quickened" | | 7 | "echo" | | 8 | "echoes" | | 9 | "furrowed" | | 10 | "stomach" | | 11 | "aligned" | | 12 | "weight" | | 13 | "measured" | | 14 | "could feel" | | 15 | "resonated" | | 16 | "charged" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 175 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 175 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 178 | | 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 | 4 | | markdownWords | 62 | | totalWords | 2139 | | ratio | 0.029 | | matches | | 0 | "Come at the dark of the moon. Come without companions. The Grove remembers debts, Aurora. It will not open for a crowd." | | 1 | "hello" | | 2 | "The oaks that are not oaks. They stood before the Romans and they will stand after the last light goes out. Walk between them and the Grove will decide if you deserve entry." | | 3 | "a breath caught between two worlds" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 2 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 39 | | wordCount | 2131 | | uniqueNames | 18 | | maxNameDensity | 0.42 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 3 | | Heartstone | 2 | | Isolde | 5 | | Golden | 1 | | Empress | 1 | | Isabella | 1 | | Plantation | 1 | | October | 1 | | Grove | 6 | | Aurora | 1 | | Park | 2 | | Romans | 1 | | Rory | 9 | | District | 1 | | English | 1 | | Welsh | 1 | | Cardiff | 1 | | Fae | 1 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Golden" | | 2 | "Isabella" | | 3 | "Plantation" | | 4 | "Grove" | | 5 | "Park" | | 6 | "Cardiff" | | 7 | "Fae" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 103 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.468 | | wordCount | 2139 | | matches | | 0 | "not the shape but the knowledge of the shape, the certainty" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 178 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 45.51 | | std | 28.02 | | cv | 0.616 | | sampleLengths | | 0 | 97 | | 1 | 45 | | 2 | 55 | | 3 | 55 | | 4 | 3 | | 5 | 78 | | 6 | 34 | | 7 | 4 | | 8 | 78 | | 9 | 45 | | 10 | 1 | | 11 | 51 | | 12 | 63 | | 13 | 72 | | 14 | 58 | | 15 | 72 | | 16 | 65 | | 17 | 66 | | 18 | 88 | | 19 | 41 | | 20 | 8 | | 21 | 47 | | 22 | 7 | | 23 | 73 | | 24 | 1 | | 25 | 30 | | 26 | 55 | | 27 | 2 | | 28 | 63 | | 29 | 71 | | 30 | 55 | | 31 | 6 | | 32 | 30 | | 33 | 9 | | 34 | 86 | | 35 | 7 | | 36 | 69 | | 37 | 48 | | 38 | 60 | | 39 | 54 | | 40 | 10 | | 41 | 73 | | 42 | 53 | | 43 | 13 | | 44 | 65 | | 45 | 69 | | 46 | 4 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 175 | | matches | | 0 | "was covered" | | 1 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 305 | | matches | | 0 | "was screaming" | | 1 | "was retreating" | | 2 | "was opening" | | 3 | "was circling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 34 | | semicolonCount | 0 | | flaggedSentences | 27 | | totalSentences | 178 | | ratio | 0.152 | | matches | | 0 | "She had memorized the route from the hand-drawn map Isolde had left folded inside a takeaway napkin at the Golden Empress — third oak past the Isabella Plantation fence, then due north until the ground softened." | | 1 | "Not underfoot — further off, among the bracken." | | 2 | "Wind sifted through the canopy with a papery rattle, and beneath it — nothing." | | 3 | "The crimson stone had its own vocabulary — warmth for proximity, cold for danger, and a strange vibrationless hum when it wanted her attention for reasons she hadn't yet catalogued." | | 4 | "She felt it before she saw it — gravel giving way to loam, then to something springy and damp that swallowed the sound of her boots." | | 5 | "She held it up and saw her own reflection in the glass, blue eyes wide and unblinking, and behind her reflection — movement." | | 6 | "Not an echo — Richmond Park was too open for echoes — but a return, as if something had caught the word and handed it back to her with the inflection changed." | | 7 | "She had read about them — or rather, she had read Isolde's oblique descriptions, scattered through three separate napkin notes like a scavenger hunt designed by someone who found clarity personally offensive." | | 8 | "She walked forward because she had promised, and because promises meant something in the places between worlds — Isolde had been very clear about that." | | 9 | "She felt the change in the air before she understood it — a dampness, floral and green, the smell of growing things in a season that should have killed them." | | 10 | "Not warmth now — a spike of heat so sudden she gasped and pulled the chain away from her skin." | | 11 | "Its surface was covered in grooves she wanted to call natural — the whorls and fissures of a tree that had grown for centuries — but they aligned too neatly, curved too deliberately." | | 12 | "In the space where the Grove should have been — that hidden clearing Isolde had described as *a breath caught between two worlds* — something stood." | | 13 | "Not cool — cold, the kind of cold that burns, that makes fingers clumsy and slow." | | 14 | "She heard it — a long, measured breath released from lungs that were not hers, from a mouth she couldn't see, close enough that if there had been warmth behind it she would have felt it on her face." | | 15 | "Every instinct she had was screaming in two directions at once — run and stay, flee and freeze — and the contradiction locked her in place as effectively as a hand on her collar." | | 16 | "Not moved — shifted, the way a picture shifts when you adjust the angle of the frame." | | 17 | "She caught the suggestion of limbs — too many, and too long, bending at joints that had no anatomical basis — before it settled again into that pillar of focused attention." | | 18 | "She felt them before she saw them — soft petals brushing against her ankles, stalks rising through the moss with a sound like whispered conversation." | | 19 | "It caught the petals closest to her boots — white bellflower, purple foxglove, flowers she couldn't name with colors she had no words for, all opening in a tide that swept outward from where she stood toward the standing stones and beyond." | | 20 | "She could feel it — a change in pressure, like the pop of altitude in an airplane cabin, and with it a sound so faint she wasn't sure she heard it at all." | | 21 | "The pendant swung on its chain, pointing straight ahead through the gap between the first and second stones, and its light caught something she hadn't seen before — a path, narrow and worn, leading into the clearing." | | 22 | "The standing stones passed on either side, their carved surfaces catching the pendant's light in fragments — a curve here, a straight line there, symbols that tugged at comprehension without granting it." | | 23 | "But the world tilted on an axis she couldn't name, and for a disorienting moment she stood on the skin of something vast and breathing, a landscape that was also a living thing, and the sky above her — she could see the sky now, though it held no moon and no stars she recognized — was the color of old bruises, purple-black and faintly luminous." | | 24 | "The pendant pulsed once — warm, steady, almost reassuring — and went still." | | 25 | "She felt it without looking — the closure, the quiet click of a lock turning in a door she could no longer see." | | 26 | "A third time, directly ahead, between her and the silver tree, and this time she saw the flowers part and close as something moved through them — something that left no trail and cast no shadow and disturbed nothing except the blossoms it passed through." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 2106 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 65 | | adverbRatio | 0.030864197530864196 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.0052231718898385565 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 178 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 178 | | mean | 12.02 | | std | 11.51 | | cv | 0.958 | | sampleLengths | | 0 | 17 | | 1 | 27 | | 2 | 36 | | 3 | 4 | | 4 | 13 | | 5 | 5 | | 6 | 3 | | 7 | 9 | | 8 | 13 | | 9 | 3 | | 10 | 5 | | 11 | 7 | | 12 | 7 | | 13 | 8 | | 14 | 18 | | 15 | 3 | | 16 | 8 | | 17 | 1 | | 18 | 7 | | 19 | 3 | | 20 | 5 | | 21 | 14 | | 22 | 3 | | 23 | 2 | | 24 | 31 | | 25 | 3 | | 26 | 18 | | 27 | 2 | | 28 | 2 | | 29 | 13 | | 30 | 7 | | 31 | 30 | | 32 | 4 | | 33 | 1 | | 34 | 1 | | 35 | 4 | | 36 | 26 | | 37 | 1 | | 38 | 3 | | 39 | 4 | | 40 | 9 | | 41 | 18 | | 42 | 6 | | 43 | 5 | | 44 | 1 | | 45 | 23 | | 46 | 16 | | 47 | 3 | | 48 | 15 | | 49 | 4 |
| |
| 44.38% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.28651685393258425 | | totalSentences | 178 | | uniqueOpeners | 51 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 153 | | matches | | 0 | "Just that steady, tidal pulse," | | 1 | "Then her torch flickered." | | 2 | "Just that impossible warmth fading" | | 3 | "Just absorption, as if the" | | 4 | "Then the wildflowers at her" | | 5 | "Then again, to her left." |
| | ratio | 0.039 | |
| 99.74% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 46 | | totalSentences | 153 | | matches | | 0 | "She had memorized the route" | | 1 | "She shouldn't have come alone." | | 2 | "She knew that." | | 3 | "It will not open for" | | 4 | "She swept the torch in" | | 5 | "She counted to thirty, listening." | | 6 | "She kept moving." | | 7 | "She had learned not to" | | 8 | "She felt it before she" | | 9 | "She was close." | | 10 | "She thumbed the power button." | | 11 | "She held it up and" | | 12 | "She could see nothing." | | 13 | "She could hear her own" | | 14 | "Her voice came back wrong." | | 15 | "She took a step backward." | | 16 | "Her heel found a root" | | 17 | "She pulled her hand away" | | 18 | "She had read about them" | | 19 | "They stood before the Romans" |
| | ratio | 0.301 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 109 | | totalSentences | 153 | | matches | | 0 | "The last bus from Richmond" | | 1 | "Rory walked the gravel path" | | 2 | "She had memorized the route" | | 3 | "She shouldn't have come alone." | | 4 | "She knew that." | | 5 | "Eva would have said so," | | 6 | "The Grove remembers debts, Aurora." | | 7 | "It will not open for" | | 8 | "A branch cracked somewhere to" | | 9 | "The sound was sharp, deliberate," | | 10 | "Rory stopped walking." | | 11 | "She swept the torch in" | | 12 | "The pale scar of a" | | 13 | "Nothing that moved." | | 14 | "She counted to thirty, listening." | | 15 | "Wind sifted through the canopy" | | 16 | "Richmond Park at night should" | | 17 | "She kept moving." | | 18 | "The pendant grew warmer with" | | 19 | "She had learned not to" |
| | ratio | 0.712 | |
| 32.68% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 153 | | matches | | 0 | "As if whatever stood in" |
| | ratio | 0.007 | |
| 55.98% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 74 | | technicalSentenceCount | 9 | | matches | | 0 | "She had read about them — or rather, she had read Isolde's oblique descriptions, scattered through three separate napkin notes like a scavenger hunt designed by…" | | 1 | "She felt the change in the air before she understood it — a dampness, floral and green, the smell of growing things in a season that should have killed them." | | 2 | "Not cool — cold, the kind of cold that burns, that makes fingers clumsy and slow." | | 3 | "She caught the suggestion of limbs — too many, and too long, bending at joints that had no anatomical basis — before it settled again into that pillar of focuse…" | | 4 | "It caught the petals closest to her boots — white bellflower, purple foxglove, flowers she couldn't name with colors she had no words for, all opening in a tide…" | | 5 | "Something older, embedded in the stone and the soil and the impossible flowers, a frequency that resonated in the spaces between her ribs." | | 6 | "The standing stones passed on either side, their carved surfaces catching the pendant's light in fragments — a curve here, a straight line there, symbols that t…" | | 7 | "But the world tilted on an axis she couldn't name, and for a disorienting moment she stood on the skin of something vast and breathing, a landscape that was als…" | | 8 | "Wildflowers in every direction, knee-high and trembling, and at the center of the clearing a single tree that was not an oak, was not any species she could name…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |