| 57.14% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 2 | | adverbTags | | 0 | "Osei said slowly [slowly]" | | 1 | "she said quietly [quietly]" |
| | dialogueSentences | 28 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.143 | | effectiveRatio | 0.143 | |
| 79.49% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1463 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "slowly" | | 1 | "gently" | | 2 | "carefully" | | 3 | "perfectly" | | 4 | "precisely" |
| |
| 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) | |
| 76.08% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1463 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "mosaic" | | 1 | "silence" | | 2 | "footsteps" | | 3 | "etched" | | 4 | "magnetic" | | 5 | "calibrated" | | 6 | "could feel" |
| |
| 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 | 0 | | hedgeCount | 0 | | narrationSentences | 71 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 79 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 10 | | totalWords | 1481 | | ratio | 0.007 | | matches | | 0 | "Eva Kowalski — restricted archives — ask about the compass." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 34 | | wordCount | 1062 | | uniqueNames | 16 | | maxNameDensity | 0.94 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Osei" | | discoveredNames | | Harlow | 1 | | Quinn | 10 | | Met | 1 | | August | 1 | | Tube | 1 | | Camden | 1 | | Nadia | 1 | | Osei | 10 | | June | 1 | | Victorian | 1 | | Fresh | 1 | | British | 1 | | Museum | 1 | | Kowalski | 1 | | Silvertown | 1 | | Morris | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Nadia" | | 3 | "Osei" | | 4 | "Kowalski" | | 5 | "Morris" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 50 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.675 | | wordCount | 1481 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 85 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 43.56 | | std | 37.63 | | cv | 0.864 | | sampleLengths | | 0 | 117 | | 1 | 34 | | 2 | 10 | | 3 | 81 | | 4 | 3 | | 5 | 37 | | 6 | 3 | | 7 | 84 | | 8 | 32 | | 9 | 85 | | 10 | 6 | | 11 | 3 | | 12 | 9 | | 13 | 85 | | 14 | 5 | | 15 | 4 | | 16 | 42 | | 17 | 111 | | 18 | 12 | | 19 | 107 | | 20 | 29 | | 21 | 10 | | 22 | 83 | | 23 | 93 | | 24 | 62 | | 25 | 4 | | 26 | 77 | | 27 | 74 | | 28 | 44 | | 29 | 11 | | 30 | 13 | | 31 | 84 | | 32 | 15 | | 33 | 12 |
| |
| 80.55% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 71 | | matches | | 0 | "been wallpapered" | | 1 | "been opened" | | 2 | "was etched" | | 3 | "been left" | | 4 | "was tired" |
| |
| 45.86% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 173 | | matches | | 0 | "was not pointing" | | 1 | "was pointing" | | 2 | "was thinking" | | 3 | "was paying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 85 | | ratio | 0.129 | | matches | | 0 | "It had never once taken her here — a sealed Tube station beneath Camden, dead since before she was born, its platforms still bearing the ghost of a mosaic no one had bothered to steal." | | 1 | "The man lay on his back across the dead rails, arms at his sides, dressed in a good coat gone wrong — charcoal wool, expensive, hemmed with frost." | | 2 | "Brown leather, well kept, and clean — not clean like a man who polished them, clean like a man who had not walked anywhere." | | 3 | "He had arrived at this spot the way frost arrives — without footsteps." | | 4 | "The brickwork here was original Victorian, black with soot and time — except where it wasn't." | | 5 | "She walked back to the body, thinking of the frost, of the tidied arms, of the clean shoes, and knelt — carefully, outside the cold line — to look at the victim's hands." | | 6 | "Its face was etched with sigils that matched the bone token's, fine as engraver's art, and its needle — she leaned close — was not pointing north." | | 7 | "\"It's not broken. It's calibrated to something that isn't north.\" Quinn bagged it herself, wrote the exhibit label in her neat, square hand, and did not say what she was thinking, which was: last night was a full moon, and this wall was open last night, and this man came out of it wearing clean shoes and carrying a bone ticket he never got to spend — or got to spend, and was paying for it now." | | 8 | "The victim's effects, when the SOCOs went through them, held a wallet with no cash but a great deal of nothing — no cards, no ID, the paper strips where cards had been cut out with scissors, precisely." | | 9 | "A British Museum staff card, soft with handling, and on the back, in pencil, a name and a number: *Eva Kowalski — restricted archives — ask about the compass.*" | | 10 | "The compass was in her evidence bag at her hip, and through the plastic she could feel — this was absurd, she was tired, it was four in the morning — a faint coldness where the brass pressed against her." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1053 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 24 | | adverbRatio | 0.022792022792022793 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.010446343779677113 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 17.42 | | std | 16.78 | | cv | 0.963 | | sampleLengths | | 0 | 14 | | 1 | 33 | | 2 | 35 | | 3 | 35 | | 4 | 18 | | 5 | 16 | | 6 | 10 | | 7 | 13 | | 8 | 28 | | 9 | 2 | | 10 | 6 | | 11 | 32 | | 12 | 3 | | 13 | 17 | | 14 | 20 | | 15 | 3 | | 16 | 29 | | 17 | 55 | | 18 | 3 | | 19 | 11 | | 20 | 18 | | 21 | 9 | | 22 | 24 | | 23 | 13 | | 24 | 15 | | 25 | 4 | | 26 | 7 | | 27 | 13 | | 28 | 6 | | 29 | 3 | | 30 | 9 | | 31 | 5 | | 32 | 80 | | 33 | 5 | | 34 | 4 | | 35 | 42 | | 36 | 2 | | 37 | 14 | | 38 | 16 | | 39 | 16 | | 40 | 16 | | 41 | 4 | | 42 | 1 | | 43 | 42 | | 44 | 7 | | 45 | 5 | | 46 | 10 | | 47 | 74 | | 48 | 8 | | 49 | 15 |
| |
| 79.61% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.5058823529411764 | | totalSentences | 85 | | uniqueOpeners | 43 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 73.97% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 23 | | totalSentences | 63 | | matches | | 0 | "It had never once taken" | | 1 | "He was mid-forties, perhaps, though" | | 2 | "It was the nineteenth of" | | 3 | "She had learned long ago" | | 4 | "She walked the body's perimeter" | | 5 | "She had climbed down through" | | 6 | "His soles wore nothing." | | 7 | "He had not come down" | | 8 | "He had arrived at this" | | 9 | "She moved up the platform," | | 10 | "She swept the torch across" | | 11 | "She ran her gloved finger" | | 12 | "She walked back to the" | | 13 | "She signalled the SOCO over" | | 14 | "She lifted the coat hem" | | 15 | "Its face was etched with" | | 16 | "It was pointing, with the" | | 17 | "She took out her own" | | 18 | "Hers swung to magnetic north." | | 19 | "She rotated it." |
| | ratio | 0.365 | |
| 7.62% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 57 | | totalSentences | 63 | | matches | | 0 | "The ladder down into the" | | 1 | "Detective Harlow Quinn took the" | | 2 | "It had never once taken" | | 3 | "DS Nadia Osei's voice carried" | | 4 | "Quinn found her beneath the" | | 5 | "He was mid-forties, perhaps, though" | | 6 | "The man lay on his" | | 7 | "It was the nineteenth of" | | 8 | "The air around the body" | | 9 | "Osei flipped her notebook open" | | 10 | "Osei crouched, careful of the" | | 11 | "Quinn said nothing." | | 12 | "She had learned long ago" | | 13 | "She walked the body's perimeter" | | 14 | "The first number that wouldn't" | | 15 | "Brown leather, well kept, and" | | 16 | "The tunnel floor was a" | | 17 | "She had climbed down through" | | 18 | "His soles wore nothing." | | 19 | "He had not come down" |
| | ratio | 0.905 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 77.92% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 3 | | matches | | 0 | "Eighteen years in the Met had taken her into canal flats and penthouses, into a squat where the ceiling had been wallpapered with missing-person flyers, into a …" | | 1 | "Brown leather, well kept, and clean — not clean like a man who polished them, clean like a man who had not walked anywhere." | | 2 | "Its face was etched with sigils that matched the bone token's, fine as engraver's art, and its needle — she leaned close — was not pointing north." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 28 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0 | | effectiveRatio | 0 | |