| 33.33% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 1 | | adverbTags | | 0 | "his throat moved once [once]" |
| | dialogueSentences | 11 | | tagDensity | 0.545 | | leniency | 1 | | rawRatio | 0.167 | | effectiveRatio | 0.167 | |
| 90.52% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1583 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "sharply" | | 1 | "softly" | | 2 | "slowly" |
| |
| 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) | |
| 30.51% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1583 | | totalAiIsms | 22 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | |
| | highlights | | 0 | "silence" | | 1 | "fractured" | | 2 | "familiar" | | 3 | "weight" | | 4 | "echo" | | 5 | "flicked" | | 6 | "quickened" | | 7 | "resolved" | | 8 | "glinting" | | 9 | "etched" | | 10 | "velvet" | | 11 | "pulsed" | | 12 | "unreadable" | | 13 | "mechanical" | | 14 | "pulse" | | 15 | "could feel" | | 16 | "navigate" | | 17 | "footsteps" | | 18 | "sense of" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 91 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 91 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 96 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1575 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 42 | | wordCount | 1467 | | uniqueNames | 14 | | maxNameDensity | 1.57 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Wardour | 1 | | Street | 1 | | Harlow | 1 | | Quinn | 23 | | Morris | 4 | | Raven | 2 | | Nest | 3 | | Basra | 1 | | Oxford | 1 | | Circus | 1 | | English | 1 | | Spanish | 1 | | Saint | 1 | | Christopher | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Morris" | | 3 | "Raven" | | 4 | "Saint" | | 5 | "Christopher" |
| | places | | 0 | "Wardour" | | 1 | "Street" | | 2 | "Nest" | | 3 | "Basra" | | 4 | "Oxford" |
| | globalScore | 0.716 | | windowScore | 0.667 | |
| 81.51% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 73 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like a row of animal skulls arrang" | | 1 | "looked like part of a map" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1575 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 96 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 23 | | mean | 68.48 | | std | 39.25 | | cv | 0.573 | | sampleLengths | | 0 | 107 | | 1 | 97 | | 2 | 105 | | 3 | 125 | | 4 | 92 | | 5 | 132 | | 6 | 39 | | 7 | 6 | | 8 | 92 | | 9 | 129 | | 10 | 99 | | 11 | 38 | | 12 | 20 | | 13 | 60 | | 14 | 49 | | 15 | 15 | | 16 | 52 | | 17 | 93 | | 18 | 83 | | 19 | 7 | | 20 | 41 | | 21 | 25 | | 22 | 69 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 91 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 255 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 1 | | flaggedSentences | 8 | | totalSentences | 96 | | ratio | 0.083 | | matches | | 0 | "Quinn’s left wrist registered the familiar weight of the worn leather band against skin; she didn’t need to check the time." | | 1 | "He was moving with the confidence of someone who had memorized exits—someone who knew exactly where this tunnel emptied." | | 2 | "The descent smelled of damp earth, petrol from leaking pipes, and something sharper—ozone, or the residue of burnt herbs." | | 3 | "Quinn caught sight of his profile beneath a hanging lantern—olive skin, short curls matted by rain—before a stall keeper stepped in front of her, raising a hand webbed with ink." | | 4 | "A murmur followed her—words in languages she knew were not English and one she half-recognised from a file Morris had been annotating the week before his disappearance." | | 5 | "The suspect exchanged a glance with the scarred man, and in that fractional pause Quinn read the calculation—how many exit routes each knew, how fast Quinn could move, what weapon she might be pretending not to carry." | | 6 | "Somewhere in the market proper, a bell rang three times—signal, perhaps, of closing stalls or incoming trouble." | | 7 | "Behind them, the market sounds shifted—stalls closing, footsteps retreating, the sense of an entire underground economy preparing itself for whatever might follow a detective who had chosen the dark over the surface." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1487 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 53 | | adverbRatio | 0.03564223268325487 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.010087424344317418 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 96 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 96 | | mean | 16.41 | | std | 9.14 | | cv | 0.557 | | sampleLengths | | 0 | 19 | | 1 | 25 | | 2 | 29 | | 3 | 34 | | 4 | 21 | | 5 | 21 | | 6 | 24 | | 7 | 24 | | 8 | 1 | | 9 | 3 | | 10 | 3 | | 11 | 24 | | 12 | 15 | | 13 | 13 | | 14 | 22 | | 15 | 31 | | 16 | 9 | | 17 | 27 | | 18 | 19 | | 19 | 17 | | 20 | 24 | | 21 | 3 | | 22 | 26 | | 23 | 22 | | 24 | 9 | | 25 | 25 | | 26 | 5 | | 27 | 18 | | 28 | 13 | | 29 | 18 | | 30 | 19 | | 31 | 28 | | 32 | 13 | | 33 | 16 | | 34 | 19 | | 35 | 19 | | 36 | 9 | | 37 | 30 | | 38 | 6 | | 39 | 5 | | 40 | 13 | | 41 | 2 | | 42 | 10 | | 43 | 35 | | 44 | 27 | | 45 | 24 | | 46 | 11 | | 47 | 16 | | 48 | 28 | | 49 | 29 |
| |
| 57.29% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.375 | | totalSentences | 96 | | uniqueOpeners | 36 | |
| 38.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 86 | | matches | | 0 | "Somewhere in the market proper," |
| | ratio | 0.012 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 86 | | matches | | 0 | "She had no name yet," | | 1 | "She kept the suspect’s back" | | 2 | "He glanced once over his" | | 3 | "She flicked on her small" | | 4 | "He was moving with the" | | 5 | "He reached a junction where" | | 6 | "She knelt at the edge," | | 7 | "She swung her legs over" | | 8 | "She spotted the suspect again" | | 9 | "He glanced back once, expression" | | 10 | "She could catch only fragments:" | | 11 | "She stepped forward, the curtain" | | 12 | "she said, voice even" | | 13 | "She kept her shoulders back," | | 14 | "His tone was mild, almost" | | 15 | "He reached slowly into his" | | 16 | "He placed it on the" | | 17 | "She could feel the weight" | | 18 | "She stepped closer to the" | | 19 | "She recognized the layout instinctively." |
| | ratio | 0.256 | |
| 35.58% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 73 | | totalSentences | 86 | | matches | | 0 | "Rain struck the pavement in" | | 1 | "Detective Harlow Quinn’s boots threw" | | 2 | "A hundred metres ahead, the" | | 3 | "She had no name yet," | | 4 | "The pursuit carried her past" | | 5 | "Quinn’s left wrist registered the" | | 6 | "She kept the suspect’s back" | | 7 | "He glanced once over his" | | 8 | "Running bred mistakes." | | 9 | "Quinn followed without hesitation, the" | | 10 | "The suspect wrenched open a" | | 11 | "Quinn caught the door on" | | 12 | "Water ran in steady rivulets" | | 13 | "She flicked on her small" | | 14 | "He was moving with the" | | 15 | "Quinn quickened her pace, left" | | 16 | "The suspect’s outline resolved again," | | 17 | "A chain, perhaps." | | 18 | "He reached a junction where" | | 19 | "She knelt at the edge," |
| | ratio | 0.849 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 86 | | matches | (empty) | | ratio | 0 | |
| 25.76% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 61 | | technicalSentenceCount | 10 | | matches | | 0 | "At Oxford Circus the suspect veered sharply down a service ramp tucked between two boarded-up buildings, shoes slapping concrete that disappeared beneath pooled…" | | 1 | "Quinn caught the door on its backswing and stepped into absolute dark, then the orange wash of emergency bulbs that lined an abandoned tunnel used only by maint…" | | 2 | "Quinn kept moving, shoulders brushing cloaked figures who smelled of incense and wet wool, past tables displaying stoppered bottles labelled in a script she cou…" | | 3 | "Through the shifting links she saw a makeshift room: maps pinned to the brick, a low table strewn with ledger books and small mechanical devices that ticked sof…" | | 4 | "The second man wore a Saint Christopher medallion that caught the flame and threw a small gold reflection against his throat." | | 5 | "The scarred man answered quietly, voice carrying the cadence Quinn associated with paramedics who had learned to speak calmly under pressure." | | 6 | "She kept her shoulders back, jaw set in the same line that had once made junior constables straighten under inspection." | | 7 | "Going forward meant trusting that the same instincts which had kept her alive through eighteen years of service could navigate whatever waited on the far side o…" | | 8 | "She had sat in that room once, under false pretences, and watched shadows move behind the bar that should not have moved." | | 9 | "Behind them, the market sounds shifted—stalls closing, footsteps retreating, the sense of an entire underground economy preparing itself for whatever might foll…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 11 | | tagDensity | 0.455 | | leniency | 0.909 | | rawRatio | 0 | | effectiveRatio | 0 | |