| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.417 | | leniency | 0.833 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1111 | | 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) | |
| 9.99% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1111 | | totalAiIsms | 20 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | |
| | highlights | | 0 | "fractured" | | 1 | "mechanical" | | 2 | "gleaming" | | 3 | "chill" | | 4 | "standard" | | 5 | "velvet" | | 6 | "flickered" | | 7 | "constructed" | | 8 | "crystal" | | 9 | "racing" | | 10 | "pulse" | | 11 | "calculating" | | 12 | "navigate" | | 13 | "measured" | | 14 | "etched" | | 15 | "gloom" | | 16 | "glinting" | | 17 | "trembled" | | 18 | "predictable" |
| |
| 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 | 1 | | narrationSentences | 70 | | matches | | |
| 61.22% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 70 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 77 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1095 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 948 | | uniqueNames | 20 | | maxNameDensity | 0.63 | | worstName | "Herrera" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Herrera" | | discoveredNames | | Soho | 1 | | Metropolitan | 2 | | Police | 2 | | Raven | 1 | | Nest | 1 | | Morris | 5 | | Camden | 3 | | High | 1 | | Street | 1 | | Herrera | 6 | | Seville | 2 | | Saint | 1 | | Christopher | 1 | | November | 1 | | Tube | 1 | | Victorian | 1 | | Veil | 1 | | Market | 1 | | London | 1 | | Quinn | 4 |
| | persons | | 0 | "Police" | | 1 | "Raven" | | 2 | "Morris" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "November" | | 7 | "Victorian" | | 8 | "Market" | | 9 | "Quinn" |
| | places | | 0 | "Soho" | | 1 | "Metropolitan" | | 2 | "Camden" | | 3 | "High" | | 4 | "Street" | | 5 | "Seville" | | 6 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 55 | | glossingSentenceCount | 1 | | matches | | 0 | "graffiti that seemed to writhe when viewed peripherally, symbols almost matching those from Morris's death scene" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1095 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 77 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 23 | | mean | 47.61 | | std | 30.67 | | cv | 0.644 | | sampleLengths | | 0 | 129 | | 1 | 21 | | 2 | 13 | | 3 | 41 | | 4 | 89 | | 5 | 33 | | 6 | 80 | | 7 | 72 | | 8 | 100 | | 9 | 25 | | 10 | 26 | | 11 | 8 | | 12 | 71 | | 13 | 49 | | 14 | 52 | | 15 | 75 | | 16 | 37 | | 17 | 16 | | 18 | 46 | | 19 | 28 | | 20 | 32 | | 21 | 36 | | 22 | 16 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 70 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 166 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 77 | | ratio | 0.104 | | matches | | 0 | "The dial caught the distinctive green neon of The Raven's Nest sign as she passed the bar doorway—she noted it, filed it, didn't slow." | | 1 | "He dodged left between parked cars, his scarred left forearm—a knife attack from his Seville youth, according to his redacted NHS records—flashing pale under sodium vapor lights." | | 2 | "Herrera had lost his medical license after administering unauthorized treatments to patients who didn't exist in standard databases—patients with impossible injuries." | | 3 | "He slipped through a gap between the barriers with the ease of repetition—he'd done this before, many times." | | 4 | "Bioluminescence flickered ahead—impossible blues and violets painting the Victorian tiles, casting shadows that moved independently of the light source." | | 5 | "Merchants in hooded cloaks exchanged goods that glowed with internal fire—crystal vials containing alchemical substances that shifted between liquid and smoke, enchanted blades that sang discordant notes when touched, bundles of information brokered in whispers too low to catch but loud enough to make her molars ache." | | 6 | "The robed figure—guard or gatekeeper—raised a skeletal hand, revealing a token carved from actual bone, etched with precise lunar phases." | | 7 | "The market breathed behind him—the clink of alchemical glass containing banned substances, the rustle of enchanted fabrics that changed color with the viewer's intent, whispered negotiations in languages that existed before human speech." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 963 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 16 | | adverbRatio | 0.016614745586708203 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.007268951194184839 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 77 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 77 | | mean | 14.22 | | std | 9.63 | | cv | 0.677 | | sampleLengths | | 0 | 11 | | 1 | 20 | | 2 | 17 | | 3 | 24 | | 4 | 23 | | 5 | 5 | | 6 | 29 | | 7 | 2 | | 8 | 3 | | 9 | 2 | | 10 | 3 | | 11 | 11 | | 12 | 10 | | 13 | 3 | | 14 | 3 | | 15 | 11 | | 16 | 27 | | 17 | 19 | | 18 | 22 | | 19 | 21 | | 20 | 27 | | 21 | 8 | | 22 | 1 | | 23 | 11 | | 24 | 13 | | 25 | 12 | | 26 | 11 | | 27 | 18 | | 28 | 22 | | 29 | 4 | | 30 | 13 | | 31 | 9 | | 32 | 19 | | 33 | 16 | | 34 | 9 | | 35 | 19 | | 36 | 12 | | 37 | 7 | | 38 | 12 | | 39 | 47 | | 40 | 3 | | 41 | 19 | | 42 | 15 | | 43 | 10 | | 44 | 2 | | 45 | 12 | | 46 | 12 | | 47 | 8 | | 48 | 12 | | 49 | 44 |
| |
| 82.68% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.5194805194805194 | | totalSentences | 77 | | uniqueOpeners | 40 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 66 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 66 | | matches | | 0 | "Her leather watch strap clung" | | 1 | "She pushed the memory down." | | 2 | "Her voice cracked against the" | | 3 | "He didn't turn." | | 4 | "He dodged left between parked" | | 5 | "She cleared the railing with" | | 6 | "Her fingers grazed the radio" | | 7 | "He slipped through a gap" | | 8 | "She slowed, her hand hovering" | | 9 | "Her command cut through the" | | 10 | "He laughed, sharp and humorless," | | 11 | "He pointed to the tunnel" | | 12 | "Her fingers whitened on her" | | 13 | "She lacked it." | | 14 | "She advanced to the platform's" | | 15 | "She checked her watch." | | 16 | "She could retreat." | | 17 | "Her fingers hovered at the" | | 18 | "She stood at the threshold," |
| | ratio | 0.288 | |
| 88.79% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 49 | | totalSentences | 66 | | matches | | 0 | "Quinn's boots struck wet concrete" | | 1 | "Her leather watch strap clung" | | 2 | "The dial caught the distinctive" | | 3 | "She pushed the memory down." | | 4 | "Her voice cracked against the" | | 5 | "He didn't turn." | | 6 | "The Saint Christopher medallion bounced" | | 7 | "He dodged left between parked" | | 8 | "Quinn sprinted, her salt-and-pepper hair" | | 9 | "She cleared the railing with" | | 10 | "Herrera had lost his medical" | | 11 | "Her fingers grazed the radio" | | 12 | "The rain interfered, or something" | | 13 | "Herrera reached the chained entrance" | | 14 | "He slipped through a gap" | | 15 | "Quinn followed, her breath controlled" | | 16 | "The stairwell swallowed streetlight." | | 17 | "Darkness pressed against her retinas," | | 18 | "Bioluminescence flickered ahead—impossible blues and" | | 19 | "The air shifted, heavy with" |
| | ratio | 0.742 | |
| 75.76% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 66 | | matches | | | ratio | 0.015 | |
| 9.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 8 | | matches | | 0 | "Three years since DS Morris died in that warehouse, surrounded by symbols that dissolved under forensic lights and a smell like burning hair." | | 1 | "She cleared the railing with a precision that spoke of drilled muscle memory, her sharp jaw set hard against the November chill." | | 2 | "Herrera had lost his medical license after administering unauthorized treatments to patients who didn't exist in standard databases—patients with impossible inj…" | | 3 | "Now he ran toward the one location her confidential informants whispered about when drunk, the place that relocated every full moon beneath forgotten parts of t…" | | 4 | "Bioluminescence flickered ahead—impossible blues and violets painting the Victorian tiles, casting shadows that moved independently of the light source." | | 5 | "Merchants in hooded cloaks exchanged goods that glowed with internal fire—crystal vials containing alchemical substances that shifted between liquid and smoke, …" | | 6 | "The market breathed behind him—the clink of alchemical glass containing banned substances, the rustle of enchanted fabrics that changed color with the viewer's …" | | 7 | "Above, thunder rolled across Camden, distant and safe, belonging to the world of paperwork and procedure and criminals who carried knives instead of curses." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 66.67% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 12 | | tagDensity | 0.083 | | leniency | 0.167 | | rawRatio | 1 | | effectiveRatio | 0.167 | |