| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 1 | | adverbTags | | 0 | "Eva swallowed hard. [hard]" |
| | dialogueSentences | 14 | | tagDensity | 0.714 | | leniency | 1 | | rawRatio | 0.1 | | effectiveRatio | 0.1 | |
| 96.39% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1385 | | 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) | |
| 63.90% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1385 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "rhythmic" | | 1 | "standard" | | 2 | "shimmered" | | 3 | "weight" | | 4 | "calibrated" | | 5 | "scanning" | | 6 | "etched" | | 7 | "magnetic" | | 8 | "could feel" |
| |
| 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 | 87 | | matches | (empty) | |
| 11.49% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 8 | | hedgeCount | 0 | | narrationSentences | 87 | | filterMatches | | 0 | "watch" | | 1 | "know" | | 2 | "know know" | | 3 | "think" |
| | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 88 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 83 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1384 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 48 | | wordCount | 1170 | | uniqueNames | 12 | | maxNameDensity | 1.37 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "You" | | discoveredNames | | Harlow | 2 | | Quinn | 16 | | Camden | 1 | | North | 1 | | Kowalski | 1 | | Eva | 9 | | Shadelight | 2 | | Veil | 1 | | Market | 3 | | You | 7 | | Detective | 2 | | Morris | 3 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Kowalski" | | 3 | "Eva" | | 4 | "Market" | | 5 | "You" | | 6 | "Morris" |
| | places | (empty) | | globalScore | 0.816 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like a clue. Quinn walked into the" |
| |
| 55.49% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.445 | | wordCount | 1384 | | matches | | 0 | "not north, but directly at Quinn's chest" | | 1 | "not from fear of the dead, but from fear of the object in Quinn’s hand" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 88 | | matches | (empty) | |
| 75.84% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 46.13 | | std | 19.17 | | cv | 0.415 | | sampleLengths | | 0 | 96 | | 1 | 49 | | 2 | 60 | | 3 | 22 | | 4 | 48 | | 5 | 31 | | 6 | 32 | | 7 | 72 | | 8 | 53 | | 9 | 52 | | 10 | 67 | | 11 | 37 | | 12 | 16 | | 13 | 37 | | 14 | 35 | | 15 | 44 | | 16 | 52 | | 17 | 34 | | 18 | 40 | | 19 | 38 | | 20 | 28 | | 21 | 57 | | 22 | 21 | | 23 | 21 | | 24 | 40 | | 25 | 33 | | 26 | 54 | | 27 | 50 | | 28 | 82 | | 29 | 83 |
| |
| 89.13% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 87 | | matches | | 0 | "is pulled" | | 1 | "was meant" | | 2 | "been haunted" | | 3 | "been found" |
| |
| 37.40% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 205 | | matches | | 0 | "was reacting" | | 1 | "was trembling" | | 2 | "wasn't pointing" | | 3 | "was pointing" | | 4 | "was blowing" |
| |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 1 | | semicolonCount | 0 | | flaggedSentences | 1 | | totalSentences | 88 | | ratio | 0.011 | | matches | | 0 | "The dim light caught the round rims of her glasses and her frizzy curls as she tucked a stray lock behind her left ear—a nervous tic Quinn had known since they were children." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 725 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 20 | | adverbRatio | 0.027586206896551724 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.002758620689655172 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 88 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 88 | | mean | 15.73 | | std | 16.28 | | cv | 1.035 | | sampleLengths | | 0 | 16 | | 1 | 21 | | 2 | 31 | | 3 | 28 | | 4 | 14 | | 5 | 3 | | 6 | 11 | | 7 | 21 | | 8 | 12 | | 9 | 33 | | 10 | 15 | | 11 | 22 | | 12 | 48 | | 13 | 31 | | 14 | 14 | | 15 | 6 | | 16 | 4 | | 17 | 8 | | 18 | 13 | | 19 | 10 | | 20 | 10 | | 21 | 14 | | 22 | 25 | | 23 | 53 | | 24 | 52 | | 25 | 67 | | 26 | 37 | | 27 | 9 | | 28 | 7 | | 29 | 37 | | 30 | 35 | | 31 | 16 | | 32 | 5 | | 33 | 3 | | 34 | 6 | | 35 | 3 | | 36 | 8 | | 37 | 3 | | 38 | 4 | | 39 | 6 | | 40 | 3 | | 41 | 15 | | 42 | 4 | | 43 | 20 | | 44 | 34 | | 45 | 13 | | 46 | 6 | | 47 | 7 | | 48 | 6 | | 49 | 8 |
| |
| 51.89% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3522727272727273 | | totalSentences | 88 | | uniqueOpeners | 31 | |
| 41.15% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 81 | | matches | | | ratio | 0.012 | |
| 61.98% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 81 | | matches | | 0 | "It was a location that" | | 1 | "Her left wrist ticked on" | | 2 | "She adjusted the knot of" | | 3 | "You said it was urgent" | | 4 | "It's a Shadelight ritual." | | 5 | "She pulled a pair of" | | 6 | "Her fingers were steady, her" | | 7 | "She didn't need a coroner's" | | 8 | "I don't know what a" | | 9 | "She pulled the object out." | | 10 | "I don't think I can" | | 11 | "It's not a blood clotting" | | 12 | "It's something older." | | 13 | "She watched the compass needle" | | 14 | "It wasn't magnetic." | | 15 | "It was reacting to something" | | 16 | "She looked at Eva." | | 17 | "You knew this was" | | 18 | "You asked for help on" | | 19 | "You know I research these" |
| | ratio | 0.395 | |
| 46.42% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 81 | | matches | | 0 | "The air down here tasted" | | 1 | "Detective Harlow Quinn stepped onto" | | 2 | "It was a location that" | | 3 | "Her left wrist ticked on" | | 4 | "Quinn ignored them." | | 5 | "She adjusted the knot of" | | 6 | "Eva Kowalski stood near the" | | 7 | "The dim light caught the" | | 8 | "Eva looked up, her green" | | 9 | "You said it was urgent" | | 10 | "Quinn stepped past the tape." | | 11 | "Protocol broke down the moment" | | 12 | "Eva swallowed hard. That happens" | | 13 | "The leather of her satchel" | | 14 | "It's a Shadelight ritual." | | 15 | "The target's essence is pulled" | | 16 | "Quinn squatted beside the body," | | 17 | "She pulled a pair of" | | 18 | "Her fingers were steady, her" | | 19 | "She didn't need a coroner's" |
| | ratio | 0.827 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 81 | | matches | | 0 | "If this is a wasn't" | | 1 | "If you think this is" |
| | ratio | 0.025 | |
| 8.93% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 6 | | matches | | 0 | "It was a location that shouldn't exist on any official map, yet the bone token she had passed to the ticketless guard at the entrance proved her right to be her…" | | 1 | "Quinn stepped past the tape. The victim lay sprawled across the third rail sleepers, face down in a puddle of dark fluid that shimmered faintly. There was no br…" | | 2 | "The victim was a middle-aged man from the local council, someone who should have been asleep in his bed, not dead on a subway track." | | 3 | "Quinn looked up, her brown eyes hard. If they fell, why is the floor dry around him? Why is there no residue on his clothes? She leaned in closer, searching the…" | | 4 | "She reached up to tuck her hair behind her ear again, a nervous habit that felt more desperate now." | | 5 | "Quinn turned away from her old friend, walking out of the pool of light. She didn't look back to see if Eva had followed her. She could feel the weight of the c…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 14 | | tagDensity | 0.214 | | leniency | 0.429 | | rawRatio | 0 | | effectiveRatio | 0 | |