| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.86% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1207 | | totalAiIsmAdverbs | 1 | | 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) | |
| 83.43% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1207 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "pulse" | | 1 | "warmth" | | 2 | "measured" |
| |
| 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 | 97 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 97 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 97 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1209 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 2 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 9 | | wordCount | 1207 | | uniqueNames | 7 | | maxNameDensity | 0.25 | | worstName | "Rory" | | maxWindowNameDensity | 0.5 | | worstWindowName | "Rory" | | discoveredNames | | Silas | 1 | | Victoria | 1 | | District | 1 | | Richmond | 1 | | Grove | 1 | | November | 1 | | Rory | 3 |
| | persons | | 0 | "Silas" | | 1 | "Victoria" | | 2 | "Grove" | | 3 | "Rory" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 59 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like a coal under ash" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.827 | | wordCount | 1209 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 97 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 28 | | mean | 43.18 | | std | 25.1 | | cv | 0.581 | | sampleLengths | | 0 | 53 | | 1 | 47 | | 2 | 68 | | 3 | 60 | | 4 | 8 | | 5 | 60 | | 6 | 58 | | 7 | 34 | | 8 | 58 | | 9 | 30 | | 10 | 63 | | 11 | 13 | | 12 | 52 | | 13 | 19 | | 14 | 60 | | 15 | 12 | | 16 | 8 | | 17 | 89 | | 18 | 22 | | 19 | 13 | | 20 | 69 | | 21 | 76 | | 22 | 33 | | 23 | 21 | | 24 | 97 | | 25 | 49 | | 26 | 19 | | 27 | 18 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 97 | | matches | | |
| 84.39% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 173 | | matches | | 0 | "was blooming" | | 1 | "was facing" | | 2 | "was climbing" |
| |
| 54.49% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 1 | | flaggedSentences | 3 | | totalSentences | 97 | | ratio | 0.031 | | matches | | 0 | "The oaks should have moved in a wind; there was no wind, and still the leaves worked against each other, a dry papery shuffle high above her, going on without her." | | 1 | "Each stone stood taller than her, damp to the touch, and each one carried a mark cut into the face at shoulder height — a spiral, worn shallow." | | 2 | "And the breath kept on at her ear, and now she could hear the rest of it, underneath — a second sound, low, so low she felt it more than heard it, a hum at the base of the oaks that came from the ground and not the air." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1207 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 26 | | adverbRatio | 0.021541010770505385 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.0016570008285004142 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 97 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 97 | | mean | 12.46 | | std | 11.25 | | cv | 0.903 | | sampleLengths | | 0 | 18 | | 1 | 29 | | 2 | 2 | | 3 | 2 | | 4 | 2 | | 5 | 7 | | 6 | 4 | | 7 | 5 | | 8 | 31 | | 9 | 25 | | 10 | 5 | | 11 | 11 | | 12 | 27 | | 13 | 9 | | 14 | 35 | | 15 | 3 | | 16 | 13 | | 17 | 8 | | 18 | 26 | | 19 | 3 | | 20 | 31 | | 21 | 5 | | 22 | 29 | | 23 | 3 | | 24 | 1 | | 25 | 20 | | 26 | 19 | | 27 | 4 | | 28 | 11 | | 29 | 16 | | 30 | 13 | | 31 | 29 | | 32 | 5 | | 33 | 5 | | 34 | 20 | | 35 | 4 | | 36 | 28 | | 37 | 3 | | 38 | 17 | | 39 | 11 | | 40 | 10 | | 41 | 3 | | 42 | 4 | | 43 | 10 | | 44 | 9 | | 45 | 24 | | 46 | 5 | | 47 | 10 | | 48 | 9 | | 49 | 2 |
| |
| 45.83% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.34375 | | totalSentences | 96 | | uniqueOpeners | 33 | |
| 39.22% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 85 | | matches | | 0 | "Somewhere behind her, at the" |
| | ratio | 0.012 | |
| 50.59% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 85 | | matches | | 0 | "She had spent two days" | | 1 | "She walked the last mile" | | 2 | "She climbed them anyway, the" | | 3 | "She counted six sets of" | | 4 | "She kept walking." | | 5 | "She followed it past the" | | 6 | "She counted them once." | | 7 | "She counted them again from" | | 8 | "She did not find the" | | 9 | "She held the pendant through" | | 10 | "she said out loud" | | 11 | "Her voice did not carry." | | 12 | "It landed on the grass" | | 13 | "She walked the ring." | | 14 | "She touched one." | | 15 | "She pulled her hand back" | | 16 | "She let it." | | 17 | "She crouched and laid her" | | 18 | "She stayed crouched and listened." | | 19 | "She turned a slow circle" |
| | ratio | 0.424 | |
| 54.12% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 85 | | matches | | 0 | "The pendant woke her at" | | 1 | "Rory sat up in the" | | 2 | "She had spent two days" | | 3 | "She walked the last mile" | | 4 | "The gates shut at dusk." | | 5 | "A sign on the railings" | | 6 | "She climbed them anyway, the" | | 7 | "Deer stood in the dark" | | 8 | "She counted six sets of" | | 9 | "She kept walking." | | 10 | "The pendant warmed again when" | | 11 | "She followed it past the" | | 12 | "The oaks should have moved" | | 13 | "The Grove opened without warning." | | 14 | "Bluebells in November." | | 15 | "A spread of white cow" | | 16 | "The standing stones ringed the" | | 17 | "She counted them once." | | 18 | "She counted them again from" | | 19 | "Rory put her hand in" |
| | ratio | 0.812 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 85 | | matches | (empty) | | ratio | 0 | |
| 77.92% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 4 | | matches | | 0 | "Hottest on the District, hottest of all at Richmond, and now the thing sat quiet against her ribs, patient, as if it had done its job and handed her the rest." | | 1 | "She held the pendant through her shirt and felt its warmth spread up her wrist to the crescent scar, which tingled the way it did when the weather turned." | | 2 | "And the breath kept on at her ear, and now she could hear the rest of it, underneath — a second sound, low, so low she felt it more than heard it, a hum at the …" | | 3 | "She counted slowly, pointing at each one, because counting kept her hands busy and her eyes moving." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 2 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |