| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 1 | | adverbTags | | 0 | "the voice replied instantly [instantly]" |
| | dialogueSentences | 5 | | tagDensity | 0.8 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |
| 86.12% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1441 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "quickly" | | 1 | "very" | | 2 | "perfectly" | | 3 | "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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1441 | | totalAiIsms | 39 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | | 20 | | | 21 | | | 22 | | | 23 | | | 24 | | | 25 | |
| | highlights | | 0 | "silk" | | 1 | "chill" | | 2 | "comforting" | | 3 | "silence" | | 4 | "weight" | | 5 | "sanctuary" | | 6 | "velvet" | | 7 | "parameters" | | 8 | "footsteps" | | 9 | "firmly" | | 10 | "scanning" | | 11 | "flickered" | | 12 | "dancing" | | 13 | "synchronized" | | 14 | "rhythmic" | | 15 | "resonance" | | 16 | "pulse" | | 17 | "warmth" | | 18 | "pristine" | | 19 | "perfect" | | 20 | "flawless" | | 21 | "echoed" | | 22 | "searing" | | 23 | "tracing" | | 24 | "racing" | | 25 | "could feel" |
| |
| 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 | 117 | | matches | (empty) | |
| 81.81% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 5 | | narrationSentences | 117 | | filterMatches | (empty) | | hedgeMatches | | 0 | "began to" | | 1 | "seemed to" | | 2 | "tried to" | | 3 | "managed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 118 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1430 | | ratio | 0 | | matches | (empty) | |
| 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 | 31 | | wordCount | 1420 | | uniqueNames | 10 | | maxNameDensity | 0.63 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Grove" | | discoveredNames | | Aurora | 1 | | Richmond | 2 | | Park | 2 | | London | 3 | | Fae | 1 | | Grove | 5 | | Heartstone | 6 | | Silas | 1 | | Evan | 1 | | Rory | 9 |
| | persons | | 0 | "Heartstone" | | 1 | "Silas" | | 2 | "Evan" | | 3 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "Fae" | | 4 | "Grove" |
| | globalScore | 1 | | windowScore | 1 | |
| 65.73% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 89 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like stepping through a curtain of" | | 1 | "felt like they were leaking into the wa" | | 2 | "looked like wet parchment" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.699 | | wordCount | 1430 | | matches | | 0 | "not toward the stones, but perpendicular to the entity, diving through a gap in the bra" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 118 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 37.63 | | std | 21.67 | | cv | 0.576 | | sampleLengths | | 0 | 61 | | 1 | 64 | | 2 | 92 | | 3 | 51 | | 4 | 70 | | 5 | 63 | | 6 | 31 | | 7 | 25 | | 8 | 41 | | 9 | 50 | | 10 | 26 | | 11 | 48 | | 12 | 11 | | 13 | 1 | | 14 | 39 | | 15 | 44 | | 16 | 5 | | 17 | 34 | | 18 | 48 | | 19 | 36 | | 20 | 29 | | 21 | 49 | | 22 | 61 | | 23 | 16 | | 24 | 11 | | 25 | 75 | | 26 | 26 | | 27 | 40 | | 28 | 4 | | 29 | 34 | | 30 | 5 | | 31 | 51 | | 32 | 30 | | 33 | 46 | | 34 | 14 | | 35 | 4 | | 36 | 45 | | 37 | 50 |
| |
| 96.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 117 | | matches | | 0 | "was supposed" | | 1 | "were stretched" | | 2 | "being played" | | 3 | "was gone" |
| |
| 24.56% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 228 | | matches | | 0 | "was trekking" | | 1 | "were leaking" | | 2 | "were absorbing" | | 3 | "was searing" | | 4 | "was rearranging" | | 5 | "was circling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 6 | | flaggedSentences | 14 | | totalSentences | 118 | | ratio | 0.119 | | matches | | 0 | "One moment, Aurora was trekking through the damp, midnight chill of Richmond Park, the distant hum of London a comforting tether to reality; the next, the city sounds vanished, swallowed by a silence so absolute it rang in her ears." | | 1 | "The air here was different—thick, humid, and smelling cloyingly of crushed clover and damp earth." | | 2 | "She had come here tonight because the silence of her flat above Silas’s bar had become unbearable, and the memories of Evan—the way he used to watch her from the doorway, the precise geometry of his anger—felt like they were leaking into the walls of her room." | | 3 | "Time shifted here; an hour in the Grove could be a heartbeat in London, or a week." | | 4 | "In the periphery of her vision, something flickered—a flash of pale white, like a strip of birch bark dancing in the wind." | | 5 | "The fog didn't drift; it flowed, pouring across the ground like spilled milk, curling around her ankles with a predatory slowness." | | 6 | "She didn't run—running was for the panicked, and Rory prided herself on her composure." | | 7 | "It didn't walk; it glided, its movements jerky and discordant, like a film missing every third frame." | | 8 | "The warmth was no longer comforting; it was searing, a warning alarm vibrating against her chest." | | 9 | "Only a hand—if it could be called that—reached out from the mist." | | 10 | "The hand didn't reach for her; it reached for the air, tracing a slow, undulating pattern." | | 11 | "Then, she heard it—the sound of something breathing." | | 12 | "It had no nose, no lips—only a wide, lipless slit of a mouth and a single, milky-white eye that occupied half its skull." | | 13 | "The creature shrieked—a sound like grinding metal—and recoiled, the light searing its translucent skin." |
| |
| 81.10% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1438 | | adjectiveStacks | 3 | | stackExamples | | 0 | "single, milky-white eye" | | 1 | "grey, smog-filled sky," | | 2 | "long, pallid grey smudge" |
| | adverbCount | 59 | | adverbRatio | 0.04102920723226704 | | lyAdverbCount | 18 | | lyAdverbRatio | 0.012517385257301807 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 118 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 118 | | mean | 12.12 | | std | 7.71 | | cv | 0.637 | | sampleLengths | | 0 | 21 | | 1 | 40 | | 2 | 11 | | 3 | 15 | | 4 | 11 | | 5 | 27 | | 6 | 13 | | 7 | 12 | | 8 | 47 | | 9 | 20 | | 10 | 14 | | 11 | 15 | | 12 | 17 | | 13 | 5 | | 14 | 14 | | 15 | 9 | | 16 | 10 | | 17 | 16 | | 18 | 4 | | 19 | 2 | | 20 | 15 | | 21 | 8 | | 22 | 17 | | 23 | 22 | | 24 | 5 | | 25 | 11 | | 26 | 8 | | 27 | 1 | | 28 | 22 | | 29 | 6 | | 30 | 19 | | 31 | 7 | | 32 | 9 | | 33 | 13 | | 34 | 12 | | 35 | 4 | | 36 | 25 | | 37 | 8 | | 38 | 13 | | 39 | 6 | | 40 | 15 | | 41 | 5 | | 42 | 3 | | 43 | 4 | | 44 | 20 | | 45 | 21 | | 46 | 7 | | 47 | 4 | | 48 | 1 | | 49 | 15 |
| |
| 25.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 33 | | diversityRatio | 0.23728813559322035 | | totalSentences | 118 | | uniqueOpeners | 28 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 110 | | matches | | 0 | "Just the swaying wildflowers, though" | | 1 | "Only a hand—if it could" | | 2 | "Then, she heard it—the sound" | | 3 | "Slowly, she opened one eye." |
| | ratio | 0.036 | |
| 60.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 44 | | totalSentences | 110 | | matches | | 0 | "She stopped between the ancient" | | 1 | "She had come here tonight" | | 2 | "She began to walk, her" | | 3 | "She kept her pace steady," | | 4 | "She had to be careful." | | 5 | "It wasn't a sound, but" | | 6 | "She realized she could no" | | 7 | "She stopped abruptly and lifted" | | 8 | "She shifted her gaze quickly" | | 9 | "Her voice sounded flat, stripped" | | 10 | "She pressed her palm against" | | 11 | "It wasn't the steady glow" | | 12 | "She noticed a trail of" | | 13 | "They looked less like fallen" | | 14 | "It was a soft, wet" | | 15 | "It came from behind her." | | 16 | "She spun around." | | 17 | "She didn't run—running was for" | | 18 | "She reached into her pocket," | | 19 | "she called out" |
| | ratio | 0.4 | |
| 19.09% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 97 | | totalSentences | 110 | | matches | | 0 | "The transition was always seamless," | | 1 | "She stopped between the ancient" | | 2 | "The air here was different—thick," | | 3 | "Wildflowers bloomed in impossible clusters" | | 4 | "Rory reached up, her fingers" | | 5 | "The deep crimson gem was" | | 6 | "She had come here tonight" | | 7 | "The Grove was supposed to" | | 8 | "She began to walk, her" | | 9 | "She kept her pace steady," | | 10 | "Time shifted here; an hour" | | 11 | "She had to be careful." | | 12 | "It wasn't a sound, but" | | 13 | "She realized she could no" | | 14 | "She stopped abruptly and lifted" | | 15 | "The world had gone mute," | | 16 | "Rory frowned, her blue eyes" | | 17 | "The towering trees leaned inward," | | 18 | "The air was stagnant, heavy" | | 19 | "She shifted her gaze quickly" |
| | ratio | 0.882 | |
| 45.45% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 110 | | matches | | 0 | "If time was fluid here," |
| | ratio | 0.009 | |
| 4.26% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 67 | | technicalSentenceCount | 13 | | matches | | 0 | "The transition was always seamless, a sudden shift in the air that felt like stepping through a curtain of heavy silk." | | 1 | "She stopped between the ancient oak standing stones, her breath hitching." | | 2 | "Wildflowers bloomed in impossible clusters of violet and gold, their petals shimmering under a sky that held no stars, only a swirling, iridescent haze of deep …" | | 3 | "The world had gone mute, as if the environment were absorbing every vibration she produced." | | 4 | "The standing stones were now a distant silhouette, half-hidden by a creeping fog that had rolled in without a breeze." | | 5 | "The vowels were stretched too long, the tone devoid of any human emotion, as if a recording were being played at the wrong speed." | | 6 | "It was tall and spindly, a silhouette that lacked a definitive shape, shifting and blurring whenever she tried to focus on it." | | 7 | "The path she had taken was gone, replaced by a wall of towering, thorn-choked briars that hadn't been there minutes before." | | 8 | "She leaped forward, stumbling over a root that felt suspiciously like a wrist." | | 9 | "She bolted, not toward the stones, but perpendicular to the entity, diving through a gap in the brambles that had momentarily parted." | | 10 | "She tore through the wildflowers, the thorns ripping at her clothes and skin, her lungs burning." | | 11 | "She lay there for a long time, staring up at the grey, smog-filled sky, her chest heaving." | | 12 | "But as she looked down at her wrist, near the crescent-shaped scar from her childhood, she saw four long, pallid grey smudge marks, like fingers that had almost…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 2 | | fancyTags | | 0 | "she whispered (whisper)" | | 1 | "the voice whispered (whisper)" |
| | dialogueSentences | 5 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0.667 | | effectiveRatio | 0.667 | |