| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 91.60% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1191 | | 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) | |
| 62.22% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1191 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "rhythmic" | | 1 | "gloom" | | 2 | "measured" | | 3 | "mechanical" | | 4 | "maw" | | 5 | "echo" | | 6 | "constructed" | | 7 | "velvet" | | 8 | "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 | 73 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 73 | | filterMatches | | | 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 | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1188 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 0 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 1086 | | uniqueNames | 19 | | maxNameDensity | 1.2 | | worstName | "Herrera" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Herrera" | | discoveredNames | | Camden | 2 | | High | 1 | | Street | 1 | | Quinn | 1 | | Tomás | 1 | | Herrera | 13 | | Morris | 1 | | Southwark | 1 | | Saint | 2 | | Christopher | 2 | | Tube | 2 | | Thames | 1 | | Victorian | 1 | | London | 1 | | Underground | 1 | | Veil | 1 | | Market | 1 | | Harlow | 13 | | Rain | 3 |
| | persons | | 0 | "Quinn" | | 1 | "Tomás" | | 2 | "Herrera" | | 3 | "Morris" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Harlow" | | 7 | "Rain" |
| | places | | 0 | "Camden" | | 1 | "High" | | 2 | "Street" | | 3 | "Southwark" | | 4 | "Thames" | | 5 | "Victorian" | | 6 | "London" |
| | globalScore | 0.901 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 66 | | 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 | 1188 | | matches | (empty) | |
| 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 | 42 | | mean | 28.29 | | std | 22.26 | | cv | 0.787 | | sampleLengths | | 0 | 82 | | 1 | 45 | | 2 | 1 | | 3 | 67 | | 4 | 59 | | 5 | 55 | | 6 | 4 | | 7 | 13 | | 8 | 11 | | 9 | 10 | | 10 | 4 | | 11 | 50 | | 12 | 46 | | 13 | 28 | | 14 | 1 | | 15 | 17 | | 16 | 49 | | 17 | 23 | | 18 | 66 | | 19 | 40 | | 20 | 46 | | 21 | 31 | | 22 | 36 | | 23 | 1 | | 24 | 16 | | 25 | 27 | | 26 | 12 | | 27 | 18 | | 28 | 9 | | 29 | 17 | | 30 | 16 | | 31 | 19 | | 32 | 7 | | 33 | 80 | | 34 | 34 | | 35 | 63 | | 36 | 10 | | 37 | 16 | | 38 | 21 | | 39 | 11 | | 40 | 13 | | 41 | 14 |
| |
| 95.65% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 73 | | matches | | 0 | "was strapped" | | 1 | "been pried" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 177 | | matches | | |
| 8.40% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 1 | | flaggedSentences | 4 | | totalSentences | 85 | | ratio | 0.047 | | matches | | 0 | "Harlow didn't slow; she vaulted the obstacle, landing hard on the cobbles, her left wrist catching the dim light where her worn leather watch was strapped tight." | | 1 | "Ahead, the ground sloped downward toward a cavernous concrete archway—a long-forgotten entrance to a decommissioned Tube station, locked behind heavy iron grates and boarded-up plywood." | | 2 | "Herrera reached into his coat pocket and withdrew a small, yellowed object—a flat piece of carved bone, notched along its edges." | | 3 | "Scores of figures in heavy cloaks and tailored coats moved between stalls, trading items that defied logic—vials of liquid light, bound books that shifted their spines, preserved anatomical specimens floating in glowing jars, and strange, humming instruments of polished nickel." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1097 | | adjectiveStacks | 2 | | stackExamples | | 0 | "narrow, trash-choked alleyway." | | 1 | "long, jagged white knife" |
| | adverbCount | 21 | | adverbRatio | 0.019143117593436645 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.007292616226071103 | |
| 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 | 13.98 | | std | 7.15 | | cv | 0.512 | | sampleLengths | | 0 | 17 | | 1 | 13 | | 2 | 16 | | 3 | 13 | | 4 | 23 | | 5 | 15 | | 6 | 30 | | 7 | 1 | | 8 | 9 | | 9 | 3 | | 10 | 15 | | 11 | 19 | | 12 | 21 | | 13 | 14 | | 14 | 16 | | 15 | 15 | | 16 | 14 | | 17 | 15 | | 18 | 13 | | 19 | 27 | | 20 | 4 | | 21 | 13 | | 22 | 11 | | 23 | 10 | | 24 | 4 | | 25 | 18 | | 26 | 32 | | 27 | 7 | | 28 | 14 | | 29 | 25 | | 30 | 5 | | 31 | 23 | | 32 | 1 | | 33 | 17 | | 34 | 12 | | 35 | 4 | | 36 | 17 | | 37 | 16 | | 38 | 11 | | 39 | 12 | | 40 | 13 | | 41 | 3 | | 42 | 14 | | 43 | 14 | | 44 | 22 | | 45 | 15 | | 46 | 9 | | 47 | 16 | | 48 | 22 | | 49 | 24 |
| |
| 65.49% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.43529411764705883 | | totalSentences | 85 | | uniqueOpeners | 37 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 73 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 73 | | matches | | 0 | "He threw a quick glance" | | 1 | "He ducked beneath a rusted" | | 2 | "She tracked Herrera's ragged movements" | | 3 | "He tossed a rusted zinc" | | 4 | "He scrambled up a low" | | 5 | "He dropped to his knees," | | 6 | "She clicked the switch." | | 7 | "She squeezed through the gap," | | 8 | "It carried an unnatural blend" | | 9 | "Her boots created hollow slaps" | | 10 | "He jammed it into a" | | 11 | "He took one step backward," | | 12 | "She reached the threshold of" | | 13 | "Her sharp jaw tightened." | | 14 | "She looked up, meeting Herrera's" | | 15 | "She adjusted her grip on" |
| | ratio | 0.219 | |
| 42.19% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 73 | | matches | | 0 | "Rain lashed the asphalt of" | | 1 | "Harlow Quinn pushed her stride," | | 2 | "Water ran down his short" | | 3 | "He threw a quick glance" | | 4 | "Harlow took the corner tight," | | 5 | "The command cracked through the" | | 6 | "Herrera kept running." | | 7 | "He ducked beneath a rusted" | | 8 | "The fabric ripped, revealing his" | | 9 | "A silver Saint Christopher medallion" | | 10 | "Harlow matched his pace, her" | | 11 | "She tracked Herrera's ragged movements" | | 12 | "Herrera hit the slick cobblestones" | | 13 | "He tossed a rusted zinc" | | 14 | "Harlow didn't slow; she vaulted" | | 15 | "Herrera grabbed a drainpipe to" | | 16 | "He scrambled up a low" | | 17 | "Harlow reached out, her fingers" | | 18 | "Harlow cleared the wall a" | | 19 | "Rain roared through the canopy" |
| | ratio | 0.836 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 73 | | matches | (empty) | | ratio | 0 | |
| 71.43% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 60 | | technicalSentenceCount | 6 | | matches | | 0 | "He scrambled up a low cinderblock wall bordering a derelict construction site, his fingers digging into wet mortar." | | 1 | "Harlow reached out, her fingers brushing the hem of his coat, but he kicked back, his heel clipping her forearm before he dropped down into the shadow of an aba…" | | 2 | "It carried an unnatural blend of crushed cinnamon, wet copper, and something sharp like ozone that stung the back of her throat." | | 3 | "The metal frame looked centuries older than the surrounding station, carved with dense, winding geometric grooves that didn't belong on any London Underground b…" | | 4 | "Scores of figures in heavy cloaks and tailored coats moved between stalls, trading items that defied logic—vials of liquid light, bound books that shifted their…" | | 5 | "Every instinct built over eighteen years in uniform screamed at her that she was standing on the precipice of something that violated every procedure, every law…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |