| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 1 | | adverbTags | | 0 | "he checked again [again]" |
| | dialogueSentences | 29 | | tagDensity | 0.345 | | leniency | 0.69 | | rawRatio | 0.1 | | effectiveRatio | 0.069 | |
| 89.93% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1987 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slightly" | | 1 | "carefully" | | 2 | "perfectly" | | 3 | "really" |
| |
| 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) | |
| 77.35% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1987 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "shattered" | | 1 | "weight" | | 2 | "electric" | | 3 | "structure" | | 4 | "shimmered" | | 5 | "perfect" | | 6 | "flickered" |
| |
| 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 | 115 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 115 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 132 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 85 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 4 | | markdownWords | 19 | | totalWords | 2001 | | ratio | 0.009 | | matches | | 0 | "Lost his footing. Fell." | | 1 | "unresolved" | | 2 | "If you ever need help with something that doesn't make sense, call me." | | 3 | "Threshold." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 1535 | | uniqueNames | 13 | | maxNameDensity | 0.52 | | worstName | "Harlow" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Harlow" | | discoveredNames | | Harlow | 8 | | Quinn | 1 | | London | 2 | | Rennick | 4 | | Thames | 1 | | Church | 1 | | Martin | 3 | | Aylesbury | 3 | | Morris | 1 | | Kowalski | 1 | | Hartwell | 1 | | British | 1 | | Museum | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Rennick" | | 3 | "Church" | | 4 | "Martin" | | 5 | "Aylesbury" | | 6 | "Morris" | | 7 | "Kowalski" |
| | places | | 0 | "London" | | 1 | "Thames" | | 2 | "British" |
| | globalScore | 1 | | windowScore | 1 | |
| 81.51% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 73 | | glossingSentenceCount | 2 | | matches | | 0 | "not quite like any script she recognized" | | 1 | "circle that seemed to function as a vanishing point, pulling the eye inward" | | 2 | "looked like nothing so much as a diagram" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.5 | | wordCount | 2001 | | matches | | 0 | "not the usual copper-and-alcohol of a crime scene, but something older, deeper" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 132 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 47.64 | | std | 37.39 | | cv | 0.785 | | sampleLengths | | 0 | 76 | | 1 | 102 | | 2 | 67 | | 3 | 37 | | 4 | 10 | | 5 | 96 | | 6 | 31 | | 7 | 89 | | 8 | 7 | | 9 | 51 | | 10 | 3 | | 11 | 41 | | 12 | 110 | | 13 | 10 | | 14 | 13 | | 15 | 6 | | 16 | 39 | | 17 | 101 | | 18 | 7 | | 19 | 84 | | 20 | 4 | | 21 | 30 | | 22 | 68 | | 23 | 83 | | 24 | 11 | | 25 | 14 | | 26 | 11 | | 27 | 29 | | 28 | 34 | | 29 | 26 | | 30 | 36 | | 31 | 81 | | 32 | 124 | | 33 | 26 | | 34 | 92 | | 35 | 105 | | 36 | 6 | | 37 | 83 | | 38 | 104 | | 39 | 18 | | 40 | 1 | | 41 | 35 |
| |
| 71.70% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 11 | | totalSentences | 115 | | matches | | 0 | "been called" | | 1 | "been sealed" | | 2 | "been shuttered" | | 3 | "been filled" | | 4 | "was swept" | | 5 | "was crouched" | | 6 | "was contracted " | | 7 | "been promoted" | | 8 | "been filled" | | 9 | "been poured" | | 10 | "being pulled " | | 11 | "been drawn " | | 12 | "been, was" |
| |
| 35.39% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 243 | | matches | | 0 | "was crumbling" | | 1 | "was already looking" | | 2 | "was looking" | | 3 | "was thinking" | | 4 | "was rising" | | 5 | "wasn't laughing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 132 | | ratio | 0.106 | | matches | | 0 | "The steps down to the platform were slick with condensation and something worse — something organic that Harlow Quinn's boots did not acknowledge as they met each tread with metronomic regularity." | | 1 | "Camden tube station had been sealed since the eighties — she knew the official story, everyone did — but the space was too clean for a place that had been shuttered for nearly forty years." | | 2 | "He wore a grey wool coat over a blue shirt, no tie, and his shoes were expensive — Church's, she thought, the kind with the hand-stitched welts." | | 3 | "Every muscle in his face was contracted — the lips pulled back from the teeth, the brow creased into deep furrows, the tendons in his neck standing out like bridge cables." | | 4 | "The smell hit her — not the usual copper-and-alcohol of a crime scene, but something older, deeper." | | 5 | "But tucked between the pages of a manila folder, she could see the edge of something else — a sheet of heavy cream stock, hand-lettered in an ink that looked almost black but caught the light with a faint iridescence." | | 6 | "The concrete around the body was unmarked — no scuff of heels, no drag marks, no sign of struggle." | | 7 | "\"Right there. Exactly there. Uniforms were first on scene, called in by a —\" Rennick flipped open his notebook, \"— a night porter who was doing maintenance access on the Northern line two levels up. Said he heard banging from down here. Came to investigate. Found the door to this platform open, which it shouldn't have been, because the TfL lock is—\" he checked again, \"—original, from the eighties, but it was open. The banging had stopped by the time he reached the body.\"" | | 8 | "It was an arrangement of symbols — geometric, precise, not quite like any script she recognized." | | 9 | "The darkness there was absolute beyond the reach of the portable lamps — not the ordinary darkness of an enclosed space, which always held some gradient, some faint bleed of reflected light, but a darkness with texture and weight, as though it had been poured into the tunnel like concrete." | | 10 | "It had been the sound of a man being pulled — drawn down and inward by something that had no name in any report she'd ever filed or read." | | 11 | "She'd met the girl during the Hartwell case — an academic with round glasses and a satchel full of books and a startling, almost frightening competence with historical research." | | 12 | "The same geometric symbols from the cream-coloured sheet had been drawn — scratched, really, into the floor with something sharp and deliberate." | | 13 | "The ozone smell thickened around her, and the portable lights flickered once — just once — and in the absolute darkness of the sealed tunnel behind her, something that was not air shifted and breathed." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 989 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 28 | | adverbRatio | 0.028311425682507583 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.010111223458038422 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 132 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 132 | | mean | 15.16 | | std | 13.12 | | cv | 0.866 | | sampleLengths | | 0 | 31 | | 1 | 13 | | 2 | 22 | | 3 | 2 | | 4 | 8 | | 5 | 9 | | 6 | 35 | | 7 | 3 | | 8 | 3 | | 9 | 20 | | 10 | 30 | | 11 | 1 | | 12 | 1 | | 13 | 31 | | 14 | 10 | | 15 | 18 | | 16 | 4 | | 17 | 4 | | 18 | 13 | | 19 | 3 | | 20 | 21 | | 21 | 10 | | 22 | 2 | | 23 | 3 | | 24 | 29 | | 25 | 4 | | 26 | 4 | | 27 | 27 | | 28 | 27 | | 29 | 11 | | 30 | 20 | | 31 | 4 | | 32 | 11 | | 33 | 31 | | 34 | 27 | | 35 | 5 | | 36 | 4 | | 37 | 7 | | 38 | 7 | | 39 | 9 | | 40 | 18 | | 41 | 24 | | 42 | 3 | | 43 | 41 | | 44 | 10 | | 45 | 17 | | 46 | 18 | | 47 | 13 | | 48 | 6 | | 49 | 6 |
| |
| 53.54% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.3939393939393939 | | totalSentences | 132 | | uniqueOpeners | 52 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 98 | | matches | (empty) | | ratio | 0 | |
| 44.49% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 43 | | totalSentences | 98 | | matches | | 0 | "She counted thirteen steps, then" | | 1 | "Her left wrist turned as" | | 2 | "She'd been called at home" | | 3 | "She filed that away and" | | 4 | "They knew the bearing." | | 5 | "He never did." | | 6 | "It was a habit she'd" | | 7 | "He lay on his back" | | 8 | "His mouth was open." | | 9 | "His eyes were open." | | 10 | "He wore a grey wool" | | 11 | "She was already looking." | | 12 | "It was the face of" | | 13 | "She had seen fear before." | | 14 | "He was a tall man" | | 15 | "It was the smell of" | | 16 | "She turned her head slightly," | | 17 | "she said, nodding toward the" | | 18 | "He held up both hands," | | 19 | "She didn't answer immediately." |
| | ratio | 0.439 | |
| 62.04% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 78 | | totalSentences | 98 | | matches | | 0 | "The steps down to the" | | 1 | "She counted thirteen steps, then" | | 2 | "Her left wrist turned as" | | 3 | "She'd been called at home" | | 4 | "The abandoned platform opened before" | | 5 | "Camden tube station had been" | | 6 | "The walls were bare concrete," | | 7 | "She filed that away and" | | 8 | "The portable lighting turned everything" | | 9 | "Harlow's shadow preceded her, long" | | 10 | "They knew the bearing." | | 11 | "DS Rennick was crouched beside" | | 12 | "He never did." | | 13 | "It was a habit she'd" | | 14 | "Harlow stopped two feet from" | | 15 | "He lay on his back" | | 16 | "His mouth was open." | | 17 | "His eyes were open." | | 18 | "He wore a grey wool" | | 19 | "A leather briefcase lay open" |
| | ratio | 0.796 | |
| 51.02% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 98 | | matches | | | ratio | 0.01 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 57 | | technicalSentenceCount | 13 | | matches | | 0 | "No water damage creeping along the arched ceiling in the cancerous patterns that plagued every other subterranean space in London." | | 1 | "She filed that away and moved toward the knot of white suits clustered near the far end of the platform, beneath a sign that read CAMDEN TOWN in cracked black l…" | | 2 | "A leather briefcase lay open beside him, its contents spilling across the platform in a fan of papers and small glass vials that glinted under the lights." | | 3 | "It was the face of someone who had seen something so absolute, so final, that his body had locked into rigidity at the moment of its perception." | | 4 | "He was a tall man with the soft, apologetic face of someone who'd been promoted past his ambitions." | | 5 | "But tucked between the pages of a manila folder, she could see the edge of something else — a sheet of heavy cream stock, hand-lettered in an ink that looked al…" | | 6 | "Like the air around a piece of machinery that had been running too long and burning through its own wiring." | | 7 | "And Martin Aylesbury, import-export, sixty-three, had come here to meet a stranger, clutching a briefcase full of financial records and hand-lettered invitation…" | | 8 | "It looked like nothing so much as a diagram of something, a schematic of forces or pathways, and at its centre was a small, perfectly drawn circle that seemed t…" | | 9 | "The darkness there was absolute beyond the reach of the portable lamps — not the ordinary darkness of an enclosed space, which always held some gradient, some f…" | | 10 | "And something had opened that eighty-year-old lock to let a sixty-three-year-old man walk down thirteen steps and twelve more and nineteen more to die on cold c…" | | 11 | "She'd given Harlow her card and said, *If you ever need help with something that doesn't make sense, call me.* Harlow had laughed at the time." | | 12 | "The ozone smell thickened around her, and the portable lights flickered once — just once — and in the absolute darkness of the sealed tunnel behind her, somethi…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 1 | | fancyTags | | 0 | "Rennick agreed (agree)" |
| | dialogueSentences | 29 | | tagDensity | 0.172 | | leniency | 0.345 | | rawRatio | 0.2 | | effectiveRatio | 0.069 | |