| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 8 | | tagDensity | 0.125 | | leniency | 0.25 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1255 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 52.19% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1255 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "echo" | | 1 | "familiar" | | 2 | "silence" | | 3 | "fluttered" | | 4 | "vibrated" | | 5 | "standard" | | 6 | "weight" | | 7 | "throbbed" | | 8 | "warmth" | | 9 | "sanctuary" | | 10 | "footsteps" | | 11 | "pulse" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 96 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 96 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 103 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 3 | | markdownWords | 8 | | totalWords | 1247 | | ratio | 0.006 | | matches | | 0 | "Shhhk." | | 1 | "\"Addendum. Visual displacement in the flora...\"" | | 2 | "Click." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 2 | | unquotedAttributions | 0 | | matches | (empty) | |
| 98.19% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 1158 | | uniqueNames | 15 | | maxNameDensity | 1.04 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | London | 1 | | Richmond | 1 | | Park | 1 | | Heathrow | 1 | | Golden | 1 | | Empress | 1 | | Grove | 1 | | Seiko | 1 | | Rory | 12 | | Like | 1 | | Heartstone | 1 | | Pendant | 1 | | Hel | 1 | | Fae | 2 | | Right | 2 |
| | persons | | 0 | "Seiko" | | 1 | "Rory" | | 2 | "Like" | | 3 | "Pendant" |
| | places | | 0 | "London" | | 1 | "Richmond" | | 2 | "Park" |
| | globalScore | 0.982 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 1 | | matches | | 0 | "sounded like cartilage popping in an ungre" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.802 | | wordCount | 1247 | | matches | | 0 | "not by temperature, but by an animal certainty taking root at the base of her skull" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 103 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 29 | | std | 19.12 | | cv | 0.659 | | sampleLengths | | 0 | 13 | | 1 | 60 | | 2 | 20 | | 3 | 1 | | 4 | 24 | | 5 | 71 | | 6 | 21 | | 7 | 25 | | 8 | 61 | | 9 | 54 | | 10 | 29 | | 11 | 23 | | 12 | 24 | | 13 | 5 | | 14 | 41 | | 15 | 16 | | 16 | 43 | | 17 | 16 | | 18 | 39 | | 19 | 24 | | 20 | 62 | | 21 | 54 | | 22 | 7 | | 23 | 19 | | 24 | 14 | | 25 | 24 | | 26 | 6 | | 27 | 46 | | 28 | 9 | | 29 | 38 | | 30 | 40 | | 31 | 8 | | 32 | 30 | | 33 | 1 | | 34 | 19 | | 35 | 54 | | 36 | 5 | | 37 | 32 | | 38 | 18 | | 39 | 46 | | 40 | 2 | | 41 | 48 | | 42 | 55 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 96 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 182 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 1 | | flaggedSentences | 7 | | totalSentences | 103 | | ratio | 0.068 | | matches | | 0 | "One boot rested on the damp mud of Richmond Park; the other crushed a cluster of blooming white campions." | | 1 | "Wildflowers carpeted the dirt year-round here—bluebells tangling with autumn crocus, foxgloves towering beside spring primroses." | | 2 | "Between the third and fourth monolith, a crumpled piece of parchment fluttered on a spike of gorse—no, it hung limp." | | 3 | "From the opposite side of the clearing—behind her right shoulder—came a soft drag through the buttercups." | | 4 | "Her beam raked wildly across the clearing, painting white streaks over frozen daisies and towering weeds before settling on the southern boundary—the twin petrified oaks she had walked between five minutes ago." | | 5 | "Only the smell rolled across the flattened wildflowers—river silt, copper, and meat left in a locked cellar." | | 6 | "Five yards into the shadows beyond the torch's reach, a voice gave the cadence back to her—not words, just two hollow notes pitched to match the break in her throat, warbling out from the gap behind the oaks." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1170 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 23 | | adverbRatio | 0.019658119658119658 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.002564102564102564 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 103 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 103 | | mean | 12.11 | | std | 7.68 | | cv | 0.634 | | sampleLengths | | 0 | 13 | | 1 | 19 | | 2 | 20 | | 3 | 4 | | 4 | 17 | | 5 | 6 | | 6 | 14 | | 7 | 1 | | 8 | 12 | | 9 | 7 | | 10 | 5 | | 11 | 13 | | 12 | 25 | | 13 | 15 | | 14 | 10 | | 15 | 8 | | 16 | 12 | | 17 | 9 | | 18 | 25 | | 19 | 2 | | 20 | 7 | | 21 | 20 | | 22 | 4 | | 23 | 20 | | 24 | 8 | | 25 | 4 | | 26 | 17 | | 27 | 25 | | 28 | 8 | | 29 | 2 | | 30 | 4 | | 31 | 5 | | 32 | 18 | | 33 | 23 | | 34 | 24 | | 35 | 5 | | 36 | 11 | | 37 | 5 | | 38 | 4 | | 39 | 21 | | 40 | 16 | | 41 | 5 | | 42 | 5 | | 43 | 13 | | 44 | 20 | | 45 | 4 | | 46 | 6 | | 47 | 6 | | 48 | 23 | | 49 | 16 |
| |
| 99.03% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.6310679611650486 | | totalSentences | 103 | | uniqueOpeners | 65 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 91 | | matches | | 0 | "Normally, night pollinators worked the" | | 1 | "Too wet for deadwood." | | 2 | "Bright blue eyes narrowed against" | | 3 | "Only the smell rolled across" |
| | ratio | 0.044 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 91 | | matches | | 0 | "She swallowed to pop them," | | 1 | "Her voice hit the darkness" | | 2 | "She unclipped the heavy torch" | | 3 | "She checked her watch." | | 4 | "She fished her mobile from" | | 5 | "It sounded like cartilage popping" | | 6 | "She pivoted, straight black hair" | | 7 | "Her boot heel sank into" | | 8 | "She lifted the phone again," | | 9 | "She hit play to test" | | 10 | "She hadn't breathed like that." | | 11 | "Her chest had been locked" | | 12 | "Her beam raked wildly across" | | 13 | "She raised the beam two" | | 14 | "Her shout cracked against the" |
| | ratio | 0.165 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 91 | | matches | | 0 | "Rory stepped between the twin" | | 1 | "She swallowed to pop them," | | 2 | "Her voice hit the darkness" | | 3 | "Nothing rustled in the canopy." | | 4 | "Rory tugged the zipper of" | | 5 | "Wildflowers carpeted the dirt year-round" | | 6 | "Tonight, the blossoms stood rigid" | | 7 | "She unclipped the heavy torch" | | 8 | "A white cone of light" | | 9 | "Rory swept the beam across" | | 10 | "Moss choked their grooves." | | 11 | "She checked her watch." | | 12 | "The sweeping second hand stuttered" | | 13 | "She fished her mobile from" | | 14 | "The digital clock read 23:59." | | 15 | "Rory tapped the voice memo" | | 16 | "A snap split the quiet." | | 17 | "Rory lowered the phone, thumb" | | 18 | "It sounded like cartilage popping" | | 19 | "She pivoted, straight black hair" |
| | ratio | 0.549 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 91 | | matches | | 0 | "While she stared at the" | | 1 | "Before the clip finished, heat" | | 2 | "Before the white circle touched" | | 3 | "To her right, deep in" |
| | ratio | 0.044 | |
| 82.07% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 4 | | matches | | 0 | "Residual grease and ginger clung to the nylon from her evening shifts, a cheap, familiar scent that clashed with the thick perfume of the clearing." | | 1 | "As Rory held her breath, three crushed stems uncurled, lifting millimeter by millimeter as though relieved of a heavy weight." | | 2 | "A ragged, wet inhalation that dragged across the audio, out of sync with her own pauses." | | 3 | "Grass blades whispered to her left, flattening in a slow, deliberate line that curved inward to circle her boots." |
| |
| 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 | |