| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 8 | | tagDensity | 0.625 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 76.51% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1277 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "utterly" | | 1 | "suddenly" | | 2 | "completely" | | 3 | "slightly" | | 4 | "very" | | 5 | "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) | |
| 84.34% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1277 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "warmth" | | 1 | "pulse" | | 2 | "perfect" |
| |
| 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 | 83 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 83 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 87 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 68 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 16 | | totalWords | 1282 | | ratio | 0.012 | | matches | | 0 | "that's the first wrong thing." | | 1 | "burning" | | 2 | "out, out, go out." | | 3 | "Gone" | | 4 | "Think. What do you know." |
| |
| 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 | 21 | | wordCount | 1201 | | uniqueNames | 10 | | maxNameDensity | 0.67 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Sheen | 2 | | Cross | 2 | | Rory | 8 | | Park | 1 | | Tuesday | 1 | | November | 2 | | Heartstone | 1 | | Richmond | 2 | | Isolde | 1 | | London | 1 |
| | persons | | 0 | "Cross" | | 1 | "Rory" | | 2 | "Heartstone" | | 3 | "Isolde" |
| | places | | 0 | "Sheen" | | 1 | "Park" | | 2 | "November" | | 3 | "Richmond" | | 4 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 60 | | glossingSentenceCount | 1 | | matches | | 0 | "sounded like a man clearing his throat in" |
| |
| 43.99% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.56 | | wordCount | 1282 | | matches | | 0 | "not warmth, not the low pulse she'd learned to dread, but the opposite" | | 1 | "not the low pulse she'd learned to dread, but the opposite" |
| |
| 90.04% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 87 | | matches | | 0 | "coughed — that hoarse" | | 1 | "knew that whatever" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 34.65 | | std | 31.52 | | cv | 0.91 | | sampleLengths | | 0 | 16 | | 1 | 82 | | 2 | 14 | | 3 | 133 | | 4 | 45 | | 5 | 90 | | 6 | 12 | | 7 | 99 | | 8 | 8 | | 9 | 46 | | 10 | 13 | | 11 | 4 | | 12 | 62 | | 13 | 2 | | 14 | 59 | | 15 | 3 | | 16 | 19 | | 17 | 39 | | 18 | 12 | | 19 | 7 | | 20 | 50 | | 21 | 4 | | 22 | 49 | | 23 | 9 | | 24 | 47 | | 25 | 33 | | 26 | 5 | | 27 | 71 | | 28 | 6 | | 29 | 52 | | 30 | 41 | | 31 | 3 | | 32 | 50 | | 33 | 21 | | 34 | 7 | | 35 | 60 | | 36 | 9 |
| |
| 84.13% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 83 | | matches | | 0 | "been chained" | | 1 | "been given" | | 2 | "was rimed" | | 3 | "was gone" | | 4 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 197 | | matches | | 0 | "was listening" | | 1 | "was waiting" |
| |
| 11.49% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 87 | | ratio | 0.046 | | matches | | 0 | "That was the thing that had brought her here — not warmth, not the low pulse she'd learned to dread, but the opposite." | | 1 | "Somewhere off to her left a stag coughed — that hoarse, throaty bark that always sounded like a man clearing his throat in an empty room." | | 2 | "You saw the stones and you saw, between them, more of the same park — bracken, birch, the orange stain of London on the underside of the clouds." | | 3 | "Wildflowers to her knees — cornflowers, ragged robin, ox-eye daisies, all of it impossible, all of it there." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 223 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 6 | | adverbRatio | 0.026905829596412557 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.004484304932735426 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 87 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 87 | | mean | 14.74 | | std | 13.81 | | cv | 0.937 | | sampleLengths | | 0 | 16 | | 1 | 6 | | 2 | 44 | | 3 | 2 | | 4 | 30 | | 5 | 3 | | 6 | 11 | | 7 | 7 | | 8 | 23 | | 9 | 8 | | 10 | 2 | | 11 | 68 | | 12 | 14 | | 13 | 1 | | 14 | 10 | | 15 | 1 | | 16 | 2 | | 17 | 42 | | 18 | 13 | | 19 | 12 | | 20 | 26 | | 21 | 4 | | 22 | 5 | | 23 | 30 | | 24 | 12 | | 25 | 31 | | 26 | 11 | | 27 | 6 | | 28 | 28 | | 29 | 23 | | 30 | 8 | | 31 | 30 | | 32 | 7 | | 33 | 9 | | 34 | 13 | | 35 | 4 | | 36 | 14 | | 37 | 18 | | 38 | 30 | | 39 | 2 | | 40 | 6 | | 41 | 5 | | 42 | 32 | | 43 | 7 | | 44 | 9 | | 45 | 3 | | 46 | 9 | | 47 | 10 | | 48 | 5 | | 49 | 20 |
| |
| 58.62% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.41379310344827586 | | totalSentences | 87 | | uniqueOpeners | 36 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 71 | | matches | | 0 | "Somewhere off to her left" | | 1 | "Then you stepped through and" | | 2 | "Then she stepped through." | | 3 | "Just stopped, the way a" | | 4 | "Then, from the far side" |
| | ratio | 0.07 | |
| 67.89% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 71 | | matches | | 0 | "She'd done worse things in" | | 1 | "She straightened up." | | 2 | "Her breath came out white" | | 3 | "She went up the slope" | | 4 | "He should have been quiet." | | 5 | "She stopped and listened until" | | 6 | "She had never been able" | | 7 | "You saw the stones and" | | 8 | "She put her hand on" | | 9 | "It was wet and rough" | | 10 | "She'd never noticed she'd noticed" | | 11 | "She'd found it unbearable the" | | 12 | "She'd have given a finger" | | 13 | "Her voice went out about" | | 14 | "She heard it clearly: three," | | 15 | "She turned toward it with" | | 16 | "She reached for the pendant" | | 17 | "It had gone from cold" | | 18 | "She looked back at the" | | 19 | "It was a thing her" |
| | ratio | 0.38 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 51 | | totalSentences | 71 | | matches | | 0 | "The gate at Sheen Cross" | | 1 | "She'd done worse things in" | | 2 | "The drop on the far" | | 3 | "Richmond Park at half past" | | 4 | "She straightened up." | | 5 | "Her breath came out white" | | 6 | "The pendant lay cold against" | | 7 | "That was the thing that" | | 8 | "She went up the slope" | | 9 | "The grass was rimed and" | | 10 | "He should have been quiet." | | 11 | "She stopped and listened until" | | 12 | "The standing stones came out" | | 13 | "She had never been able" | | 14 | "That was the point of" | | 15 | "You saw the stones and" | | 16 | "She put her hand on" | | 17 | "It was wet and rough" | | 18 | "She'd never noticed she'd noticed" | | 19 | "Rory stood there with her" |
| | ratio | 0.718 | |
| 70.42% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 71 | | matches | | 0 | "Because Isolde had told her" |
| | ratio | 0.014 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 38 | | technicalSentenceCount | 1 | | matches | | 0 | "She knew that whatever was in here with her had let her walk in, and that if it wanted her dead she'd have been dead in the first ten seconds, and that therefor…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 8 | | tagDensity | 0.375 | | leniency | 0.75 | | rawRatio | 0 | | effectiveRatio | 0 | |