| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 25 | | adverbTagCount | 2 | | adverbTags | | 0 | "Marek said slowly [slowly]" | | 1 | "He stopped again [again]" |
| | dialogueSentences | 72 | | tagDensity | 0.347 | | leniency | 0.694 | | rawRatio | 0.08 | | effectiveRatio | 0.056 | |
| 91.85% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1840 | | 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) | |
| 70.11% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1840 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "scanning" | | 1 | "measured" | | 2 | "eyebrow" | | 3 | "calculated" | | 4 | "traced" | | 5 | "silence" | | 6 | "weight" | | 7 | "could feel" | | 8 | "comfortable" | | 9 | "mechanical" |
| |
| 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 | 123 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 123 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 170 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1855 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 28 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 44 | | wordCount | 1248 | | uniqueNames | 9 | | maxNameDensity | 1.2 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Aurora | 1 | | Nest | 2 | | Silas | 9 | | Paddington | 1 | | Marek | 13 | | Picked | 1 | | Rory | 15 | | Moleskine | 1 | | London | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Silas" | | 2 | "Marek" | | 3 | "Picked" | | 4 | "Rory" |
| | places | | 0 | "Nest" | | 1 | "Paddington" | | 2 | "Moleskine" | | 3 | "London" |
| | globalScore | 0.899 | | windowScore | 0.833 | |
| 16.67% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 75 | | glossingSentenceCount | 4 | | matches | | 0 | "smelled like rain and motor oil" | | 1 | "sounded like it was playing from the botto" | | 2 | "as if dimming the room around his unconsciousness would keep him comfortable" | | 3 | "appeared beside her, collecting glasses with the economy of someone who'd done it ten thousand times" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1855 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 170 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 82 | | mean | 22.62 | | std | 20.82 | | cv | 0.92 | | sampleLengths | | 0 | 81 | | 1 | 71 | | 2 | 56 | | 3 | 5 | | 4 | 68 | | 5 | 1 | | 6 | 21 | | 7 | 2 | | 8 | 53 | | 9 | 23 | | 10 | 10 | | 11 | 9 | | 12 | 10 | | 13 | 64 | | 14 | 5 | | 15 | 44 | | 16 | 4 | | 17 | 43 | | 18 | 17 | | 19 | 34 | | 20 | 23 | | 21 | 54 | | 22 | 6 | | 23 | 5 | | 24 | 6 | | 25 | 60 | | 26 | 19 | | 27 | 6 | | 28 | 18 | | 29 | 4 | | 30 | 27 | | 31 | 8 | | 32 | 5 | | 33 | 9 | | 34 | 10 | | 35 | 8 | | 36 | 63 | | 37 | 73 | | 38 | 2 | | 39 | 17 | | 40 | 18 | | 41 | 3 | | 42 | 8 | | 43 | 59 | | 44 | 6 | | 45 | 3 | | 46 | 15 | | 47 | 23 | | 48 | 24 | | 49 | 3 |
| |
| 93.85% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 123 | | matches | | 0 | "been carved" | | 1 | "been stitched" | | 2 | "was gone " | | 3 | "was watered" |
| |
| 86.04% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 234 | | matches | | 0 | "was scanning" | | 1 | "was wiping" | | 2 | "was playing" | | 3 | "was quietly shutting" |
| |
| 8.40% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 170 | | ratio | 0.047 | | matches | | 0 | "She'd come down after a shift that had run late — a double order to Paddington, then a broken zipper on her delivery bag that had sent spring rolls tumbling across a stranger's doorstep." | | 1 | "He was scanning the bar the way people do when they're looking for someone or waiting for a table — eyes moving in measured sweeps, the practiced habit of someone who'd spent years cataloguing rooms." | | 2 | "His eyes were darker than she recalled — or maybe that was just the lighting." | | 3 | "It drummed against the windows in a rhythm that matched the low jazz Silas had queued up — something with a stand-up bass and a saxophone that sounded like it was playing from the bottom of a well." | | 4 | "Rory could feel the shape of what he wanted to ask — the bruise-colored curiosity behind his eyes." | | 5 | "Then he laughed — a real one, short and surprised, the kind that escapes before someone can catch it." | | 6 | "Marek pulled a pen from his jacket pocket — a mechanical one, well-worn — and wrote something on a napkin." | | 7 | "The bell above it rang once, thin and clear, and then he was gone — swallowed by the wet London night and the glow of the streetlights reflected in the puddles along the curb." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1245 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 38 | | adverbRatio | 0.030522088353413655 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.004819277108433735 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 170 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 170 | | mean | 10.91 | | std | 9.12 | | cv | 0.835 | | sampleLengths | | 0 | 20 | | 1 | 7 | | 2 | 19 | | 3 | 12 | | 4 | 23 | | 5 | 34 | | 6 | 3 | | 7 | 14 | | 8 | 20 | | 9 | 3 | | 10 | 13 | | 11 | 18 | | 12 | 22 | | 13 | 5 | | 14 | 5 | | 15 | 35 | | 16 | 7 | | 17 | 21 | | 18 | 1 | | 19 | 2 | | 20 | 8 | | 21 | 11 | | 22 | 2 | | 23 | 14 | | 24 | 6 | | 25 | 8 | | 26 | 18 | | 27 | 7 | | 28 | 4 | | 29 | 18 | | 30 | 1 | | 31 | 10 | | 32 | 3 | | 33 | 6 | | 34 | 10 | | 35 | 26 | | 36 | 11 | | 37 | 27 | | 38 | 5 | | 39 | 18 | | 40 | 20 | | 41 | 6 | | 42 | 4 | | 43 | 13 | | 44 | 15 | | 45 | 15 | | 46 | 3 | | 47 | 14 | | 48 | 7 | | 49 | 24 |
| |
| 42.94% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.28823529411764703 | | totalSentences | 170 | | uniqueOpeners | 49 | |
| 98.04% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 102 | | matches | | 0 | "Then his mouth twisted into" | | 1 | "Just the offering, then gone." | | 2 | "Then he laughed — a" |
| | ratio | 0.029 | |
| 67.06% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 39 | | totalSentences | 102 | | matches | | 0 | "She'd come down after a" | | 1 | "Her feet ached." | | 2 | "Her hair, still damp from" | | 3 | "He turned to hang the" | | 4 | "He hadn't seen her yet." | | 5 | "He was scanning the bar" | | 6 | "His jaw was harder than" | | 7 | "He crossed the bar in" | | 8 | "His knuckles were rough, the" | | 9 | "He smelled like rain and" | | 10 | "His gaze traveled over her" | | 11 | "His almost-smile deepened." | | 12 | "He took a drink" | | 13 | "He set the glass down" | | 14 | "His eyes were darker than" | | 15 | "She ran her thumb along" | | 16 | "She took a sip" | | 17 | "She'd ordered it out of" | | 18 | "It drummed against the windows" | | 19 | "His gaze dropped to her" |
| | ratio | 0.382 | |
| 4.12% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 93 | | totalSentences | 102 | | matches | | 0 | "The amber glow from the" | | 1 | "Wednesday nights at the Nest" | | 2 | "The green neon sign outside" | | 3 | "She'd come down after a" | | 4 | "Her feet ached." | | 5 | "Her hair, still damp from" | | 6 | "The crescent scar on her" | | 7 | "The door opened." | | 8 | "A gust of cold air" | | 9 | "A man stepped in, shaking" | | 10 | "He turned to hang the" | | 11 | "Rory set her glass down." | | 12 | "He hadn't seen her yet." | | 13 | "He was scanning the bar" | | 14 | "His jaw was harder than" | | 15 | "The softness that had lived" | | 16 | "He crossed the bar in" | | 17 | "A thin white line bisected" | | 18 | "His knuckles were rough, the" | | 19 | "He smelled like rain and" |
| | ratio | 0.912 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 102 | | matches | (empty) | | ratio | 0 | |
| 26.24% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 49 | | technicalSentenceCount | 8 | | matches | | 0 | "The green neon sign outside hummed against the rain-slicked glass, casting everything in a faint emerald haze that suited Silas's taste for atmosphere." | | 1 | "She'd come down after a shift that had run late — a double order to Paddington, then a broken zipper on her delivery bag that had sent spring rolls tumbling acr…" | | 2 | "He was scanning the bar the way people do when they're looking for someone or waiting for a table — eyes moving in measured sweeps, the practiced habit of someo…" | | 3 | "Marek flagged down Silas, who was wiping the same spot on the counter he always returned to when he wanted to seem occupied without being involved." | | 4 | "It drummed against the windows in a rhythm that matched the low jazz Silas had queued up — something with a stand-up bass and a saxophone that sounded like it w…" | | 5 | "The man in the wool coat had fallen asleep with his chin on his chest, and Silas was quietly shutting off the pendant light above him, as if dimming the room ar…" | | 6 | "The numbers were neat, precise, drawn with the same hand that had sketched cathedral facades in Moleskine notebooks." | | 7 | "Silas appeared beside her, collecting glasses with the economy of someone who'd done it ten thousand times." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 25 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 16 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 72 | | tagDensity | 0.222 | | leniency | 0.444 | | rawRatio | 0.063 | | effectiveRatio | 0.028 | |