| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 82.71% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1446 | | totalAiIsmAdverbs | 5 | | 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) | |
| 48.13% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1446 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "chill" | | 1 | "cataloged" | | 2 | "variables" | | 3 | "silence" | | 4 | "pulse" | | 5 | "furrowed" | | 6 | "rhythmic" | | 7 | "warmth" | | 8 | "pulsed" | | 9 | "weight" | | 10 | "solitary" | | 11 | "gloom" | | 12 | "footfall" |
| |
| 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 | 108 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 108 | | filterMatches | (empty) | | hedgeMatches | | |
| 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 | 37 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 36 | | totalWords | 1442 | | ratio | 0.025 | | matches | | 0 | "The Grove. Midnight. Check the third pillar." | | 1 | "Hel." | | 2 | "Time moves differently here," | | 3 | "An hour inside is ten minutes outside. Or three days. Don't panic. Just walk the straight line back to the boundary." | | 4 | "Rip. Pause. Rip." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 1 | | unquotedAttributions | 0 | | matches | (empty) | |
| 97.99% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 41 | | wordCount | 1442 | | uniqueNames | 19 | | maxNameDensity | 1.04 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 3 | | Park | 2 | | Aurora | 1 | | London | 2 | | Thames | 1 | | Golden | 1 | | Empress | 1 | | Grove | 1 | | Fae-touched | 1 | | Evan | 1 | | Cardiff | 2 | | Rory | 15 | | Heartstone | 3 | | Silas | 1 | | Heathrow | 1 | | Hel-tear | 1 | | Peat-black | 1 | | July | 1 | | Fae | 2 |
| | persons | | 0 | "Evan" | | 1 | "Rory" | | 2 | "Silas" | | 3 | "Hel-tear" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "Thames" | | 4 | "Grove" | | 5 | "Cardiff" |
| | globalScore | 0.98 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 82 | | glossingSentenceCount | 1 | | matches | | 0 | "seemed taller their tops lost in the black mass of the canopy" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.693 | | wordCount | 1442 | | matches | | 0 | "not flesh, but something pale, smooth" |
| |
| 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 | 44 | | mean | 32.77 | | std | 23.85 | | cv | 0.728 | | sampleLengths | | 0 | 41 | | 1 | 72 | | 2 | 77 | | 3 | 73 | | 4 | 56 | | 5 | 40 | | 6 | 9 | | 7 | 86 | | 8 | 39 | | 9 | 12 | | 10 | 66 | | 11 | 18 | | 12 | 11 | | 13 | 47 | | 14 | 1 | | 15 | 42 | | 16 | 29 | | 17 | 10 | | 18 | 52 | | 19 | 36 | | 20 | 7 | | 21 | 6 | | 22 | 33 | | 23 | 30 | | 24 | 9 | | 25 | 18 | | 26 | 5 | | 27 | 70 | | 28 | 43 | | 29 | 3 | | 30 | 30 | | 31 | 36 | | 32 | 21 | | 33 | 3 | | 34 | 12 | | 35 | 38 | | 36 | 51 | | 37 | 13 | | 38 | 13 | | 39 | 84 | | 40 | 5 | | 41 | 33 | | 42 | 26 | | 43 | 36 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 108 | | matches | | |
| 74.21% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 212 | | matches | | 0 | "was hunting" | | 1 | "were turning" | | 2 | "was spreading" | | 3 | "was looking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 3 | | flaggedSentences | 6 | | totalSentences | 108 | | ratio | 0.056 | | matches | | 0 | "It wasn't the heavy quiet of an empty flat or the hush of an early-morning street; it was a total, vacuum-sealed absence of sound." | | 1 | "It hadn't collided with anything; it had simply stopped." | | 2 | "And the distance between them—the gap she had entered through barely three minutes ago—looked impossibly far away, as if the grove had exhaled and expanded tenfold." | | 3 | "Rory’s rational mind tried to dismantle the image—a trick of low light, the warped perspective of the Fae threshold, exhaustion from three consecutive twelve-hour delivery shifts." | | 4 | "In the faint crimson bleed of the Heartstone beneath Rory’s fingers, she could make out the texture of its limbs—not flesh, but something pale, smooth, and jointed, like carved bone stripped of marrow." | | 5 | "Instinct honed by years of surviving monsters in human skin told her that running was a trigger; running turned you into prey." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1461 | | adjectiveStacks | 2 | | stackExamples | | 0 | "faint, crescent-shaped scar" | | 1 | "faint, unearthly blue-violet" |
| | adverbCount | 49 | | adverbRatio | 0.03353867214236824 | | lyAdverbCount | 25 | | lyAdverbRatio | 0.017111567419575632 | |
| 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 | 13.35 | | std | 9.45 | | cv | 0.708 | | sampleLengths | | 0 | 17 | | 1 | 24 | | 2 | 22 | | 3 | 19 | | 4 | 31 | | 5 | 7 | | 6 | 13 | | 7 | 35 | | 8 | 17 | | 9 | 1 | | 10 | 4 | | 11 | 6 | | 12 | 28 | | 13 | 29 | | 14 | 10 | | 15 | 13 | | 16 | 13 | | 17 | 6 | | 18 | 24 | | 19 | 22 | | 20 | 18 | | 21 | 9 | | 22 | 5 | | 23 | 24 | | 24 | 26 | | 25 | 6 | | 26 | 25 | | 27 | 5 | | 28 | 15 | | 29 | 19 | | 30 | 1 | | 31 | 11 | | 32 | 4 | | 33 | 19 | | 34 | 21 | | 35 | 22 | | 36 | 4 | | 37 | 5 | | 38 | 9 | | 39 | 11 | | 40 | 7 | | 41 | 6 | | 42 | 21 | | 43 | 3 | | 44 | 1 | | 45 | 9 | | 46 | 1 | | 47 | 6 | | 48 | 36 | | 49 | 5 |
| |
| 40.43% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.3148148148148148 | | totalSentences | 108 | | uniqueOpeners | 34 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 99 | | matches | | 0 | "Just walk the straight line" | | 1 | "Slowly, without lifting her heels," | | 2 | "Then she saw the shadow." | | 3 | "Instead, she drew a slow," |
| | ratio | 0.04 | |
| 82.63% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 99 | | matches | | 0 | "It stopped at the ring" | | 1 | "She paused, letting her breath" | | 2 | "Her black hair, cut blunt" | | 3 | "She had walked two miles" | | 4 | "It had been written on" | | 5 | "She preferred knowing the shape" | | 6 | "She reached beneath the collar" | | 7 | "It was cool to the" | | 8 | "It wasn't the heavy quiet" | | 9 | "She reached the third stone." | | 10 | "She frowned, stepping closer." | | 11 | "It took off into the" | | 12 | "It hadn't collided with anything;" | | 13 | "She slipped a hand inside" | | 14 | "It pulsed once." | | 15 | "She turned slowly, keeping her" | | 16 | "She took two paces toward" | | 17 | "Her weight was entirely on" | | 18 | "She did not breathe." | | 19 | "She hadn't stepped on dry" |
| | ratio | 0.343 | |
| 66.06% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 78 | | totalSentences | 99 | | matches | | 0 | "The mist clinging to the" | | 1 | "It stopped at the ring" | | 2 | "Rory stepped between two moss-draped" | | 3 | "She paused, letting her breath" | | 4 | "Her black hair, cut blunt" | | 5 | "She had walked two miles" | | 6 | "It had been written on" | | 7 | "A trap was the obvious" | | 8 | "Rory’s father, with all his" | | 9 | "She preferred knowing the shape" | | 10 | "She reached beneath the collar" | | 11 | "The thumbnail-sized crimson gem hung" | | 12 | "It was cool to the" | | 13 | "The clearing was no larger" | | 14 | "The seven oak stones stood" | | 15 | "Rory approached the third pillar" | | 16 | "The silence hit her then." | | 17 | "It wasn't the heavy quiet" | | 18 | "Richmond Park was home to" | | 19 | "None of it crossed the" |
| | ratio | 0.788 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 99 | | matches | (empty) | | ratio | 0 | |
| 93.60% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 58 | | technicalSentenceCount | 4 | | matches | | 0 | "The benefactor who had given her the pendant hadn't left an instruction manual, but the warning had been unequivocal: the stone slept until the world cracked, u…" | | 1 | "The darkness that rushed in was thick and velvety, illuminated only by the faint, unearthly blue-violet luminescence of the nightshade blossoms bordering the cl…" | | 2 | "It was an anomaly of light, a patch of dense, concentrated blackness that clung to the outer edge of the fifth stone, roughly twenty feet to her right." | | 3 | "The petals curled, blackened by an invisible frost, collapsing into grey ash that dissolved instantly into the soil." |
| |
| 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 | |