| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 5 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 67.77% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1086 | | totalAiIsmAdverbs | 7 | | found | | 0 | | | 1 | | adverb | "deliberately" | | count | 1 |
| | 2 | | | 3 | | | 4 | |
| | highlights | | 0 | "utterly" | | 1 | "deliberately" | | 2 | "very" | | 3 | "perfectly" | | 4 | "quickly" |
| |
| 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) | |
| 81.58% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1086 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "weight" | | 1 | "pulse" | | 2 | "echo" | | 3 | "silence" |
| |
| 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 | 52 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 52 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 55 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 70 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 12 | | totalWords | 1094 | | ratio | 0.011 | | matches | | 0 | "always know where the door is" | | 1 | "never let him see you flinch" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 17 | | wordCount | 1037 | | uniqueNames | 9 | | maxNameDensity | 0.58 | | worstName | "Isolde" | | maxWindowNameDensity | 2 | | worstWindowName | "Isolde" | | discoveredNames | | Rory | 3 | | Grove | 1 | | Isolde | 6 | | Tuesday | 1 | | Richmond | 1 | | Park | 1 | | Eva | 2 | | Pembroke | 1 | | Lodge | 1 |
| | persons | | | places | | 0 | "Grove" | | 1 | "Richmond" | | 2 | "Park" | | 3 | "Pembroke" |
| | globalScore | 1 | | windowScore | 1 | |
| 80.56% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 36 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like the kind of decision that, on" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1094 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 55 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 20 | | mean | 54.7 | | std | 39.25 | | cv | 0.718 | | sampleLengths | | 0 | 50 | | 1 | 66 | | 2 | 43 | | 3 | 21 | | 4 | 104 | | 5 | 86 | | 6 | 7 | | 7 | 67 | | 8 | 1 | | 9 | 28 | | 10 | 75 | | 11 | 5 | | 12 | 91 | | 13 | 9 | | 14 | 65 | | 15 | 24 | | 16 | 67 | | 17 | 126 | | 18 | 135 | | 19 | 24 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 52 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 161 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 55 | | ratio | 0.091 | | matches | | 0 | "Now the flowers were the wrong color — grey, all of them, drained of whatever light usually fed them, and utterly still." | | 1 | "She noticed that too, filed it away next to the wind, told herself that fae places didn't play by regular rules, that Isolde herself had said as much — an hour in here could be a minute out there, or a week, and who was to say sound worked the same way." | | 2 | "Of course no one sat on it — Isolde was fae, unpredictable, prone to arriving fashionably at whatever hour suited her whims, and midnight in a place where time didn't behave was hardly a fixed appointment." | | 3 | "But something in the pattern of shadow between two oaks had changed — she couldn't say how, only that her eye kept sliding to that gap and finding it subtly different from the gaps on either side, deeper somehow, as though the darkness there had more of itself to give." | | 4 | "She simply turned — not ran, walked, fast, faster, the standing stones rising ahead of her like the mouth of a tunnel back into the ordinary world — and did not look behind her, though the breathing followed, patient, unhurried, matching her pace exactly no matter how quickly she moved, right up until her hand closed on the rough bark of the nearest oak and the whole grove behind her simply — stopped." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 76 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 3 | | adverbRatio | 0.039473684210526314 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.013157894736842105 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 55 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 55 | | mean | 19.89 | | std | 17.4 | | cv | 0.875 | | sampleLengths | | 0 | 50 | | 1 | 4 | | 2 | 9 | | 3 | 53 | | 4 | 8 | | 5 | 35 | | 6 | 20 | | 7 | 1 | | 8 | 28 | | 9 | 25 | | 10 | 22 | | 11 | 2 | | 12 | 27 | | 13 | 26 | | 14 | 8 | | 15 | 52 | | 16 | 7 | | 17 | 3 | | 18 | 31 | | 19 | 2 | | 20 | 31 | | 21 | 1 | | 22 | 4 | | 23 | 24 | | 24 | 5 | | 25 | 5 | | 26 | 5 | | 27 | 36 | | 28 | 24 | | 29 | 4 | | 30 | 1 | | 31 | 41 | | 32 | 50 | | 33 | 9 | | 34 | 2 | | 35 | 42 | | 36 | 7 | | 37 | 14 | | 38 | 16 | | 39 | 8 | | 40 | 5 | | 41 | 2 | | 42 | 38 | | 43 | 22 | | 44 | 6 | | 45 | 31 | | 46 | 2 | | 47 | 39 | | 48 | 3 | | 49 | 45 |
| |
| 53.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.41818181818181815 | | totalSentences | 55 | | uniqueOpeners | 23 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 46 | | matches | | 0 | "Then, the wildflowers had nodded" | | 1 | "Of course no one sat" |
| | ratio | 0.043 | |
| 63.48% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 46 | | matches | | 0 | "she said, to no one," | | 1 | "She started walking toward the" | | 2 | "Her boots made no sound" | | 3 | "She noticed that too, filed" | | 4 | "She stopped, held her own" | | 5 | "Her voice didn't echo." | | 6 | "It simply stopped, swallowed a" | | 7 | "She made herself keep walking." | | 8 | "She spun, fast, the way" | | 9 | "She stared at the place" | | 10 | "she said, and her voice" | | 11 | "She backed toward the stones." | | 12 | "She gasped, clapped her hand" | | 13 | "It gained a texture, like" | | 14 | "She did not scream." | | 15 | "She would think about that" | | 16 | "She simply turned — not" | | 17 | "She stood gripping the tree," |
| | ratio | 0.391 | |
| 90.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 34 | | totalSentences | 46 | | matches | | 0 | "The oaks that marked the" | | 1 | "Isolde had said midnight." | | 2 | "Isolde had said the pendant" | | 3 | "The pendant had been warm" | | 4 | "she said, to no one," | | 5 | "The grove at night did" | | 6 | "She started walking toward the" | | 7 | "Her boots made no sound" | | 8 | "She noticed that too, filed" | | 9 | "Halfway to the stone, she" | | 10 | "She stopped, held her own" | | 11 | "Nothing but grey flowers and" | | 12 | "Her voice didn't echo." | | 13 | "It simply stopped, swallowed a" | | 14 | "She made herself keep walking." | | 15 | "The stone was closer now." | | 16 | "Rory told herself this in" | | 17 | "The breathing came again." | | 18 | "She spun, fast, the way" | | 19 | "The grass at the edge" |
| | ratio | 0.739 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 46 | | matches | | 0 | "Now, ten feet past the" | | 1 | "Now the flowers were the" |
| | ratio | 0.043 | |
| 60.44% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 26 | | technicalSentenceCount | 3 | | matches | | 0 | "The oaks that marked the boundary stood exactly where they'd always stood, but Rory had never come to the Grove after dark, and she understood now, with the par…" | | 1 | "But something in the pattern of shadow between two oaks had changed — she couldn't say how, only that her eye kept sliding to that gap and finding it subtly dif…" | | 2 | "So she walked backward, slow, deliberate, eyes on the black gap between the oaks that had felt wrong from the first look." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 5 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0 | | effectiveRatio | 0 | |