| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 23 | | tagDensity | 0.174 | | leniency | 0.348 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 74.09% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1351 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "perfectly" | | 1 | "really" | | 2 | "suddenly" | | 3 | "very" | | 4 | "completely" |
| |
| 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) | |
| 25.98% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1351 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "rhythmic" | | 1 | "shattered" | | 2 | "gloom" | | 3 | "glinting" | | 4 | "standard" | | 5 | "pristine" | | 6 | "etched" | | 7 | "tracing" | | 8 | "echoed" | | 9 | "vibrated" | | 10 | "shimmered" | | 11 | "weight" | | 12 | "footsteps" | | 13 | "flickered" | | 14 | "pulsed" | | 15 | "measured" | | 16 | "magnetic" |
| |
| 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 | 81 | | matches | (empty) | |
| 54.67% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 4 | | narrationSentences | 81 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 100 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1345 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 14 | | wordCount | 1000 | | uniqueNames | 7 | | maxNameDensity | 0.5 | | worstName | "Miller" | | maxWindowNameDensity | 1 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 1 | | Town | 1 | | Quinn | 3 | | Miller | 5 | | Morris | 2 | | Kowalski | 1 | | Veil | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Miller" | | 2 | "Morris" | | 3 | "Kowalski" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | glossingSentenceCount | 4 | | matches | | 0 | "residue that seemed to absorb the light rather than reflect it" | | 1 | "felt like dried candle wax and ozone" | | 2 | "felt like a physical weight pressing ag" | | 3 | "felt like an open invitation" |
| |
| 51.30% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.487 | | wordCount | 1345 | | matches | | 0 | "not blood, but ink" | | 1 | "not north or south, but the shifting, bleeding heart of the city itself" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 100 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 30.57 | | std | 20.22 | | cv | 0.662 | | sampleLengths | | 0 | 71 | | 1 | 53 | | 2 | 11 | | 3 | 40 | | 4 | 42 | | 5 | 81 | | 6 | 51 | | 7 | 11 | | 8 | 25 | | 9 | 15 | | 10 | 73 | | 11 | 37 | | 12 | 3 | | 13 | 12 | | 14 | 41 | | 15 | 10 | | 16 | 22 | | 17 | 11 | | 18 | 2 | | 19 | 47 | | 20 | 47 | | 21 | 8 | | 22 | 16 | | 23 | 9 | | 24 | 41 | | 25 | 65 | | 26 | 14 | | 27 | 25 | | 28 | 37 | | 29 | 23 | | 30 | 27 | | 31 | 47 | | 32 | 7 | | 33 | 51 | | 34 | 26 | | 35 | 20 | | 36 | 44 | | 37 | 12 | | 38 | 50 | | 39 | 22 | | 40 | 1 | | 41 | 40 | | 42 | 20 | | 43 | 35 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 81 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 159 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 100 | | ratio | 0.06 | | matches | | 0 | "It reminded her of the files back at the precinct—the cold cases that never touched the light of day." | | 1 | "Eva Kowalski’s warnings echoed in her mind—the tales of the Veil, of the market that shifted with the moon and left nothing behind but the scent of old books and cold iron." | | 2 | "A sound filtered through—a muffled, rhythmic thumping." | | 3 | "She looked at the blood smear once more—not blood, but ink." | | 4 | "She saw a shape emerging from the darkness—a hand, pale as moonlight, fingers tapering into something sharper than bone." | | 5 | "She leveled her gaze at the darkness, the military training of eighteen years kicking in—assess, engage, neutralize." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1010 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 25 | | adverbRatio | 0.024752475247524754 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.006930693069306931 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 100 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 100 | | mean | 13.45 | | std | 9.06 | | cv | 0.674 | | sampleLengths | | 0 | 27 | | 1 | 18 | | 2 | 17 | | 3 | 9 | | 4 | 16 | | 5 | 20 | | 6 | 6 | | 7 | 11 | | 8 | 11 | | 9 | 19 | | 10 | 21 | | 11 | 42 | | 12 | 8 | | 13 | 20 | | 14 | 2 | | 15 | 3 | | 16 | 12 | | 17 | 9 | | 18 | 13 | | 19 | 3 | | 20 | 2 | | 21 | 9 | | 22 | 51 | | 23 | 11 | | 24 | 25 | | 25 | 15 | | 26 | 6 | | 27 | 17 | | 28 | 21 | | 29 | 19 | | 30 | 10 | | 31 | 9 | | 32 | 4 | | 33 | 3 | | 34 | 21 | | 35 | 3 | | 36 | 12 | | 37 | 10 | | 38 | 3 | | 39 | 8 | | 40 | 20 | | 41 | 10 | | 42 | 22 | | 43 | 11 | | 44 | 2 | | 45 | 22 | | 46 | 18 | | 47 | 7 | | 48 | 6 | | 49 | 18 |
| |
| 49.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.38 | | totalSentences | 100 | | uniqueOpeners | 38 | |
| 86.58% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 77 | | matches | | 0 | "Too many limbs." | | 1 | "Too many hearts." |
| | ratio | 0.026 | |
| 53.77% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 77 | | matches | | 0 | "She adjusted the leather watch" | | 1 | "It spun in erratic, frenzied" | | 2 | "He gestured toward a dark" | | 3 | "She leaned down, eyes squinting" | | 4 | "They didn't click." | | 5 | "She stood, her sharp jaw" | | 6 | "She walked the perimeter of" | | 7 | "It reminded her of the" | | 8 | "She stopped at the junction" | | 9 | "It was polished." | | 10 | "She reached out, hovering her" | | 11 | "She sensed a pressure behind" | | 12 | "She swung around, her gaze" | | 13 | "She reached into her coat" | | 14 | "She didn't trust the thing," | | 15 | "She laid the token on" | | 16 | "She watched as the motes" | | 17 | "It deepened, forming an aperture" | | 18 | "She had dismissed them as" | | 19 | "she muttered, her voice tight" |
| | ratio | 0.416 | |
| 31.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 66 | | totalSentences | 77 | | matches | | 0 | "Harlow Quinn ducked under a" | | 1 | "She adjusted the leather watch" | | 2 | "The air tasted of ozone" | | 3 | "A lone halogen lamp flooded" | | 4 | "The needle didn't swing toward" | | 5 | "It spun in erratic, frenzied" | | 6 | "Officer Miller stood near the" | | 7 | "He gestured toward a dark" | | 8 | "Quinn ignored him, her gaze" | | 9 | "The dust was thick, layered" | | 10 | "She leaned down, eyes squinting" | | 11 | "They didn't click." | | 12 | "A low-frequency vibration rattled the" | | 13 | "Miller rubbed his tired eyes," | | 14 | "She stood, her sharp jaw" | | 15 | "She walked the perimeter of" | | 16 | "Every crack stopped abruptly, hemmed" | | 17 | "It reminded her of the" | | 18 | "The ones Morris had chased" | | 19 | "She stopped at the junction" |
| | ratio | 0.857 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 77 | | matches | | 0 | "Now, standing in the subterranean" | | 1 | "To say it here, in" |
| | ratio | 0.026 | |
| 8.93% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 9 | | matches | | 0 | "Rain hammered against the corrugated steel roof of the disused Camden Town service tunnel, a rhythmic drumming that masked the skittering of rats beneath the ro…" | | 1 | "Every crack stopped abruptly, hemmed in by the faint, shimmering residue of something that felt like dried candle wax and ozone." | | 2 | "The sharp, jagged edges that should have torn a man’s scalp open were rounded smooth, as if melted by extreme heat." | | 3 | "She sensed a pressure behind her eyes, a sharp, piercing migraine that echoed the rhythm of the spinning compass needle." | | 4 | "Eva Kowalski’s warnings echoed in her mind—the tales of the Veil, of the market that shifted with the moon and left nothing behind but the scent of old books an…" | | 5 | "Now, standing in the subterranean tomb of a man who didn't exist, the truth felt like a physical weight pressing against her ribs." | | 6 | "The metal casing burned cold, a biting ache that seeped through her wool coat." | | 7 | "She moved toward the shifting void, the hum of the compass now a low, guttural growl that made the very air feel thick as molasses." | | 8 | "The lid groaned against the rust, exposing an inner dial that mapped not north or south, but the shifting, bleeding heart of the city itself." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 2 | | matches | | 0 | "she muttered, her voice tight" | | 1 | "she said, her fingers tightening around the grip of her sidearm" |
| |
| 19.57% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 3 | | fancyTags | | 0 | "she muttered (mutter)" | | 1 | "she whispered (whisper)" | | 2 | "she breathed (breathe)" |
| | dialogueSentences | 23 | | tagDensity | 0.174 | | leniency | 0.348 | | rawRatio | 0.75 | | effectiveRatio | 0.261 | |