| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 90.05% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1508 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 30.37% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1508 | | totalAiIsms | 21 | | found | | | highlights | | 0 | "tinged" | | 1 | "scanned" | | 2 | "etched" | | 3 | "weight" | | 4 | "processed" | | 5 | "tracing" | | 6 | "could feel" | | 7 | "throb" | | 8 | "flicker" | | 9 | "glinting" | | 10 | "clandestine" | | 11 | "unspoken" |
| |
| 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 | 1 | | narrationSentences | 40 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 40 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 51 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 77 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1474 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1071 | | uniqueNames | 13 | | maxNameDensity | 0.93 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Silas" | | discoveredNames | | Golden | 1 | | Empress | 1 | | Raven | 1 | | Nest | 1 | | Soho | 2 | | Yu-Fei | 1 | | Cardiff | 3 | | Prague | 3 | | Evan | 2 | | University | 1 | | London | 1 | | Silas | 9 | | Rory | 10 |
| | persons | | 0 | "Nest" | | 1 | "Yu-Fei" | | 2 | "Evan" | | 3 | "University" | | 4 | "Silas" | | 5 | "Rory" |
| | places | | 0 | "Raven" | | 1 | "Soho" | | 2 | "Cardiff" | | 3 | "Prague" | | 4 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 21.79% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 39 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a jailbreak, her backpack slu" | | 1 | "sounded like Cardiff’s rain, and he could" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.678 | | wordCount | 1474 | | matches | | 0 | "not saying a word but handing her a lollipop every time she started to cry" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 51 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 25 | | mean | 58.96 | | std | 34.29 | | cv | 0.582 | | sampleLengths | | 0 | 165 | | 1 | 17 | | 2 | 41 | | 3 | 94 | | 4 | 2 | | 5 | 79 | | 6 | 57 | | 7 | 83 | | 8 | 41 | | 9 | 55 | | 10 | 16 | | 11 | 79 | | 12 | 65 | | 13 | 42 | | 14 | 50 | | 15 | 78 | | 16 | 5 | | 17 | 36 | | 18 | 76 | | 19 | 73 | | 20 | 25 | | 21 | 64 | | 22 | 49 | | 23 | 89 | | 24 | 93 |
| |
| 87.72% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 40 | | matches | | 0 | "was buried" | | 1 | "was surprised" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 179 | | matches | | 0 | "was trying" | | 1 | "was coming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 3 | | flaggedSentences | 12 | | totalSentences | 51 | | ratio | 0.235 | | matches | | 0 | "The green neon sign’s glow bleached the edge of her sleeve before the dim interior swallowed it—thick, smoke-tinged air curling around her like a forgotten blanket." | | 1 | "Old maps crinkled at the corners of the walls, their faded ink marking trade routes and shadowed alleyways from cities she’d never heard of; black-and-white photos of shadowed figures stared down from above the mahogany bar, their faces half-obscured by fedoras and cigarette smoke." | | 2 | "She scanned the room for the contact Yu-Fei had named—some bloke with a silver signet ring, a slight limp—when a limping step scraped the floor behind her, the sound sharp enough to cut through the low murmur of a jukebox playing old jazz." | | 3 | "The steamers shifted, their contents clinking softly inside; she clamped a hand to their tops to keep them from toppling, her fingers brushing the warm bamboo." | | 4 | "A silver signet ring glinted on his right hand, its surface etched with a raven’s head—she recognized it immediately, the same ring he’d worn when he’d sat on her father’s porch in Cardiff, drinking whisky and talking about secret missions." | | 5 | "He pushed off the bar, his weight shifting to his right leg as he crossed the room, each step a quiet declaration of the knee injury he carried—she remembered him telling her once, when she was ten, that he’d gotten it jumping from a rooftop in Prague." | | 6 | "“Last I saw you, you were ten years old, climbing your father’s bookcase to steal his barrister’s wig. You landed on a brass paperweight—cut your left wrist bad enough to need three stitches. Your mother cried for an hour; your father yelled for two. I gave you a lollipop shaped like a raven to calm you down.”" | | 7 | "She set the steamers down on a nearby oak table, her left wrist brushing the wood—she tugged her jacket’s sleeve down to cover the crescent scar, the fabric soft against the still-throbbing skin." | | 8 | "She’d forgotten how Silas used to listen—how he’d sat with her for an hour after her mother’s first breakdown, not saying a word but handing her a lollipop every time she started to cry." | | 9 | "She thought of the old stories Silas had told her—of outsmarting guards, of finding hidden rooms, of choosing your own path—and she could feel the faint flicker of hope that she hadn’t felt in months." | | 10 | "Silas’s jaw tightened, his hazel eyes narrowing as he thought of the clandestine meeting in the hidden back room—his old MI6 contact was coming to tell him about a new threat, one that could put Rory in danger if she stayed in Soho." | | 11 | "She thought of the weight of time between them—of the ten-year-old girl who’d admired Silas, of the 25-year-old woman who needed a place to hide—and she could feel the unspoken regret hanging in the air, thick enough to cut with a knife." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1096 | | adjectiveStacks | 1 | | stackExamples | | 0 | "thick, smoke-tinged air" |
| | adverbCount | 26 | | adverbRatio | 0.023722627737226276 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.005474452554744526 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 51 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 51 | | mean | 28.9 | | std | 15.23 | | cv | 0.527 | | sampleLengths | | 0 | 21 | | 1 | 31 | | 2 | 26 | | 3 | 44 | | 4 | 43 | | 5 | 17 | | 6 | 2 | | 7 | 26 | | 8 | 13 | | 9 | 24 | | 10 | 30 | | 11 | 40 | | 12 | 2 | | 13 | 47 | | 14 | 32 | | 15 | 57 | | 16 | 10 | | 17 | 33 | | 18 | 40 | | 19 | 41 | | 20 | 11 | | 21 | 29 | | 22 | 15 | | 23 | 16 | | 24 | 17 | | 25 | 34 | | 26 | 28 | | 27 | 65 | | 28 | 11 | | 29 | 31 | | 30 | 50 | | 31 | 12 | | 32 | 31 | | 33 | 35 | | 34 | 5 | | 35 | 13 | | 36 | 23 | | 37 | 76 | | 38 | 23 | | 39 | 17 | | 40 | 33 | | 41 | 25 | | 42 | 43 | | 43 | 21 | | 44 | 49 | | 45 | 19 | | 46 | 28 | | 47 | 42 | | 48 | 25 | | 49 | 31 |
| |
| 30.39% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.27450980392156865 | | totalSentences | 51 | | uniqueOpeners | 14 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 39 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 39 | | matches | | 0 | "She scanned the room for" | | 1 | "She turned, her straight shoulder-length" | | 2 | "His left leg angled slightly" | | 3 | "He pushed off the bar," | | 4 | "He stopped a foot away," | | 5 | "She set the steamers down" | | 6 | "He turned to the bar," | | 7 | "He set it in front" | | 8 | "She’d forgotten how Silas used" | | 9 | "She’d forgotten how he’d defended" | | 10 | "He turned back to her," | | 11 | "She thought of the kebab" | | 12 | "She thought of the old" | | 13 | "He could see the faint" | | 14 | "She picked up the glass" | | 15 | "She thought of the hidden" | | 16 | "He nodded, gesturing to the" | | 17 | "She glanced at the bookshelf," | | 18 | "She thought of the weight" | | 19 | "She walked toward the bookshelf," |
| | ratio | 0.564 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 38 | | totalSentences | 39 | | matches | | 0 | "Rory hefted the stack of" | | 1 | "The Golden Empress logo blazed" | | 2 | "The green neon sign’s glow" | | 3 | "She scanned the room for" | | 4 | "The steamers shifted, their contents" | | 5 | "She turned, her straight shoulder-length" | | 6 | "A man with grey-streaked auburn" | | 7 | "His left leg angled slightly" | | 8 | "A silver signet ring glinted" | | 9 | "He pushed off the bar," | | 10 | "He stopped a foot away," | | 11 | "Rory’s throat tightened, a knot" | | 12 | "She set the steamers down" | | 13 | "That memory was buried under" | | 14 | "Silas’s face fell, his jaw" | | 15 | "He turned to the bar," | | 16 | "He set it in front" | | 17 | "Rory stared at the water’s" | | 18 | "She’d forgotten how Silas used" | | 19 | "She’d forgotten how he’d defended" |
| | ratio | 0.974 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 39 | | matches | (empty) | | ratio | 0 | |
| 32.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 39 | | technicalSentenceCount | 6 | | matches | | 0 | "The steamers shifted, their contents clinking softly inside; she clamped a hand to their tops to keep them from toppling, her fingers brushing the warm bamboo." | | 1 | "He pushed off the bar, his weight shifting to his right leg as he crossed the room, each step a quiet declaration of the knee injury he carried—she remembered h…" | | 2 | "That memory was buried under layers of Evan’s shouts, of Cardiff University’s sterile lecture halls, of the train ride to London that had felt like a jailbreak,…" | | 3 | "Rory pulled her sleeve up, the fabric sliding down her arm to reveal the crescent scar, which glinted in the table lamp’s light." | | 4 | "She thought of the weight of time between them—of the ten-year-old girl who’d admired Silas, of the 25-year-old woman who needed a place to hide—and she could f…" | | 5 | "He thought of the hidden room’s maps, of the contacts he’d be meeting with, of the way Rory’s accent still sounded like Cardiff’s rain, and he could feel the fa…" |
| |
| 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 | |