| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 1 | | adverbTags | | 0 | "She stepped back [back]" |
| | dialogueSentences | 43 | | tagDensity | 0.395 | | leniency | 0.791 | | rawRatio | 0.059 | | effectiveRatio | 0.047 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1420 | | 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) | |
| 78.87% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1420 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "porcelain" | | 1 | "perfect" | | 2 | "crystal" | | 3 | "etched" | | 4 | "flicker" | | 5 | "pulse" |
| |
| 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 | 71 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 71 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 98 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 75 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1435 | | 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 | 786 | | uniqueNames | 10 | | maxNameDensity | 0.51 | | worstName | "Quinn" | | maxWindowNameDensity | 1 | | worstWindowName | "Quinn" | | discoveredNames | | Kentish | 1 | | Town | 1 | | Harlow | 1 | | Quinn | 4 | | Cole | 4 | | Morris | 1 | | Restricted | 1 | | Archives | 1 | | British | 1 | | Museum | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Cole" | | 3 | "Morris" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | 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 | 1435 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 98 | | matches | | 0 | "photographed that pattern" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 32.61 | | std | 25.66 | | cv | 0.787 | | sampleLengths | | 0 | 69 | | 1 | 27 | | 2 | 5 | | 3 | 6 | | 4 | 71 | | 5 | 75 | | 6 | 40 | | 7 | 3 | | 8 | 24 | | 9 | 56 | | 10 | 6 | | 11 | 30 | | 12 | 54 | | 13 | 10 | | 14 | 23 | | 15 | 14 | | 16 | 55 | | 17 | 73 | | 18 | 7 | | 19 | 33 | | 20 | 24 | | 21 | 4 | | 22 | 52 | | 23 | 7 | | 24 | 5 | | 25 | 78 | | 26 | 6 | | 27 | 34 | | 28 | 19 | | 29 | 31 | | 30 | 4 | | 31 | 9 | | 32 | 59 | | 33 | 33 | | 34 | 4 | | 35 | 6 | | 36 | 29 | | 37 | 56 | | 38 | 51 | | 39 | 88 | | 40 | 28 | | 41 | 79 | | 42 | 3 | | 43 | 45 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 71 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 118 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 1 | | flaggedSentences | 12 | | totalSentences | 98 | | ratio | 0.122 | | matches | | 0 | "South Kentish Town station had been dead since 1924, and it had learned to smell like it — cold iron, standing water, dust gone grey as old felt." | | 1 | "It lay thick and flat, a felt across the tiles — except for one line of prints." | | 2 | "Behind it — nothing." | | 3 | "The blood had spread thin beneath the torso, its rim dried crisp and unbroken — not one toe, not one knee had touched it since." | | 4 | "\"Bodies don't bleed backwards either.\" She photographed the watch on his wrist — stopped at 3:12, crystal spotless." | | 5 | "A yard short of the far end, the platform finished at a bricked arch, and in front of it sat something small in the dust — brass, verdigris in every seam, sigils etched fine across the face." | | 6 | "She walked backward with it — ten steps, twenty, the full length of the platform — and it held the brick like a dog on a scent." | | 7 | "She spun the case until north lay behind her; the needle swung round and settled on the brick again." | | 8 | "She'd photographed that pattern three years ago, in a lock-up evidence file from Morris's last job — the file that came back from stores missing everything that mattered." | | 9 | "She crouched at the first footprint, framed it, and let the flash fix it — a right sole, complete, with clean dust where the left should have fallen." | | 10 | "\"Photograph every print before another boot lands on this platform. Full sweep, both tunnels, the stairwell, the ballast. Then book radar on that arch through Transport Heritage, and if they won't play, I'll have the brick off myself.\" She sealed the compass beside the token and lifted the last item from the tray — a cream card, letterpress, tucked in the victim's breast pocket." | | 11 | "Restricted Archives — British Museum." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 565 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 14 | | adverbRatio | 0.024778761061946902 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.0035398230088495575 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 98 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 98 | | mean | 14.64 | | std | 13.76 | | cv | 0.939 | | sampleLengths | | 0 | 28 | | 1 | 22 | | 2 | 19 | | 3 | 27 | | 4 | 5 | | 5 | 6 | | 6 | 14 | | 7 | 26 | | 8 | 3 | | 9 | 4 | | 10 | 24 | | 11 | 12 | | 12 | 63 | | 13 | 6 | | 14 | 17 | | 15 | 17 | | 16 | 3 | | 17 | 24 | | 18 | 15 | | 19 | 27 | | 20 | 14 | | 21 | 6 | | 22 | 26 | | 23 | 4 | | 24 | 11 | | 25 | 13 | | 26 | 4 | | 27 | 3 | | 28 | 9 | | 29 | 14 | | 30 | 5 | | 31 | 5 | | 32 | 7 | | 33 | 16 | | 34 | 14 | | 35 | 12 | | 36 | 25 | | 37 | 18 | | 38 | 16 | | 39 | 57 | | 40 | 7 | | 41 | 18 | | 42 | 15 | | 43 | 6 | | 44 | 18 | | 45 | 4 | | 46 | 6 | | 47 | 1 | | 48 | 4 | | 49 | 23 |
| |
| 86.05% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.5408163265306123 | | totalSentences | 98 | | uniqueOpeners | 53 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 64 | | matches | (empty) | | ratio | 0 | |
| 38.75% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 64 | | matches | | 0 | "He tipped his chin at" | | 1 | "She walked the platform's length" | | 2 | "It lay thick and flat," | | 3 | "She swung the beam across" | | 4 | "She crouched and levelled her" | | 5 | "She followed the trail backward," | | 6 | "He came over, sighing, and" | | 7 | "He rubbed his jaw" | | 8 | "She was at the body" | | 9 | "She leaned closer" | | 10 | "She photographed the watch on" | | 11 | "She bagged it and turned" | | 12 | "She lifted the compass." | | 13 | "It kept pointing." | | 14 | "She walked backward with it" | | 15 | "She held her steel torch" | | 16 | "She spun the case until" | | 17 | "He set the cup on" | | 18 | "She'd photographed that pattern three" | | 19 | "Her watch ticked against her" |
| | ratio | 0.453 | |
| 38.13% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 54 | | totalSentences | 64 | | matches | | 0 | "South Kentish Town station had" | | 1 | "Detective Harlow Quinn came down" | | 2 | "The platform opened out of" | | 3 | "Pocket square folded sharp." | | 4 | "DS Cole stood at the" | | 5 | "He tipped his chin at" | | 6 | "Quinn didn't step into the" | | 7 | "She walked the platform's length" | | 8 | "It lay thick and flat," | | 9 | "She swung the beam across" | | 10 | "She crouched and levelled her" | | 11 | "She followed the trail backward," | | 12 | "He came over, sighing, and" | | 13 | "The trail began with a" | | 14 | "A man had begun here," | | 15 | "He rubbed his jaw" | | 16 | "She was at the body" | | 17 | "The blood had spread thin" | | 18 | "The wound sat left of" | | 19 | "She leaned closer" |
| | ratio | 0.844 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 64 | | matches | (empty) | | ratio | 0 | |
| 63.49% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 27 | | technicalSentenceCount | 3 | | matches | | 0 | "DS Cole stood at the circle's rim with a paper cup and the face of a man who'd solved everything before his coffee cooled." | | 1 | "The dust around it lay scoured back to bare floor in a wide fan, swept clean as if something had dragged the grey away leaving." | | 2 | "She'd photographed that pattern three years ago, in a lock-up evidence file from Morris's last job — the file that came back from stores missing everything that…" |
| |
| 95.59% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 1 | | matches | | 0 | "Detective Harlow Quinn came, and the dark gave way one reluctant metre at a time" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |