| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.167 | | leniency | 0.333 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1254 | | 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) | |
| 20.26% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1254 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "pulsed" | | 1 | "silence" | | 2 | "weight" | | 3 | "throbbed" | | 4 | "familiar" | | 5 | "footsteps" | | 6 | "measured" | | 7 | "grave" | | 8 | "could feel" | | 9 | "flickered" | | 10 | "raced" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "clenched jaw/fists" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 148 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 148 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 153 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 35 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 18 | | totalWords | 1259 | | ratio | 0.014 | | matches | | 0 | "Richmond. The standing stones. Midnight. Come alone or don’t come at all." | | 1 | "She’s not here. But you are." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 1245 | | uniqueNames | 6 | | maxNameDensity | 0.88 | | worstName | "Eva" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Eva" | | discoveredNames | | Park | 1 | | Grove | 4 | | Eva | 11 | | Aurora | 10 | | English | 1 | | Welsh | 1 |
| | persons | | | places | | | globalScore | 1 | | windowScore | 0.833 | |
| 18.42% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 76 | | glossingSentenceCount | 4 | | matches | | 0 | "looked like skin" | | 1 | "quite parse" | | 2 | "darkness that seemed to exhale with relief" | | 3 | "felt like a lifetime" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1259 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 153 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 59 | | mean | 21.34 | | std | 18.76 | | cv | 0.879 | | sampleLengths | | 0 | 15 | | 1 | 60 | | 2 | 9 | | 3 | 49 | | 4 | 14 | | 5 | 58 | | 6 | 26 | | 7 | 9 | | 8 | 3 | | 9 | 13 | | 10 | 7 | | 11 | 50 | | 12 | 1 | | 13 | 26 | | 14 | 11 | | 15 | 11 | | 16 | 36 | | 17 | 3 | | 18 | 43 | | 19 | 14 | | 20 | 4 | | 21 | 69 | | 22 | 7 | | 23 | 38 | | 24 | 10 | | 25 | 19 | | 26 | 4 | | 27 | 40 | | 28 | 40 | | 29 | 6 | | 30 | 4 | | 31 | 54 | | 32 | 3 | | 33 | 13 | | 34 | 12 | | 35 | 33 | | 36 | 1 | | 37 | 59 | | 38 | 18 | | 39 | 2 | | 40 | 12 | | 41 | 50 | | 42 | 6 | | 43 | 16 | | 44 | 56 | | 45 | 3 | | 46 | 30 | | 47 | 17 | | 48 | 8 | | 49 | 38 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 148 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 214 | | matches | | 0 | "was beating" | | 1 | "was coming" |
| |
| 12.14% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 153 | | ratio | 0.046 | | matches | | 0 | "Aurora stepped between them and felt the change immediately — a pressure in her ears, as if the air itself had grown thicker." | | 1 | "The air smelled of summer and something older — peat moss, maybe, or the inside of a crypt left too long without ventilation." | | 2 | "She checked her phone — 12:47 AM, according to the screen." | | 3 | "She held it up like a lantern, and the red light carved a circle around her — five feet of visibility, ten at most." | | 4 | "Aurora planted her feet and clenched her fists and refused to run, because running was how you died in places like this, running was how you gave them what they wanted—" | | 5 | "Her mind raced through options — the stones, the pendant, the shapes, the name." | | 6 | "It curled around the bark like a spider, pulling, and the tree groaned as something leaned around its trunk—" |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1243 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 43 | | adverbRatio | 0.03459372485921158 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.0056315366049879325 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 153 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 153 | | mean | 8.23 | | std | 7.54 | | cv | 0.917 | | sampleLengths | | 0 | 15 | | 1 | 23 | | 2 | 21 | | 3 | 16 | | 4 | 5 | | 5 | 4 | | 6 | 13 | | 7 | 6 | | 8 | 7 | | 9 | 23 | | 10 | 4 | | 11 | 10 | | 12 | 7 | | 13 | 3 | | 14 | 1 | | 15 | 24 | | 16 | 23 | | 17 | 26 | | 18 | 9 | | 19 | 3 | | 20 | 4 | | 21 | 7 | | 22 | 2 | | 23 | 7 | | 24 | 3 | | 25 | 15 | | 26 | 11 | | 27 | 6 | | 28 | 15 | | 29 | 1 | | 30 | 12 | | 31 | 5 | | 32 | 9 | | 33 | 4 | | 34 | 7 | | 35 | 4 | | 36 | 3 | | 37 | 3 | | 38 | 1 | | 39 | 2 | | 40 | 10 | | 41 | 12 | | 42 | 12 | | 43 | 3 | | 44 | 24 | | 45 | 19 | | 46 | 6 | | 47 | 6 | | 48 | 2 | | 49 | 4 |
| |
| 65.80% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.43790849673202614 | | totalSentences | 153 | | uniqueOpeners | 67 | |
| 28.01% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 119 | | matches | | 0 | "Then, from the darkness beyond" |
| | ratio | 0.008 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 119 | | matches | | 0 | "She pressed her palm over" | | 1 | "She’d come for Eva." | | 2 | "Her trainers made no sound" | | 3 | "She stamped her foot." | | 4 | "Her breath came out in" | | 5 | "She checked her phone —" | | 6 | "She’d entered the stones at" | | 7 | "She tried again, louder." | | 8 | "She grabbed it through her" | | 9 | "Her shoulder blades met empty" | | 10 | "She ran her hands along" | | 11 | "Her fingers found only wood." | | 12 | "She made herself breathe" | | 13 | "She held it up like" | | 14 | "She spun again." | | 15 | "She rubbed it without thinking," | | 16 | "Her heart was beating too" | | 17 | "She could feel it against" | | 18 | "Their outlines rippled like heat" | | 19 | "They were gone." |
| | ratio | 0.235 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 83 | | totalSentences | 119 | | matches | | 0 | "The standing stones rose from" | | 1 | "Aurora stepped between them and" | | 2 | "The pendant at her throat" | | 3 | "She pressed her palm over" | | 4 | "Richmond Park lay behind her." | | 5 | "Wildflowers carpeted the clearing in" | | 6 | "Bluebells the shade of drowned" | | 7 | "Foxgloves that gleamed bone-white in" | | 8 | "The air smelled of summer" | | 9 | "She’d come for Eva." | | 10 | "That was the only thought" | | 11 | "The note had been clear" | | 12 | "The standing stones." | | 13 | "Her trainers made no sound" | | 14 | "That was wrong." | | 15 | "She stamped her foot." | | 16 | "The pendant flared hot against" | | 17 | "Aurora stopped walking." | | 18 | "Her breath came out in" | | 19 | "She checked her phone —" |
| | ratio | 0.697 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 119 | | matches | | 0 | "Either time had jumped while" | | 1 | "To her left." | | 2 | "As if whatever had made" |
| | ratio | 0.025 | |
| 98.21% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 3 | | matches | | 0 | "That was the only thought keeping her feet moving forward." | | 1 | "So here she stood, in a place that shouldn’t exist, surrounded by flowers that bloomed out of season beneath a sky that had forgotten its stars." | | 2 | "Aurora stood alone in the Grove, surrounded by flowers that shouldn’t bloom, holding a stone that shouldn’t glow, wearing a name she’d never heard before a mome…" |
| |
| 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 | |