| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 87.89% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1239 | | totalAiIsmAdverbs | 3 | | 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) | |
| 71.75% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1239 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "warmth" | | 1 | "echo" | | 2 | "footfall" | | 3 | "absolutely" | | 4 | "weight" | | 5 | "silence" | | 6 | "stomach" |
| |
| 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 | 89 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 89 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 91 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 80 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 4 | | markdownWords | 16 | | totalWords | 1251 | | ratio | 0.013 | | matches | | 0 | "come alone" | | 1 | "They know something you don't," | | 2 | "I know you heard that" | | 3 | "Aurora. Don't answer it." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 1224 | | uniqueNames | 14 | | maxNameDensity | 0.65 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 1 | | Park | 2 | | Rory | 8 | | Eva | 2 | | Hel | 2 | | Hammersmith | 2 | | Fae | 3 | | Barnes | 1 | | Pen | 1 | | Ponds | 1 | | February | 1 | | Evan | 1 | | Heartstone | 1 | | Isolde | 2 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Fae" | | 3 | "Barnes" | | 4 | "Evan" | | 5 | "Heartstone" | | 6 | "Isolde" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Hel" | | 3 | "Hammersmith" | | 4 | "Pen" | | 5 | "February" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 57 | | glossingSentenceCount | 1 | | matches | | 0 | "quite frost, and the pendant lay cool and inert against her sternum, which was good — cool meant no portal, no Hel, no reason to run" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1251 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 91 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 32.92 | | std | 28.75 | | cv | 0.873 | | sampleLengths | | 0 | 47 | | 1 | 50 | | 2 | 4 | | 3 | 81 | | 4 | 5 | | 5 | 94 | | 6 | 64 | | 7 | 6 | | 8 | 79 | | 9 | 16 | | 10 | 24 | | 11 | 91 | | 12 | 14 | | 13 | 8 | | 14 | 37 | | 15 | 20 | | 16 | 3 | | 17 | 47 | | 18 | 17 | | 19 | 3 | | 20 | 58 | | 21 | 10 | | 22 | 46 | | 23 | 54 | | 24 | 29 | | 25 | 3 | | 26 | 78 | | 27 | 11 | | 28 | 21 | | 29 | 59 | | 30 | 7 | | 31 | 8 | | 32 | 81 | | 33 | 11 | | 34 | 43 | | 35 | 1 | | 36 | 4 | | 37 | 17 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 89 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 208 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 1 | | flaggedSentences | 11 | | totalSentences | 91 | | ratio | 0.121 | | matches | | 0 | "The torch beam swung over grass rimed with something that wasn't quite frost, and the pendant lay cool and inert against her sternum, which was good — cool meant no portal, no Hel, no reason to run." | | 1 | "Rory had spent the tube ride constructing arguments the way her father would have — objection, precedent, cross-examination — and by Barnes she had convinced herself that the risk was acceptable and the reward was information she could not get anywhere else." | | 2 | "Six hundred red and fallow deer in this park and she had never once come here without seeing them — humped shapes in the dark, the shine of eyes, that wet snorting sound they made when they didn't like you." | | 3 | "Eight grey teeth in a ring, the tallest of them maybe her own height, the ground between them furred with wildflowers that had no business flowering in February — foxglove, meadowsweet, cornflowers so blue they looked lit from beneath." | | 4 | "Inside the ring, the world acquired an echo — her footfall came back to her a half-beat late, as though the clearing were much larger than it looked, or had a ceiling." | | 5 | "She had learned to wait; you did not hurry the Fae, and you did not fill their silences with your own nervous chatter, because chatter was where you accidentally made promises." | | 6 | "A woman's voice, or a child's — high, tuneless, three notes going round and round like water in a drain." | | 7 | "The silence afterwards had a shape to it — a held-breath shape, an *I know you heard that* shape." | | 8 | "She caught it properly this time — a long pale shape, upright, gone behind the tallest stone with a smoothness that had nothing to do with legs." | | 9 | "That was when she understood, with a cold clarity that arrived all at once and settled in her stomach like swallowed ice, that the grove was not empty and had not been empty when she came in, and that whatever had been humming had been humming for a while before she noticed — perhaps since she'd climbed the wall, perhaps since she'd got on the bus at Hammersmith with the pendant cool against her skin and her arguments all neatly ordered." | | 10 | "And Isolde's voice — the real one, the one Rory knew, unhurried and honeyed and edged like broken glass — came from very far away, outside the stones, calling her name in a tone she had never heard the Fae woman use before." |
| |
| 92.55% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1216 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 59 | | adverbRatio | 0.04851973684210526 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.009868421052631578 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 91 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 91 | | mean | 13.75 | | std | 13.79 | | cv | 1.003 | | sampleLengths | | 0 | 47 | | 1 | 7 | | 2 | 1 | | 3 | 27 | | 4 | 9 | | 5 | 3 | | 6 | 3 | | 7 | 4 | | 8 | 11 | | 9 | 8 | | 10 | 37 | | 11 | 10 | | 12 | 15 | | 13 | 1 | | 14 | 1 | | 15 | 3 | | 16 | 27 | | 17 | 42 | | 18 | 7 | | 19 | 18 | | 20 | 4 | | 21 | 46 | | 22 | 5 | | 23 | 9 | | 24 | 6 | | 25 | 11 | | 26 | 40 | | 27 | 16 | | 28 | 2 | | 29 | 2 | | 30 | 8 | | 31 | 16 | | 32 | 24 | | 33 | 22 | | 34 | 39 | | 35 | 9 | | 36 | 3 | | 37 | 18 | | 38 | 14 | | 39 | 8 | | 40 | 3 | | 41 | 3 | | 42 | 31 | | 43 | 5 | | 44 | 13 | | 45 | 2 | | 46 | 3 | | 47 | 2 | | 48 | 32 | | 49 | 7 |
| |
| 66.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.4725274725274725 | | totalSentences | 91 | | uniqueOpeners | 43 | |
| 44.44% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 75 | | matches | | 0 | "Somewhere far off on the" |
| | ratio | 0.013 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 75 | | matches | | 0 | "She waited there a moment," | | 1 | "She stood, brushed her palms" | | 2 | "Her phone said 11:47 and" | | 3 | "She'd checked it three times" | | 4 | "She checked it again now," | | 5 | "She thought it without wanting" | | 6 | "*They know something you don't,*" | | 7 | "She stopped just outside the" | | 8 | "Her voice came out ordinary," | | 9 | "She stepped through." | | 10 | "She could no longer hear" | | 11 | "She could hear her own" | | 12 | "She had learned to wait;" | | 13 | "It was very soft, and" | | 14 | "She had read enough, and" | | 15 | "She stood absolutely still and" | | 16 | "Her hand crept up to" | | 17 | "It had come from somewhere" | | 18 | "She caught it properly this" |
| | ratio | 0.253 | |
| 73.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 58 | | totalSentences | 75 | | matches | | 0 | "The gate at Richmond Park" | | 1 | "She waited there a moment," | | 2 | "That was the first thing" | | 3 | "Fog does that." | | 4 | "She stood, brushed her palms" | | 5 | "Her phone said 11:47 and" | | 6 | "The torch beam swung over" | | 7 | "She'd checked it three times" | | 8 | "She checked it again now," | | 9 | "Everything was fine." | | 10 | "Isolde had said midnight and" | | 11 | "Rory had spent the tube" | | 12 | "Eva had told her not" | | 13 | "Silas had said nothing at" | | 14 | "The standing stones sat in" | | 15 | "That was how you knew." | | 16 | "The things that mattered were" | | 17 | "The deer should have been" | | 18 | "She thought it without wanting" | | 19 | "Tonight the grass rolled away" |
| | ratio | 0.773 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 75 | | matches | (empty) | | ratio | 0 | |
| 38.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 6 | | matches | | 0 | "The torch beam swung over grass rimed with something that wasn't quite frost, and the pendant lay cool and inert against her sternum, which was good — cool mean…" | | 1 | "The standing stones sat in a dip beyond the Pen Ponds, eight ancient oaks that had died so long ago they'd gone hard and grey as granite, arranged in a ring nob…" | | 2 | "Eight grey teeth in a ring, the tallest of them maybe her own height, the ground between them furred with wildflowers that had no business flowering in February…" | | 3 | "Inside the ring, the world acquired an echo — her footfall came back to her a half-beat late, as though the clearing were much larger than it looked, or had a c…" | | 4 | "She caught it properly this time — a long pale shape, upright, gone behind the tallest stone with a smoothness that had nothing to do with legs." | | 5 | "That was when she understood, with a cold clarity that arrived all at once and settled in her stomach like swallowed ice, that the grove was not empty and had n…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |