| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 13 | | tagDensity | 0.538 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 93.49% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1536 | | 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) | |
| 41.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1536 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "weight" | | 1 | "stark" | | 2 | "echoing" | | 3 | "pulsed" | | 4 | "macabre" | | 5 | "electric" | | 6 | "chill" | | 7 | "tension" | | 8 | "silk" | | 9 | "footsteps" | | 10 | "resolved" | | 11 | "familiar" | | 12 | "gloom" | | 13 | "tracing" | | 14 | "crystallized" | | 15 | "resolve" |
| |
| 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 | 102 | | matches | | |
| 58.82% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 3 | | narrationSentences | 102 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 109 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1514 | | 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 | 53 | | wordCount | 1352 | | uniqueNames | 23 | | maxNameDensity | 0.59 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Quinn | 8 | | Lexington | 1 | | Street | 1 | | Herrera | 8 | | Seville | 2 | | Camden | 1 | | Metropolitan | 2 | | Police | 2 | | Raven | 1 | | Nest | 1 | | Saint | 2 | | Christopher | 2 | | Morris | 7 | | London | 4 | | Glock | 1 | | Maglite | 1 | | Tube | 1 | | Northern | 1 | | Line | 1 | | Veil | 2 | | Market | 2 | | Internal | 1 | | Affairs | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Herrera" | | 2 | "Camden" | | 3 | "Police" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Morris" | | 7 | "Glock" | | 8 | "Line" | | 9 | "Affairs" |
| | places | | 0 | "Lexington" | | 1 | "Street" | | 2 | "Seville" | | 3 | "Raven" | | 4 | "London" | | 5 | "Veil" |
| | globalScore | 1 | | windowScore | 1 | |
| 80.56% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 2 | | matches | | 0 | "sounded like whispering, the clink of glas" | | 1 | "something like bioluminescent vines dripped" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.661 | | wordCount | 1514 | | matches | | 0 | "not aggressive, but prepared to flee deeper" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 109 | | matches | (empty) | |
| 81.17% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 56.07 | | std | 24.34 | | cv | 0.434 | | sampleLengths | | 0 | 91 | | 1 | 15 | | 2 | 112 | | 3 | 68 | | 4 | 87 | | 5 | 49 | | 6 | 51 | | 7 | 66 | | 8 | 21 | | 9 | 72 | | 10 | 76 | | 11 | 57 | | 12 | 66 | | 13 | 19 | | 14 | 57 | | 15 | 20 | | 16 | 66 | | 17 | 49 | | 18 | 62 | | 19 | 27 | | 20 | 63 | | 21 | 83 | | 22 | 52 | | 23 | 58 | | 24 | 69 | | 25 | 46 | | 26 | 12 |
| |
| 98.38% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 102 | | matches | | 0 | "were tiled" | | 1 | "been bricked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 228 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 22 | | semicolonCount | 2 | | flaggedSentences | 19 | | totalSentences | 109 | | ratio | 0.174 | | matches | | 0 | "She didn't shout Metropolitan Police; she didn't need to waste breath." | | 1 | "The chase had started six blocks back outside The Raven's Nest—that distinctive green neon sign buzzing like a dying insect in her peripheral vision before she'd clocked him slipping out the hidden back room of Silas' bar, the one behind the bookshelf." | | 2 | "He cut right past a closed curry house, his hand momentarily touching the brickwork for balance, and she saw the scar running along his left forearm—white and jagged, a knife attack from his past—flash pale against his sleeve." | | 3 | "Every lead brought her to men like Herrera—people who treated supernatural patients, who moved in the liminal spaces where the Metropolitan Police feared to tread." | | 4 | "The alley dead-ended at a utility building marked CAMDEN TUNNELS—CLOSED 1972." | | 5 | "But a metal door—painted industrial green and rusted at the edges—stood ajar, leading down." | | 6 | "Now she worked alone, chasing phantoms that left traces the department forensics team couldn't catalog—ashes that smelled of vanilla, blood that ran upward, wounds that healed before the camera shutter clicked." | | 7 | "The smell of London rain—diesel and wet stone—gave way to something older." | | 8 | "And beyond it—light." | | 9 | "His accent—Seville, her file said—softened the detective to something almost gentle." | | 10 | "She noted the tension in his shoulders, the way his weight balanced on the balls of his feet—not aggressive, but prepared to flee deeper." | | 11 | "Quinn heard it then—the subsonic murmur of commerce, but wrong." | | 12 | "She stepped onto the platform, her shoes grinding against more bone fragments—femurs, ribs, vertebrae polished smooth by countless footsteps." | | 13 | "Herrera backed toward the tunnel mouth, where the shadows resolved into shapes—stalls draped in fabrics that shifted color when viewed indirectly, vendors with too many joints in their fingers, customers wearing cloaks of living shadow." | | 14 | "\"Not the way they told you. Not the way they found the body. But if you cross that threshold, Detective, if you enter the Market without a bone token and without invitation...\" He shook his head, rain water—or sweat—dripping from his chin." | | 15 | "Figures moved between them—some human-shaped, some wearing the wrong number of limbs, their shadows stretching too long, too angular, reaching toward the ceiling where impossible roots twisted through concrete." | | 16 | "A guard stepped forward from the shadows—gray cloak, face obscured, hand extended for the entry token she didn't possess." | | 17 | "She wouldn't need bullets where she was going; she'd need resolve, and the willingness to become as much a ghost as the man she pursued." | | 18 | "The decision settled over her like the rain had settled over London—inevitable, soaking through to the bone." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 315 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 7 | | adverbRatio | 0.022222222222222223 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.009523809523809525 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 109 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 109 | | mean | 13.89 | | std | 10.36 | | cv | 0.746 | | sampleLengths | | 0 | 13 | | 1 | 3 | | 2 | 37 | | 3 | 38 | | 4 | 2 | | 5 | 3 | | 6 | 2 | | 7 | 3 | | 8 | 5 | | 9 | 12 | | 10 | 17 | | 11 | 11 | | 12 | 42 | | 13 | 30 | | 14 | 6 | | 15 | 38 | | 16 | 11 | | 17 | 3 | | 18 | 10 | | 19 | 6 | | 20 | 17 | | 21 | 22 | | 22 | 25 | | 23 | 17 | | 24 | 10 | | 25 | 16 | | 26 | 3 | | 27 | 3 | | 28 | 17 | | 29 | 4 | | 30 | 11 | | 31 | 2 | | 32 | 14 | | 33 | 2 | | 34 | 18 | | 35 | 2 | | 36 | 12 | | 37 | 21 | | 38 | 31 | | 39 | 21 | | 40 | 4 | | 41 | 1 | | 42 | 1 | | 43 | 12 | | 44 | 3 | | 45 | 33 | | 46 | 6 | | 47 | 3 | | 48 | 9 | | 49 | 18 |
| |
| 62.69% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4036697247706422 | | totalSentences | 109 | | uniqueOpeners | 44 | |
| 36.63% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 91 | | matches | | 0 | "Too quiet, too intimate." |
| | ratio | 0.011 | |
| 74.95% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 91 | | matches | | 0 | "She didn't blink." | | 1 | "Her military bearing kept her" | | 2 | "She kept her eyes fixed" | | 3 | "Her shoes struck wet pavement" | | 4 | "She didn't shout Metropolitan Police;" | | 5 | "He cut right past a" | | 6 | "She wondered if he thought" | | 7 | "She was forty-one years old," | | 8 | "He disappeared around the corner" | | 9 | "She had rules." | | 10 | "She rounded the corner." | | 11 | "Her watch ticked, audible above" | | 12 | "She drew her torch in" | | 13 | "Her shoes crunched on the" | | 14 | "She looked down." | | 15 | "Her military precision kept her" | | 16 | "She felt it in her" | | 17 | "His chest heaved, olive skin" | | 18 | "He pressed his scarred left" | | 19 | "His accent—Seville, her file said—softened" |
| | ratio | 0.363 | |
| 69.89% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 71 | | totalSentences | 91 | | matches | | 0 | "Rain needled Quinn's scalp, finding" | | 1 | "She didn't blink." | | 2 | "Her military bearing kept her" | | 3 | "She kept her eyes fixed" | | 4 | "Quinn's jaw tightened, sharp angles" | | 5 | "Her shoes struck wet pavement" | | 6 | "She didn't shout Metropolitan Police;" | | 7 | "The chase had started six" | | 8 | "Herrera was fast for a" | | 9 | "He cut right past a" | | 10 | "Protector of travelers." | | 11 | "She wondered if he thought" | | 12 | "Quinn's thighs burned as she" | | 13 | "Every lead brought her to" | | 14 | "She was forty-one years old," | | 15 | "He disappeared around the corner" | | 16 | "Quinn closed the distance, her" | | 17 | "She had rules." | | 18 | "She rounded the corner." | | 19 | "The alley dead-ended at a" |
| | ratio | 0.78 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 91 | | matches | | 0 | "Now the walls covered with" | | 1 | "Now she worked alone, chasing" |
| | ratio | 0.022 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 59 | | technicalSentenceCount | 14 | | matches | | 0 | "Her military bearing kept her shoulders square despite the sodden weight of her coat, her left wrist anchored by the worn leather watch that had survived eighte…" | | 1 | "Three years of case files that smelled of ozone and wrongness, of corners of London that existed between the ordnance survey maps." | | 2 | "Every lead brought her to men like Herrera—people who treated supernatural patients, who moved in the liminal spaces where the Metropolitan Police feared to tre…" | | 3 | "Now she worked alone, chasing phantoms that left traces the department forensics team couldn't catalog—ashes that smelled of vanilla, blood that ran upward, wou…" | | 4 | "The walls were tiled in the cream and green of the Northern Line's abandoned arteries, but the grout between them pulsed with a faint, fungal luminescence that …" | | 5 | "The archway that should have been bricked up according to city planning records gaped like a missing tooth, revealing a platform that extended into impossible s…" | | 6 | "Flickering blue-green phosphorescence coating the tiles, casting shadows that moved independently of their sources." | | 7 | "The rustle of silk that sounded like whispering, the clink of glass containing things that couldn't survive sunlight, negotiations conducted in frequencies that…" | | 8 | "A hidden supernatural black market that moved locations every full moon, selling enchanted goods and banned alchemical substances." | | 9 | "Herrera backed toward the tunnel mouth, where the shadows resolved into shapes—stalls draped in fabrics that shifted color when viewed indirectly, vendors with …" | | 10 | "The tunnel opened into a cavernous space that violated the geometry of the abandoned station." | | 11 | "Above, instead of electrical conduits, something like bioluminescent vines dripped sap that evaporated before hitting the ground, leaving trails of steam." | | 12 | "Quinn touched her watch with her left thumb, tracing the worn leather strap that had survived eighteen years." | | 13 | "The military precision that had defined her career crystallized into something harder, something willing to walk into darkness without backup, without sanction,…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 13 | | tagDensity | 0.385 | | leniency | 0.769 | | rawRatio | 0 | | effectiveRatio | 0 | |