| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 27 | | adverbTagCount | 2 | | adverbTags | | 0 | "Silas said again [again]" | | 1 | "He gestured vaguely [vaguely]" |
| | dialogueSentences | 80 | | tagDensity | 0.338 | | leniency | 0.675 | | rawRatio | 0.074 | | effectiveRatio | 0.05 | |
| 90.55% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2116 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slightly" | | 1 | "really" | | 2 | "slowly" |
| |
| 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) | |
| 85.82% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2116 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "silence" | | 1 | "trembled" | | 2 | "footsteps" | | 3 | "echoed" | | 4 | "weight" |
| |
| 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 | 112 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 112 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 162 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2102 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 22 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 83 | | wordCount | 1354 | | uniqueNames | 18 | | maxNameDensity | 2.14 | | worstName | "Elliot" | | maxWindowNameDensity | 4 | | worstWindowName | "Elliot" | | discoveredNames | | Raven | 3 | | Nest | 3 | | Thursday | 1 | | Silas | 27 | | Blackwood | 1 | | Soho | 2 | | Vienna | 4 | | Elliot | 29 | | Marsh | 2 | | Prague | 1 | | Vauxhall | 1 | | Cross | 1 | | Aurora | 2 | | Carter | 2 | | Bluetooth | 1 | | Swallowed | 1 | | Turned | 1 | | Sharp | 1 |
| | persons | | 0 | "Nest" | | 1 | "Silas" | | 2 | "Blackwood" | | 3 | "Elliot" | | 4 | "Aurora" | | 5 | "Carter" |
| | places | | 0 | "Soho" | | 1 | "Vienna" | | 2 | "Marsh" | | 3 | "Prague" | | 4 | "Vauxhall" | | 5 | "Bluetooth" |
| | globalScore | 0.429 | | windowScore | 0.333 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 73 | | glossingSentenceCount | 6 | | matches | | 0 | "quite reach" | | 1 | "quite a smile" | | 2 | "looked like a strong wind could knock him" | | 3 | "felt like an exception" | | 4 | "tasted like ash" | | 5 | "looked like the man Silas had known in Vi" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2102 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 162 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 71 | | mean | 29.61 | | std | 26.14 | | cv | 0.883 | | sampleLengths | | 0 | 145 | | 1 | 10 | | 2 | 37 | | 3 | 24 | | 4 | 10 | | 5 | 83 | | 6 | 27 | | 7 | 23 | | 8 | 20 | | 9 | 5 | | 10 | 84 | | 11 | 20 | | 12 | 4 | | 13 | 57 | | 14 | 9 | | 15 | 27 | | 16 | 40 | | 17 | 10 | | 18 | 8 | | 19 | 62 | | 20 | 80 | | 21 | 12 | | 22 | 33 | | 23 | 2 | | 24 | 31 | | 25 | 31 | | 26 | 45 | | 27 | 11 | | 28 | 7 | | 29 | 17 | | 30 | 79 | | 31 | 4 | | 32 | 24 | | 33 | 16 | | 34 | 11 | | 35 | 46 | | 36 | 5 | | 37 | 17 | | 38 | 54 | | 39 | 31 | | 40 | 47 | | 41 | 16 | | 42 | 7 | | 43 | 76 | | 44 | 14 | | 45 | 14 | | 46 | 58 | | 47 | 6 | | 48 | 8 | | 49 | 45 |
| |
| 95.86% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 112 | | matches | | 0 | "been streaked" | | 1 | "been compromised" | | 2 | "been built" |
| |
| 80.95% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 224 | | matches | | 0 | "was holding" | | 1 | "was dragging" | | 2 | "was emptying" | | 3 | "was probably getting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 162 | | ratio | 0.062 | | matches | | 0 | "The young professionals who filtered into Soho's arteries after work wore their modernity like armor—shiny phones, expensive haircuts, the particular blend of exhaustion and ambition that clung to anyone who'd sold their youth to the financial sector." | | 1 | "And there was something in the way he surveyed the room before committing to entry—a habit Silas recognized because he'd drilled it into him once, in a safe house in Vienna, when both of them had believed the work meant something." | | 2 | "The truth—the truth Silas had always suspected and never confirmed—was that Elliot had simply walked away." | | 3 | "The Raven's Nest had been Silas's world for fifteen years—its green neon sign, its walls of old maps, its hidden back room behind the bookshelf where the real work happened." | | 4 | "\"Why not? You let her call you that.\" Elliot nodded toward the stairwell at the back of the bar—the one that led up to the flat where Aurora Carter lived, worked her delivery shifts, complained about her ex and her mother and the general unfairness of existence." | | 5 | "The music changed—something instrumental, piano and rain, piped in from a Bluetooth speaker Silas had bought at a steal from a contact who'd fence stolen electronics on the side." | | 6 | "He took the order—two pints of lager, a bowl of bar nuts—and watched Elliot from the corner of his eye while he drew the drinks." | | 7 | "That was the truth nobody talked about—the decision point that had turned a routine intelligence gathering operation into something catastrophic." | | 8 | "He looked at the man in front of him—this wreck of a person who'd once been his partner, his friend, his responsibility—and felt something shift in his chest." | | 9 | "The room beyond was small—a table, four chairs, a filing cabinet that contained everything from current contact information to old grudges to the kind of secrets that had no business existing outside of a classified server." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1371 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 47 | | adverbRatio | 0.034281546316557256 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.012399708242159009 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 162 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 162 | | mean | 12.98 | | std | 9.93 | | cv | 0.766 | | sampleLengths | | 0 | 29 | | 1 | 37 | | 2 | 4 | | 3 | 11 | | 4 | 23 | | 5 | 41 | | 6 | 10 | | 7 | 8 | | 8 | 2 | | 9 | 27 | | 10 | 21 | | 11 | 3 | | 12 | 10 | | 13 | 2 | | 14 | 4 | | 15 | 24 | | 16 | 14 | | 17 | 10 | | 18 | 16 | | 19 | 13 | | 20 | 15 | | 21 | 12 | | 22 | 10 | | 23 | 7 | | 24 | 6 | | 25 | 10 | | 26 | 10 | | 27 | 5 | | 28 | 9 | | 29 | 30 | | 30 | 18 | | 31 | 5 | | 32 | 6 | | 33 | 7 | | 34 | 9 | | 35 | 6 | | 36 | 14 | | 37 | 4 | | 38 | 47 | | 39 | 10 | | 40 | 9 | | 41 | 20 | | 42 | 7 | | 43 | 29 | | 44 | 11 | | 45 | 7 | | 46 | 3 | | 47 | 6 | | 48 | 2 | | 49 | 14 |
| |
| 50.21% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 17 | | diversityRatio | 0.36419753086419754 | | totalSentences | 162 | | uniqueOpeners | 59 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 100 | | matches | | 0 | "Of course he had." | | 1 | "Somewhere upstairs, a door closed." | | 2 | "Somewhere above them, Aurora Carter" |
| | ratio | 0.03 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 100 | | matches | | 0 | "His coat was good wool" | | 1 | "His hair, what remained of" | | 2 | "They'd pulled him out, debriefed" | | 3 | "He'd built a network of" | | 4 | "It was a good life." | | 5 | "He hadn't thought about Vienna" | | 6 | "It filled the silence that" | | 7 | "He took the order—two pints" | | 8 | "They all had." | | 9 | "He'd been a solidly built" | | 10 | "His hands trembled slightly when" | | 11 | "It wasn't a question." | | 12 | "He laughed, but there was" | | 13 | "He didn't usually drink on" | | 14 | "he said now, and the" | | 15 | "He looked at the man" | | 16 | "He gestured toward the bookshelf" | | 17 | "He heard Elliot's uneven footsteps" | | 18 | "He gestured vaguely at the" | | 19 | "He steadied himself against the" |
| | ratio | 0.24 | |
| 45.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 83 | | totalSentences | 100 | | matches | | 0 | "The man who pushed through" | | 1 | "The young professionals who filtered" | | 2 | "This man was different." | | 3 | "His coat was good wool" | | 4 | "His hair, what remained of" | | 5 | "Silas's hand stopped mid-polish on" | | 6 | "The man's eyes found him" | | 7 | "A full three seconds passed" | | 8 | "the man said, settling onto" | | 9 | "The name came out before" | | 10 | "They'd pulled him out, debriefed" | | 11 | "The official story was early" | | 12 | "The truth—the truth Silas had" | | 13 | "Elliot accepted the glass when" | | 14 | "Silas set the bottle down" | | 15 | "The sound was louder than" | | 16 | "Elliot's mouth twisted into something" | | 17 | "This was true in ways" | | 18 | "The Raven's Nest had been" | | 19 | "He'd built a network of" |
| | ratio | 0.83 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 100 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 9 | | matches | | 0 | "The young professionals who filtered into Soho's arteries after work wore their modernity like armor—shiny phones, expensive haircuts, the particular blend of e…" | | 1 | "Twenty-three years since the operation that had ended Silas's field career and, as far as he'd known until this moment, ended Elliot's as well." | | 2 | "The music changed—something instrumental, piano and rain, piped in from a Bluetooth speaker Silas had bought at a steal from a contact who'd fence stolen electr…" | | 3 | "It filled the silence that stretched between them, thick and uncomfortable." | | 4 | "That was the truth nobody talked about—the decision point that had turned a routine intelligence gathering operation into something catastrophic." | | 5 | "Three people were dead, including a young analyst who'd been on her first field placement." | | 6 | "He looked at the man in front of him—this wreck of a person who'd once been his partner, his friend, his responsibility—and felt something shift in his chest." | | 7 | "The room beyond was small—a table, four chairs, a filing cabinet that contained everything from current contact information to old grudges to the kind of secret…" | | 8 | "Somewhere above them, Aurora Carter was probably getting ready for bed, complaining about her shift tomorrow, blissfully unaware of the ghosts that had just wal…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 27 | | uselessAdditionCount | 1 | | matches | | 0 | "he said, and the words tasted like ash" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 3 | | fancyTags | | 0 | "He laughed (laugh)" | | 1 | "Elliot admitted (admit)" | | 2 | "Elliot laughed (laugh)" |
| | dialogueSentences | 80 | | tagDensity | 0.138 | | leniency | 0.275 | | rawRatio | 0.273 | | effectiveRatio | 0.075 | |