| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 2 | | adverbTags | | 0 | "Rory said softly [softly]" | | 1 | "it said again [again]" |
| | dialogueSentences | 10 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0.333 | | effectiveRatio | 0.333 | |
| 82.77% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1451 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "very" | | 1 | "slowly" | | 2 | "softly" |
| |
| 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) | |
| 75.88% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1451 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "throb" | | 1 | "silence" | | 2 | "weight" | | 3 | "stomach" | | 4 | "pulse" |
| |
| 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 | 1 | | narrationSentences | 101 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 101 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 105 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 4 | | markdownWords | 66 | | totalWords | 1460 | | ratio | 0.045 | | matches | | 0 | "the grove, the stones, don't be late, and Rory — don't bring anything iron." | | 1 | "always" | | 2 | "an hour with me is a minute out there, or a week, and I never can promise which." | | 3 | "Eva has never in her life called me Rory first. She calls me Carter. Every single time, she calls me Carter, and then she laughs at herself, and then she calls me Rory." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 1 | | matches | | 0 | "Every single time, she calls me Carter, and then she laughs at herself, and then she calls me Rory.*" |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 1401 | | uniqueNames | 14 | | maxNameDensity | 0.93 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 2 | | Park | 1 | | Rory | 13 | | Ham | 1 | | Gate | 1 | | Hel | 1 | | Ordnance | 1 | | Survey | 1 | | November | 1 | | Heathrow | 2 | | Movement | 1 | | Cardiff | 1 | | Eva | 4 | | Carter | 2 |
| | persons | | 0 | "Rory" | | 1 | "November" | | 2 | "Eva" | | 3 | "Carter" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Hel" | | 3 | "Heathrow" | | 4 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.055 | | wordCount | 1460 | | matches | | 0 | "not the warm insistent throb it gave near a Hel portal, but a slower thing, like something breathing in its sleep" | | 1 | "No footprints but" | | 2 | "no path and no wheels and nothing but" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 105 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 35.61 | | std | 28.55 | | cv | 0.802 | | sampleLengths | | 0 | 82 | | 1 | 39 | | 2 | 80 | | 3 | 6 | | 4 | 9 | | 5 | 110 | | 6 | 18 | | 7 | 24 | | 8 | 34 | | 9 | 14 | | 10 | 55 | | 11 | 2 | | 12 | 57 | | 13 | 34 | | 14 | 11 | | 15 | 52 | | 16 | 4 | | 17 | 35 | | 18 | 27 | | 19 | 33 | | 20 | 29 | | 21 | 66 | | 22 | 17 | | 23 | 8 | | 24 | 102 | | 25 | 39 | | 26 | 9 | | 27 | 77 | | 28 | 39 | | 29 | 5 | | 30 | 47 | | 31 | 91 | | 32 | 30 | | 33 | 4 | | 34 | 52 | | 35 | 3 | | 36 | 47 | | 37 | 33 | | 38 | 19 | | 39 | 12 | | 40 | 5 |
| |
| 94.84% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 101 | | matches | | 0 | "been locked" | | 1 | "was chained" | | 2 | "were, spaced" |
| |
| 77.11% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 217 | | matches | | 0 | "was spending" | | 1 | "was standing" | | 2 | "were facing" | | 3 | "wasn't matching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 1 | | flaggedSentences | 9 | | totalSentences | 105 | | ratio | 0.086 | | matches | | 0 | "The pendant had started up somewhere near the deer fence — not the warm insistent throb it gave near a Hel portal, but a slower thing, like something breathing in its sleep." | | 1 | "Eva had said *the grove, the stones, don't be late, and Rory — don't bring anything iron.* Then she'd hung up, which wasn't like her, and hadn't answered since, which was less like her still." | | 2 | "Not the shape — the position." | | 3 | "Two quick brass notes, cheerful, close — twenty feet behind her, past the stones." | | 4 | "Further off this time, but from the wrong direction — from deep inside the grove, behind her, where there was no path and no wheels and nothing but flowers." | | 5 | "Just a deer — a red hind, standing among the foxgloves maybe thirty feet away, head up, ears forward." | | 6 | "Richmond was full of them; six hundred and some, the signs said." | | 7 | "She'd have caught the motion — she caught everything, that was the one thing she trusted about herself — but there they were, spaced evenly around the clearing's edge, and all three had their heads up, and all three were facing her, and hinds don't have antlers." | | 8 | "She had heard it a thousand times through a phone pressed too hard to her ear at three in the morning — that particular catch Eva got when she'd been crying and was about to pretend she hadn't." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 633 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 22 | | adverbRatio | 0.03475513428120063 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.004739336492890996 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 105 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 105 | | mean | 13.9 | | std | 12.16 | | cv | 0.874 | | sampleLengths | | 0 | 38 | | 1 | 32 | | 2 | 12 | | 3 | 4 | | 4 | 35 | | 5 | 2 | | 6 | 35 | | 7 | 6 | | 8 | 7 | | 9 | 30 | | 10 | 6 | | 11 | 9 | | 12 | 20 | | 13 | 18 | | 14 | 29 | | 15 | 7 | | 16 | 5 | | 17 | 31 | | 18 | 6 | | 19 | 6 | | 20 | 6 | | 21 | 24 | | 22 | 1 | | 23 | 33 | | 24 | 4 | | 25 | 3 | | 26 | 7 | | 27 | 13 | | 28 | 6 | | 29 | 11 | | 30 | 25 | | 31 | 2 | | 32 | 10 | | 33 | 10 | | 34 | 25 | | 35 | 3 | | 36 | 2 | | 37 | 7 | | 38 | 34 | | 39 | 11 | | 40 | 5 | | 41 | 14 | | 42 | 7 | | 43 | 26 | | 44 | 4 | | 45 | 23 | | 46 | 1 | | 47 | 2 | | 48 | 9 | | 49 | 18 |
| |
| 54.92% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.4095238095238095 | | totalSentences | 105 | | uniqueOpeners | 43 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 90 | | matches | | 0 | "Then the sound arrived, and" | | 1 | "Further off this time, but" | | 2 | "Just a deer — a" |
| | ratio | 0.033 | |
| 91.11% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 90 | | matches | | 0 | "She'd pressed her palm flat" | | 1 | "They were trunks, ancient and" | | 2 | "Her breath, which had been" | | 3 | "She exhaled twice to be" | | 4 | "She didn't let it past" | | 5 | "You noticed the pretty things" | | 6 | "Her voice went out flat" | | 7 | "She'd come up the hill" | | 8 | "It was over her left" | | 9 | "It was a bicycle bell." | | 10 | "Her bike had a bell" | | 11 | "Her bike was chained to" | | 12 | "She turned around slowly." | | 13 | "she said out loud, and" | | 14 | "She had read enough and," | | 15 | "She walked to the centre" | | 16 | "She let her eyes slide" | | 17 | "They had not walked in." | | 18 | "She'd have caught the motion" | | 19 | "They didn't move." |
| | ratio | 0.322 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 62 | | totalSentences | 90 | | matches | | 0 | "The gates of Richmond Park" | | 1 | "The pendant had started up" | | 2 | "She'd pressed her palm flat" | | 3 | "Eva had said midnight." | | 4 | "Eva had said *the grove," | | 5 | "The standing stones weren't stone" | | 6 | "They were trunks, ancient and" | | 7 | "Rory stepped between two of" | | 8 | "The first thing she noticed" | | 9 | "The cold went out of" | | 10 | "Her breath, which had been" | | 11 | "She exhaled twice to be" | | 12 | "She didn't let it past" | | 13 | "That was the trick, she'd" | | 14 | "You noticed the pretty things" | | 15 | "Her voice went out flat" | | 16 | "Rory stood very still and" | | 17 | "She'd come up the hill" | | 18 | "It was over her left" | | 19 | "That was the one that" |
| | ratio | 0.689 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 90 | | matches | (empty) | | ratio | 0 | |
| 93.02% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 3 | | matches | | 0 | "She walked to the centre of the clearing instead, and sat down, and put her back against the one thing in the grove that had bark on it: a young hawthorn, hardl…" | | 1 | "She'd have caught the motion — she caught everything, that was the one thing she trusted about herself — but there they were, spaced evenly around the clearing'…" | | 2 | "And Rory sat there with her spine against the bark and the pendant burning under her fist and the three antlered things standing motionless in the flowers, and …" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 2 | | matches | | 0 | "Her voice went, as if the clearing were smaller than her eyes said" | | 1 | "it said again, kinder" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 10 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |