| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 90.34% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1035 | | totalAiIsmAdverbs | 2 | | 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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1035 | | totalAiIsms | 21 | | found | | 0 | | | 1 | | | 2 | | | 3 | | word | "carried the weight" | | count | 1 |
| | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | |
| | highlights | | 0 | "fractured" | | 1 | "jaw clenched" | | 2 | "echoed" | | 3 | "carried the weight" | | 4 | "flickered" | | 5 | "navigated" | | 6 | "footsteps" | | 7 | "etched" | | 8 | "measured" | | 9 | "chill" | | 10 | "processed" | | 11 | "glinting" | | 12 | "weight" | | 13 | "tracing" | | 14 | "familiar" | | 15 | "loomed" | | 16 | "echoes" | | 17 | "scanned" | | 18 | "depths" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 9 | | matches | (empty) | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 9 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 10 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 175 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1028 | | ratio | 0 | | matches | (empty) | |
| 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 | 16 | | wordCount | 760 | | uniqueNames | 9 | | maxNameDensity | 0.79 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Detective | 1 | | Harlow | 1 | | Quinn | 6 | | Morris | 3 | | Camden | 1 | | Tower | 1 | | Tube | 1 | | London | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Morris" | | 3 | "Tower" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 8 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1028 | | matches | (empty) | |
| 0.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 10 | | matches | | |
| 11.09% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 7 | | mean | 146.86 | | std | 27.73 | | cv | 0.189 | | sampleLengths | | 0 | 145 | | 1 | 185 | | 2 | 152 | | 3 | 151 | | 4 | 160 | | 5 | 149 | | 6 | 86 |
| |
| 66.28% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 9 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 130 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 3 | | totalSentences | 10 | | ratio | 0.3 | | matches | | 0 | "The suspect ducked through a construction barrier beside an abandoned Tube entrance, its boards pried loose and tagged with faded graffiti. Quinn reached the ramp seconds later, descending into a vestibule where emergency lights flickered weakly against tiled walls streaked with mold. The scent shifted abruptly—less rain, more rust and earth, undercut by a metallic tang that set her nerves prickling. She drew her flashlight, the beam slicing ahead to catch the suspect's retreating figure as he navigated a collapsed barrier of plywood and rebar. Footsteps echoed upward, and she followed, the confined space pressing in on her shoulders. This station had been decommissioned years ago, yet signs of recent passage showed in scuffed floors and dropped spent matches. The air grew cooler with each step, carrying hints of burned herbs that stirred something uneasy in her recollection of Morris's case—the relics that had hummed faintly in evidence bags before disappearing." | | 1 | "Her pace slowed as the tunnel opened into a broader concourse, shadows pooling under cracked arches. The suspect paused just long enough to fish something from his pocket—a small, etched bone fragment that he pressed against a rusted service door embedded in the far wall. A faint click sounded, and he slipped through into a space beyond where lights glowed low and voices murmured in clipped tones. Quinn halted at the threshold, rain still dripping from her jacket onto the grimy concrete behind her. Her breath came in measured pulls, the chill seeping deeper as she processed the sight: this was no mere hideout. The door revealed a glimpse of tables laden with odd goods under tarps, glinting bottles, and figures moving with deliberate caution—nothing like the street dealers she knew. Rumors had floated in her confidential files about such places, markets that shifted with the moon and required arcane entry, selling items laced with forces the rational world denied." | | 2 | "The decision settled like a lead weight in her chest. Pursuing meant crossing into ground she had never mapped, without backup or the institutional support that had failed Morris. Her fingers brushed the leather watchband, tracing its familiar grain as a anchor amid the conflict. One option loomed clear: withdraw to the surface, coordinate a proper raid, and gather evidence that wouldn't evaporate in the night. That path preserved her life and the fragile trust she'd rebuilt in the force. The other pulled harder—the answers this man carried might explain the void left by her partner's loss, the supernatural origins the brass had buried. But entering without the bone token the suspect had used could mark her as an intruder, exposing her to the very dangers lurking in those whispers. The market's edges hinted at violence and veiled powers, echoes of the case that had stripped everything familiar away." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 54 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 0 | | adverbRatio | 0 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 10 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 10 | | mean | 102.8 | | std | 60.02 | | cv | 0.584 | | sampleLengths | | 0 | 36 | | 1 | 16 | | 2 | 93 | | 3 | 11 | | 4 | 174 | | 5 | 152 | | 6 | 151 | | 7 | 160 | | 8 | 149 | | 9 | 86 |
| |
| 100.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 0 | | diversityRatio | 0.6 | | totalSentences | 10 | | uniqueOpeners | 6 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 8 | | matches | (empty) | | ratio | 0 | |
| 20.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 4 | | totalSentences | 8 | | matches | | 0 | "Her boots struck the cobblestones" | | 1 | "She closed to within fifteen" | | 2 | "Her pace slowed as the" | | 3 | "She scanned the concourse once" |
| | ratio | 0.5 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 8 | | totalSentences | 8 | | matches | | 0 | "The rain hammered down on" | | 1 | "Her boots struck the cobblestones" | | 2 | "Quinn's voice cut through the" | | 3 | "She closed to within fifteen" | | 4 | "The suspect ducked through a" | | 5 | "Her pace slowed as the" | | 6 | "The decision settled like a" | | 7 | "She scanned the concourse once" |
| | ratio | 1 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 8 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 7 | | technicalSentenceCount | 5 | | matches | | 0 | "She closed to within fifteen yards amid the blur of traffic, horns blaring as cabs sliced through sheets of rain. The suspect risked a backward glance, his face…" | | 1 | "The suspect ducked through a construction barrier beside an abandoned Tube entrance, its boards pried loose and tagged with faded graffiti. Quinn reached the ra…" | | 2 | "Her pace slowed as the tunnel opened into a broader concourse, shadows pooling under cracked arches. The suspect paused just long enough to fish something from …" | | 3 | "The decision settled like a lead weight in her chest. Pursuing meant crossing into ground she had never mapped, without backup or the institutional support that…" | | 4 | "She scanned the concourse once more, noting how the distant clinks and low exchanges suggested trade in items far from London's legal grid. Her body tensed with…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |