| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.417 | | leniency | 0.833 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 88.42% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1295 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "slightly" | | 1 | "very" | | 2 | "slowly" |
| |
| 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) | |
| 57.53% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1295 | | totalAiIsms | 11 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | word | "down her spine" | | count | 1 |
|
| | highlights | | 0 | "pulsed" | | 1 | "footsteps" | | 2 | "silence" | | 3 | "pulse" | | 4 | "warmth" | | 5 | "quickened" | | 6 | "stomach" | | 7 | "could feel" | | 8 | "down her spine" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 125 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 125 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 132 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 40 | | totalWords | 1295 | | ratio | 0.031 | | matches | | 0 | "Richmond Park, after midnight, follow the oaks where the flowers bloom out of season. Come alone or don't come at all. If you want answers about the pendant, this is the only door." | | 1 | "the evidence does not support the conclusion" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 24 | | wordCount | 1262 | | uniqueNames | 11 | | maxNameDensity | 0.71 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 9 | | Richmond | 3 | | Park | 2 | | July | 1 | | London | 1 | | Eva | 2 | | Welsh | 2 | | Cardiff | 1 | | Carter | 1 | | Wales | 1 | | English | 1 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "July" | | 3 | "London" | | 4 | "Cardiff" | | 5 | "Wales" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 75 | | glossingSentenceCount | 1 | | matches | | 0 | "seemed lit from beneath" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1295 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 132 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 48 | | mean | 26.98 | | std | 23.62 | | cv | 0.876 | | sampleLengths | | 0 | 12 | | 1 | 58 | | 2 | 27 | | 3 | 11 | | 4 | 79 | | 5 | 3 | | 6 | 50 | | 7 | 52 | | 8 | 5 | | 9 | 42 | | 10 | 6 | | 11 | 9 | | 12 | 13 | | 13 | 64 | | 14 | 5 | | 15 | 42 | | 16 | 9 | | 17 | 1 | | 18 | 28 | | 19 | 11 | | 20 | 24 | | 21 | 46 | | 22 | 41 | | 23 | 52 | | 24 | 20 | | 25 | 23 | | 26 | 15 | | 27 | 5 | | 28 | 94 | | 29 | 9 | | 30 | 44 | | 31 | 2 | | 32 | 74 | | 33 | 22 | | 34 | 13 | | 35 | 4 | | 36 | 31 | | 37 | 51 | | 38 | 5 | | 39 | 8 | | 40 | 70 | | 41 | 8 | | 42 | 32 | | 43 | 6 | | 44 | 6 | | 45 | 41 | | 46 | 17 | | 47 | 5 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 125 | | matches | (empty) | |
| 75.97% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 215 | | matches | | 0 | "was getting" | | 1 | "was walking" | | 2 | "was singing" | | 3 | "was facing" |
| |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 132 | | ratio | 0 | | matches | (empty) | |
| 99.83% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1269 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 51 | | adverbRatio | 0.04018912529550828 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.01260835303388495 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 132 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 132 | | mean | 9.81 | | std | 8.17 | | cv | 0.832 | | sampleLengths | | 0 | 12 | | 1 | 21 | | 2 | 2 | | 3 | 2 | | 4 | 33 | | 5 | 15 | | 6 | 12 | | 7 | 3 | | 8 | 3 | | 9 | 5 | | 10 | 5 | | 11 | 14 | | 12 | 7 | | 13 | 14 | | 14 | 9 | | 15 | 7 | | 16 | 7 | | 17 | 16 | | 18 | 3 | | 19 | 6 | | 20 | 6 | | 21 | 12 | | 22 | 26 | | 23 | 7 | | 24 | 18 | | 25 | 4 | | 26 | 23 | | 27 | 5 | | 28 | 14 | | 29 | 2 | | 30 | 19 | | 31 | 4 | | 32 | 3 | | 33 | 5 | | 34 | 1 | | 35 | 9 | | 36 | 13 | | 37 | 9 | | 38 | 15 | | 39 | 24 | | 40 | 16 | | 41 | 2 | | 42 | 3 | | 43 | 8 | | 44 | 3 | | 45 | 8 | | 46 | 23 | | 47 | 9 | | 48 | 1 | | 49 | 8 |
| |
| 58.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.4090909090909091 | | totalSentences | 132 | | uniqueOpeners | 54 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 8 | | totalSentences | 111 | | matches | | 0 | "Instead there was nothing, as" | | 1 | "Then she smelled the flowers." | | 2 | "Further left now." | | 3 | "Just an oak." | | 4 | "Then, and her stomach dropped" | | 5 | "Physically pulled, the chain taut" | | 6 | "Slowly, with every scrap of" | | 7 | "Then, while she stood frozen" |
| | ratio | 0.072 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 111 | | matches | | 0 | "She stood with her hand" | | 1 | "She stepped through." | | 2 | "She followed them, counting trunks" | | 3 | "She touched one petal." | | 4 | "It was warm." | | 5 | "It wove between the trees" | | 6 | "She was walking towards it," | | 7 | "She stood very still and" | | 8 | "Her voice came out flatter" | | 9 | "She hated that she'd said" | | 10 | "It had moved without moving." | | 11 | "She spun, hand up, heart" | | 12 | "She'd walked past it, she" | | 13 | "She hadn't heard it move." | | 14 | "She said this to herself" | | 15 | "She stood in the moonlight" | | 16 | "Her hand, raised against the" | | 17 | "she said under her breath" | | 18 | "She stepped into the ring." | | 19 | "She kept her eyes on" |
| | ratio | 0.27 | |
| 90.63% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 82 | | totalSentences | 111 | | matches | | 0 | "The gate in the park" | | 1 | "She stood with her hand" | | 2 | "The pendant against her sternum" | | 3 | "The letter had been specific." | | 4 | "*Richmond Park, after midnight, follow" | | 5 | "Cream paper that smelled faintly" | | 6 | "Silas had told her to" | | 7 | "Eva had told her to" | | 8 | "Rory had ironed it flat" | | 9 | "She stepped through." | | 10 | "The grass swallowed her footsteps" | | 11 | "That was the first wrong" | | 12 | "October grass, wet with midnight" | | 13 | "The oaks began a hundred" | | 14 | "She followed them, counting trunks" | | 15 | "The trees grew closer together" | | 16 | "Wildflowers starred the grass at" | | 17 | "She touched one petal." | | 18 | "It was warm." | | 19 | "The pendant gave a hard" |
| | ratio | 0.739 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 111 | | matches | | 0 | "Now it pulsed in a" | | 1 | "To no one." | | 2 | "To herself, which was worse." | | 3 | "If you want answers about" |
| | ratio | 0.036 | |
| 65.22% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 5 | | matches | | 0 | "Beyond it, Richmond Park lay folded in darkness, the grass silvered by a moon that seemed too large and too close, as though it had drifted down to have a look …" | | 1 | "Wildflowers starred the grass at her feet, white and gold, open and fresh as though noon had just passed." | | 2 | "Not even the far-off rumble of the city, which reached everywhere in London, a permanent bass note under every silence she'd ever known." | | 3 | "She'd walked past it, she was nearly certain, she had counted it, eight or nine, but the trunk now stood close enough to touch, bark furred with pale moss that …" | | 4 | "Something that used her ears the way a locksmith used a lock." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "she murmured (murmur)" | | 1 | "the voices agreed (agree)" |
| | dialogueSentences | 12 | | tagDensity | 0.417 | | leniency | 0.833 | | rawRatio | 0.4 | | effectiveRatio | 0.333 | |