| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 15 | | tagDensity | 0.067 | | leniency | 0.133 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1205 | | 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) | |
| 58.51% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1205 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "silence" | | 1 | "weight" | | 2 | "tinged" | | 3 | "etched" | | 4 | "could feel" | | 5 | "crystallized" | | 6 | "methodical" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 71 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 71 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1202 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 41 | | wordCount | 982 | | uniqueNames | 11 | | maxNameDensity | 1.53 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Harlow | 1 | | Quinn | 15 | | Camden | 1 | | Town | 1 | | Kowalski | 1 | | Adam | 1 | | Victorian | 1 | | Veil | 2 | | Market | 6 | | Met | 1 | | Eva | 11 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Kowalski" | | 3 | "Adam" | | 4 | "Victorian" | | 5 | "Market" | | 6 | "Eva" |
| | places | | | globalScore | 0.736 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 59 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 33.61% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.664 | | wordCount | 1202 | | matches | | 0 | "not pointing north, but jerking toward the victim's outstretched right hand with fra" | | 1 | "not at the body, but at the solid brick behind it, vibrating against her palm wit" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 85 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 26 | | mean | 46.23 | | std | 30.84 | | cv | 0.667 | | sampleLengths | | 0 | 61 | | 1 | 37 | | 2 | 80 | | 3 | 11 | | 4 | 120 | | 5 | 43 | | 6 | 7 | | 7 | 61 | | 8 | 93 | | 9 | 44 | | 10 | 22 | | 11 | 47 | | 12 | 20 | | 13 | 26 | | 14 | 23 | | 15 | 82 | | 16 | 35 | | 17 | 19 | | 18 | 87 | | 19 | 33 | | 20 | 22 | | 21 | 110 | | 22 | 28 | | 23 | 13 | | 24 | 50 | | 25 | 28 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 71 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 156 | | matches | (empty) | |
| 42.02% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 3 | | totalSentences | 85 | | ratio | 0.035 | | matches | | 0 | "Books tumbled out—ancient grimoires bound in cracked leather, their pages swollen with moisture from the damp air." | | 1 | "The Veil Market moved every full moon, reconfiguring its spaces, walls sliding like theater scenery, but this section—this particular stretch of platform—should not exist until the moon reached its zenith and the Market underwent another shift." | | 2 | "The pattern crystallized in her mind with the finality of a hammer strike—the vertical death, the dry mortar, the token placed in the hand like a calling card, the absence of blood." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 990 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 6 | | adverbRatio | 0.006060606060606061 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.00101010101010101 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 14.14 | | std | 9.4 | | cv | 0.665 | | sampleLengths | | 0 | 14 | | 1 | 8 | | 2 | 16 | | 3 | 23 | | 4 | 9 | | 5 | 1 | | 6 | 27 | | 7 | 16 | | 8 | 17 | | 9 | 26 | | 10 | 21 | | 11 | 7 | | 12 | 4 | | 13 | 4 | | 14 | 15 | | 15 | 21 | | 16 | 19 | | 17 | 16 | | 18 | 5 | | 19 | 9 | | 20 | 31 | | 21 | 14 | | 22 | 8 | | 23 | 21 | | 24 | 4 | | 25 | 3 | | 26 | 12 | | 27 | 8 | | 28 | 41 | | 29 | 2 | | 30 | 11 | | 31 | 10 | | 32 | 23 | | 33 | 26 | | 34 | 21 | | 35 | 9 | | 36 | 17 | | 37 | 18 | | 38 | 14 | | 39 | 8 | | 40 | 9 | | 41 | 6 | | 42 | 14 | | 43 | 6 | | 44 | 12 | | 45 | 5 | | 46 | 15 | | 47 | 6 | | 48 | 6 | | 49 | 14 |
| |
| 41.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.2857142857142857 | | totalSentences | 84 | | uniqueOpeners | 24 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 68 | | matches | (empty) | | ratio | 0 | |
| 96.47% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 68 | | matches | | 0 | "Her boots struck sparks against" | | 1 | "She checked the leather watch" | | 2 | "She tucked a curl of" | | 3 | "Her salt-and-pepper hair, cropped short" | | 4 | "She noted the sharp line" | | 5 | "His hands were clasped over" | | 6 | "Her satchel lay open, pages" | | 7 | "Her boots scraped the tile," | | 8 | "She walked the perimeter, her" | | 9 | "She retrieved a small brass" | | 10 | "She opened the dead man's" | | 11 | "She lifted it, feeling its" | | 12 | "Her freckled complexion drained of" | | 13 | "She walked to the body," | | 14 | "She pressed her palm against" | | 15 | "She ran her fingers along" | | 16 | "She looked at the brick" | | 17 | "They moved it through the" | | 18 | "She looked at Quinn, her" | | 19 | "She pressed her ear against" |
| | ratio | 0.309 | |
| 11.47% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 68 | | matches | | 0 | "Detective Harlow Quinn descended the" | | 1 | "Her boots struck sparks against" | | 2 | "The air down here tasted" | | 3 | "She checked the leather watch" | | 4 | "Eva Kowalski stood beside a" | | 5 | "Books tumbled out—ancient grimoires bound" | | 6 | "Eva wore her round glasses" | | 7 | "She tucked a curl of" | | 8 | "Eva's voice cracked against the" | | 9 | "Quinn approached the body." | | 10 | "Her salt-and-pepper hair, cropped short" | | 11 | "She noted the sharp line" | | 12 | "A male vendor lay against" | | 13 | "His hands were clasped over" | | 14 | "None on his shirt front," | | 15 | "The crimson had soaked into" | | 16 | "Eva adjusted her glasses, sliding" | | 17 | "Her satchel lay open, pages" | | 18 | "Quinn shook her head." | | 19 | "Eva pulled a book from" |
| | ratio | 0.897 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 68 | | matches | (empty) | | ratio | 0 | |
| 55.75% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 5 | | matches | | 0 | "Three hours since the call from the station's caretaker, a nervous man who had stumbled upon the body during his rounds and fled without disturbing the scene." | | 1 | "Eva wore her round glasses pushed up against her forehead, revealing green eyes that reflected the bioluminescent fungi clinging to the arched ceiling like pale…" | | 2 | "The stalls lined the old northbound platform for the current evening, canvas awnings flapping in a wind that should not exist in a sealed tube station." | | 3 | "The compass needle spun faster in Quinn's hand, pointing not at the body, but at the solid brick behind it, vibrating against her palm with a hum she could feel…" | | 4 | "They moved it through the shift itself, using the Market's own transfiguration to create an alibi that existed in time but not in space, a crime scene that asse…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |