| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1468 | | 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) | |
| 76.16% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1468 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "pulse" | | 1 | "weight" | | 2 | "silence" | | 3 | "resolved" | | 4 | "throbbed" |
| |
| 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 | 170 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 170 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 174 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 75 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1468 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 0 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 21 | | wordCount | 1457 | | uniqueNames | 8 | | maxNameDensity | 0.69 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Heartstone | 3 | | Eva | 1 | | Roath | 1 | | Richmond | 1 | | London | 1 | | English | 1 | | Rory | 10 | | Bark | 3 |
| | persons | | 0 | "Heartstone" | | 1 | "Eva" | | 2 | "Rory" | | 3 | "Bark" |
| | places | | 0 | "Roath" | | 1 | "Richmond" | | 2 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 76 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1468 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 174 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 51 | | mean | 28.78 | | std | 22.67 | | cv | 0.788 | | sampleLengths | | 0 | 10 | | 1 | 38 | | 2 | 64 | | 3 | 58 | | 4 | 13 | | 5 | 20 | | 6 | 3 | | 7 | 1 | | 8 | 62 | | 9 | 5 | | 10 | 44 | | 11 | 1 | | 12 | 34 | | 13 | 4 | | 14 | 44 | | 15 | 2 | | 16 | 53 | | 17 | 29 | | 18 | 29 | | 19 | 4 | | 20 | 42 | | 21 | 20 | | 22 | 2 | | 23 | 25 | | 24 | 2 | | 25 | 32 | | 26 | 39 | | 27 | 79 | | 28 | 6 | | 29 | 31 | | 30 | 5 | | 31 | 41 | | 32 | 76 | | 33 | 3 | | 34 | 47 | | 35 | 47 | | 36 | 49 | | 37 | 27 | | 38 | 4 | | 39 | 44 | | 40 | 4 | | 41 | 11 | | 42 | 4 | | 43 | 47 | | 44 | 22 | | 45 | 47 | | 46 | 1 | | 47 | 43 | | 48 | 54 | | 49 | 21 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 170 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 226 | | matches | | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 174 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1464 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 36 | | adverbRatio | 0.02459016393442623 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.0020491803278688526 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 174 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 174 | | mean | 8.44 | | std | 9.54 | | cv | 1.131 | | sampleLengths | | 0 | 5 | | 1 | 5 | | 2 | 13 | | 3 | 16 | | 4 | 9 | | 5 | 3 | | 6 | 23 | | 7 | 24 | | 8 | 11 | | 9 | 1 | | 10 | 1 | | 11 | 1 | | 12 | 5 | | 13 | 20 | | 14 | 7 | | 15 | 6 | | 16 | 2 | | 17 | 2 | | 18 | 16 | | 19 | 13 | | 20 | 1 | | 21 | 5 | | 22 | 14 | | 23 | 3 | | 24 | 1 | | 25 | 5 | | 26 | 3 | | 27 | 12 | | 28 | 10 | | 29 | 4 | | 30 | 2 | | 31 | 12 | | 32 | 7 | | 33 | 2 | | 34 | 2 | | 35 | 3 | | 36 | 5 | | 37 | 29 | | 38 | 4 | | 39 | 1 | | 40 | 10 | | 41 | 1 | | 42 | 8 | | 43 | 1 | | 44 | 1 | | 45 | 5 | | 46 | 15 | | 47 | 1 | | 48 | 1 | | 49 | 2 |
| |
| 50.10% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 20 | | diversityRatio | 0.3699421965317919 | | totalSentences | 173 | | uniqueOpeners | 64 | |
| 80.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 125 | | matches | | 0 | "Just the stone on its" | | 1 | "Then, from the far side" | | 2 | "Then it spoke with her" |
| | ratio | 0.024 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 125 | | matches | | 0 | "She pressed two fingers to" | | 1 | "She had followed the heat." | | 2 | "She pulled back." | | 3 | "Her own voice sounded small." | | 4 | "She hated that." | | 5 | "She crouched, unhooked the torch" | | 6 | "She swept left, then right," | | 7 | "She turned on her heel," | | 8 | "She held still and counted" | | 9 | "She kept the stones on" | | 10 | "She snapped her head toward" | | 11 | "She looked away on purpose," | | 12 | "She reached the gap and" | | 13 | "She looked down and counted." | | 14 | "She pulled her phone from" | | 15 | "She had left the flat" | | 16 | "She locked the phone and" | | 17 | "She photographed the bare footprints," | | 18 | "It came from the thicket," | | 19 | "It cut off mid-breath." |
| | ratio | 0.288 | |
| 40.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 105 | | totalSentences | 125 | | matches | | 0 | "The hawthorn scored her cheek." | | 1 | "Copper bloomed on her tongue." | | 2 | "Rory shoved through the last" | | 3 | "The Heartstone seared her skin" | | 4 | "She pressed two fingers to" | | 5 | "Oak, ancient, taller than a" | | 6 | "Wildflowers carpeted the ground between" | | 7 | "The air tasted of honey" | | 8 | "She had followed the heat." | | 9 | "The pendant had never burned" | | 10 | "Rory stopped at the nearest" | | 11 | "Trees at night held cold." | | 12 | "This one held the residual" | | 13 | "She pulled back." | | 14 | "Her own voice sounded small." | | 15 | "She hated that." | | 16 | "She crouched, unhooked the torch" | | 17 | "The beam cut a clean" | | 18 | "Nothing crouched in it." | | 19 | "She swept left, then right," |
| | ratio | 0.84 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 125 | | matches | (empty) | | ratio | 0 | |
| 87.91% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 52 | | technicalSentenceCount | 4 | | matches | | 0 | "Wildflowers carpeted the ground between them, white and gold and a pale, frosted blue, petals open as if noon lived here and nowhere else." | | 1 | "The other breathing continued, unhurried, as if whoever owned it had all night and knew she did not." | | 2 | "The ring tightening by inches, then by feet, the gaps shrinking, the night beyond the oaks folding away until there was only the grove and the thing that had he…" | | 3 | "Rory raised the torch and clicked it on, beam dead into that stolen face, and the light went through it as if the face were smoke, and what stood behind the smo…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |