| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 26 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said carefully [carefully]" | | 1 | "He gestured slightly [slightly]" |
| | dialogueSentences | 78 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0.077 | | effectiveRatio | 0.051 | |
| 74.91% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1594 | | totalAiIsmAdverbs | 8 | | found | | | highlights | | 0 | "suddenly" | | 1 | "very" | | 2 | "carefully" | | 3 | "slightly" | | 4 | "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) | |
| 87.45% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1594 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "coded" | | 1 | "silence" | | 2 | "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 | 107 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 107 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 153 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 58 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1600 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 30 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 35 | | wordCount | 1130 | | uniqueNames | 16 | | maxNameDensity | 0.97 | | worstName | "Silas" | | maxWindowNameDensity | 2 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Jameson | 1 | | Silas | 11 | | Victorian | 1 | | Carter | 3 | | London | 1 | | Scotches | 1 | | Brendan | 4 | | Rory | 5 | | Prague | 1 | | Cape | 1 | | Town | 1 | | Beirut | 1 | | Lebanon | 1 | | Cardiff | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Jameson" | | 3 | "Silas" | | 4 | "Carter" | | 5 | "Brendan" | | 6 | "Rory" |
| | places | | 0 | "Victorian" | | 1 | "London" | | 2 | "Prague" | | 3 | "Cape" | | 4 | "Town" | | 5 | "Beirut" | | 6 | "Lebanon" | | 7 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 62 | | glossingSentenceCount | 4 | | matches | | 0 | "not quite a laugh" | | 1 | "brief, and she visibly softened it" | | 2 | "looked like code to an untrained eye" | | 3 | "something between them that was almost tender b" | | 4 | "not quite too many sharp edges for tender, too much that was known without being said" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1600 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 153 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 75 | | mean | 21.33 | | std | 19.23 | | cv | 0.902 | | sampleLengths | | 0 | 58 | | 1 | 9 | | 2 | 2 | | 3 | 46 | | 4 | 13 | | 5 | 6 | | 6 | 63 | | 7 | 10 | | 8 | 22 | | 9 | 32 | | 10 | 2 | | 11 | 3 | | 12 | 53 | | 13 | 10 | | 14 | 5 | | 15 | 36 | | 16 | 34 | | 17 | 5 | | 18 | 16 | | 19 | 23 | | 20 | 61 | | 21 | 13 | | 22 | 8 | | 23 | 6 | | 24 | 41 | | 25 | 16 | | 26 | 17 | | 27 | 3 | | 28 | 19 | | 29 | 74 | | 30 | 5 | | 31 | 7 | | 32 | 13 | | 33 | 29 | | 34 | 27 | | 35 | 11 | | 36 | 34 | | 37 | 36 | | 38 | 2 | | 39 | 3 | | 40 | 20 | | 41 | 23 | | 42 | 3 | | 43 | 17 | | 44 | 1 | | 45 | 54 | | 46 | 17 | | 47 | 3 | | 48 | 38 | | 49 | 54 |
| |
| 92.15% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 107 | | matches | | 0 | "being asked" | | 1 | "was gone" | | 2 | "being said" | | 3 | "being asked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 174 | | matches | | 0 | "was deciding" | | 1 | "was managing" |
| |
| 30.81% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 153 | | ratio | 0.039 | | matches | | 0 | "The Raven's Nest settled into itself the way old buildings do when the people leave — a slow exhalation, the creak of wood cooling, the refrigerators behind the bar suddenly audible." | | 1 | "She looked at him then — properly looked, the way she'd been avoiding since she moved in three weeks prior, skimming past pleasantries and rent and the occasional borrowed corkscrew." | | 2 | "Brendan Carter had come to London twice more after that leg of lamb dinner, and they'd had their meetings and their habitual two large Scotches and Brendan had talked about his daughter only briefly, the way proud fathers do — assuming the future, describing it with the past-tense confidence of foregone conclusions." | | 3 | "Silas watched her look at the map from Prague — a 1960s city map, grid lines and density, the kind of thing that looked like code to an untrained eye." | | 4 | "It had a texture now, something between them that was almost tender but not quite — too many sharp edges for tender, too much that was known without being said." | | 5 | "Rain had started somewhere in the last few minutes — the hiss of it on the pavement just audible through the windows." |
| |
| 89.93% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1126 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 58 | | adverbRatio | 0.05150976909413854 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.014209591474245116 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 153 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 153 | | mean | 10.46 | | std | 9.76 | | cv | 0.934 | | sampleLengths | | 0 | 11 | | 1 | 31 | | 2 | 16 | | 3 | 9 | | 4 | 2 | | 5 | 28 | | 6 | 3 | | 7 | 15 | | 8 | 8 | | 9 | 5 | | 10 | 6 | | 11 | 24 | | 12 | 27 | | 13 | 5 | | 14 | 2 | | 15 | 1 | | 16 | 4 | | 17 | 10 | | 18 | 8 | | 19 | 14 | | 20 | 15 | | 21 | 17 | | 22 | 2 | | 23 | 3 | | 24 | 30 | | 25 | 9 | | 26 | 12 | | 27 | 2 | | 28 | 6 | | 29 | 4 | | 30 | 3 | | 31 | 2 | | 32 | 30 | | 33 | 6 | | 34 | 18 | | 35 | 16 | | 36 | 5 | | 37 | 2 | | 38 | 14 | | 39 | 7 | | 40 | 16 | | 41 | 4 | | 42 | 12 | | 43 | 14 | | 44 | 15 | | 45 | 10 | | 46 | 6 | | 47 | 3 | | 48 | 10 | | 49 | 8 |
| |
| 45.75% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.3333333333333333 | | totalSentences | 153 | | uniqueOpeners | 51 | |
| 77.52% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 86 | | matches | | 0 | "Just explaining herself to the" | | 1 | "Then he finished closing up." |
| | ratio | 0.023 | |
| 61.86% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 86 | | matches | | 0 | "He didn't hear the door" | | 1 | "He poured two fingers of" | | 2 | "She looked younger in it." | | 3 | "She turned the glass without" | | 4 | "she said, nodding toward the" | | 5 | "She looked at him then" | | 6 | "He watched her jaw tighten" | | 7 | "She ran a thumb along" | | 8 | "He hadn't known that." | | 9 | "She was going to be" | | 10 | "She was going to terrify" | | 11 | "She had four errors memorised" | | 12 | "she said, reading something in" | | 13 | "She said it the way" | | 14 | "he said carefully" | | 15 | "Her chin lifted by perhaps" | | 16 | "He hadn't noticed it before." | | 17 | "He gestured slightly" | | 18 | "She studied it with the" | | 19 | "Her voice stayed level, didn't" |
| | ratio | 0.395 | |
| 23.95% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 75 | | totalSentences | 86 | | matches | | 0 | "The last of the regulars" | | 1 | "The Raven's Nest settled into" | | 2 | "Silas moved through the quiet," | | 3 | "He didn't hear the door" | | 4 | "Rory stood at the bottom" | | 5 | "Silas set a glass down" | | 6 | "He poured two fingers of" | | 7 | "The green neon from the" | | 8 | "She looked younger in it." | | 9 | "She turned the glass without" | | 10 | "she said, nodding toward the" | | 11 | "Silas leaned against the back" | | 12 | "She looked at him then" | | 13 | "The hazel of his eyes" | | 14 | "The grey in his hair" | | 15 | "Silas didn't move." | | 16 | "A sound escaped her, not" | | 17 | "Silas reached for his own" | | 18 | "The word landed flat" | | 19 | "He watched her jaw tighten" |
| | ratio | 0.872 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 86 | | matches | (empty) | | ratio | 0 | |
| 75.89% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 3 | | matches | | 0 | "Silas watched her look at the map from Prague — a 1960s city map, grid lines and density, the kind of thing that looked like code to an untrained eye." | | 1 | "It had a texture now, something between them that was almost tender but not quite — too many sharp edges for tender, too much that was known without being said." | | 2 | "He stood at the bar for a long time in the green light and the rain sound, and thought about Brendan Carter in a Cardiff doorway, laughing at something before t…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 26 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 15 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 78 | | tagDensity | 0.192 | | leniency | 0.385 | | rawRatio | 0 | | effectiveRatio | 0 | |