| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 22 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said softly [softly]" | | 1 | "he said quietly [quietly]" |
| | dialogueSentences | 46 | | tagDensity | 0.478 | | leniency | 0.957 | | rawRatio | 0.091 | | effectiveRatio | 0.087 | |
| 93.52% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1544 | | 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) | |
| 90.28% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1544 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "stark" | | 1 | "pulse" | | 2 | "profound" |
| |
| 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 | 84 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 84 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 107 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 53 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1559 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 26 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 39 | | wordCount | 1147 | | uniqueNames | 14 | | maxNameDensity | 0.61 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Eva" | | discoveredNames | | Rory | 7 | | Lucien | 7 | | Moreau | 2 | | Rain | 2 | | Brick | 2 | | Lane | 2 | | Thursday | 1 | | Eva | 6 | | Sit | 1 | | Wapping | 2 | | Corrected | 1 | | Close | 2 | | Frenchman | 1 | | Ptolemy | 3 |
| | persons | | 0 | "Rory" | | 1 | "Lucien" | | 2 | "Moreau" | | 3 | "Rain" | | 4 | "Eva" | | 5 | "Sit" | | 6 | "Ptolemy" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Wapping" | | 3 | "Close" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 57 | | glossingSentenceCount | 1 | | matches | | 0 | "s, costing him visibly — and lowered himse" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1559 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 107 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 52 | | mean | 29.98 | | std | 29.76 | | cv | 0.993 | | sampleLengths | | 0 | 21 | | 1 | 76 | | 2 | 14 | | 3 | 19 | | 4 | 4 | | 5 | 46 | | 6 | 3 | | 7 | 30 | | 8 | 112 | | 9 | 53 | | 10 | 19 | | 11 | 14 | | 12 | 96 | | 13 | 6 | | 14 | 15 | | 15 | 10 | | 16 | 10 | | 17 | 111 | | 18 | 15 | | 19 | 4 | | 20 | 4 | | 21 | 20 | | 22 | 24 | | 23 | 67 | | 24 | 1 | | 25 | 23 | | 26 | 6 | | 27 | 4 | | 28 | 64 | | 29 | 63 | | 30 | 4 | | 31 | 12 | | 32 | 51 | | 33 | 25 | | 34 | 58 | | 35 | 54 | | 36 | 4 | | 37 | 2 | | 38 | 7 | | 39 | 49 | | 40 | 7 | | 41 | 56 | | 42 | 3 | | 43 | 7 | | 44 | 44 | | 45 | 14 | | 46 | 35 | | 47 | 9 | | 48 | 100 | | 49 | 8 |
| |
| 92.73% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 84 | | matches | | 0 | "been bullied" | | 1 | "was pasted" | | 2 | "been decided" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 205 | | matches | | 0 | "was leaning" | | 1 | "was closing" | | 2 | "was pretending" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 107 | | ratio | 0.065 | | matches | | 0 | "The third deadbolt gave with its usual grudging click, and Rory pulled the door open a hand's width — and stopped." | | 1 | "Lucien came in like a ship making an unforgivable landing — precise, graceless, costing him visibly — and lowered himself onto the sofa beneath the window, where Brick Lane's neon smeared orange and green through the rain-glazed glass." | | 2 | "Last winter they'd worked a job together in Wapping — a retrieval that should have taken an hour and took three days, and somewhere in the middle of it, in a stairwell that smelled of river and rust, he had looked at her like — like that." | | 3 | "Ptolemy crept down from the bookshelf, sniffed Lucien's shoe, and — traitor — poured himself across the man's knee like poured honey." | | 4 | "She tied it off, snipped the thread, taped gauze over the whole ruined mess of him, and his hand came up — careful, asking without asking — and closed around her left wrist." | | 5 | "Close enough to see he was afraid — the fixer, the Frenchman, the man who bargained with things that ate people, afraid of her, in a rented flat above a curry house." | | 6 | "It started careful — his hand at her jaw, mindful of gauze, mindful of everything, because he was always mindful — and then her fingers slid into the ruined hair and the careful part of it ended." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 643 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 15 | | adverbRatio | 0.02332814930015552 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.007776049766718507 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 107 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 107 | | mean | 14.57 | | std | 12.02 | | cv | 0.825 | | sampleLengths | | 0 | 21 | | 1 | 9 | | 2 | 30 | | 3 | 31 | | 4 | 6 | | 5 | 4 | | 6 | 10 | | 7 | 19 | | 8 | 4 | | 9 | 10 | | 10 | 36 | | 11 | 3 | | 12 | 11 | | 13 | 7 | | 14 | 12 | | 15 | 32 | | 16 | 3 | | 17 | 38 | | 18 | 21 | | 19 | 10 | | 20 | 3 | | 21 | 5 | | 22 | 15 | | 23 | 11 | | 24 | 27 | | 25 | 10 | | 26 | 9 | | 27 | 14 | | 28 | 5 | | 29 | 40 | | 30 | 21 | | 31 | 30 | | 32 | 6 | | 33 | 15 | | 34 | 10 | | 35 | 10 | | 36 | 27 | | 37 | 21 | | 38 | 47 | | 39 | 7 | | 40 | 5 | | 41 | 4 | | 42 | 15 | | 43 | 4 | | 44 | 4 | | 45 | 16 | | 46 | 4 | | 47 | 4 | | 48 | 20 | | 49 | 8 |
| |
| 69.16% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.4485981308411215 | | totalSentences | 107 | | uniqueOpeners | 48 | |
| 46.30% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 72 | | matches | | 0 | "Instead she stood there with" |
| | ratio | 0.014 | |
| 42.22% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 72 | | matches | | 0 | "His platinum hair had surrendered" | | 1 | "It was the stupidest thing" | | 2 | "She started to close the" | | 3 | "She had watched Lucien Moreau" | | 4 | "She had never once heard" | | 5 | "It undid her the way" | | 6 | "She'd been sleeping in Eva's" | | 7 | "Her own bed was four" | | 8 | "His jacket came off badly." | | 9 | "She helped, hating her own" | | 10 | "he said, and was quiet," | | 11 | "She cleaned the wound and" | | 12 | "She'd thought about the look" | | 13 | "She'd hated herself for it." | | 14 | "She'd hated him more." | | 15 | "she said, working the first" | | 16 | "His voice stayed level, which" | | 17 | "She pushed the needle through" | | 18 | "He didn't flinch and somehow" | | 19 | "He was silent long enough" |
| | ratio | 0.444 | |
| 71.11% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 72 | | matches | | 0 | "The third deadbolt gave with" | | 1 | "Rain had gotten to Lucien" | | 2 | "The charcoal suit, the one" | | 3 | "His platinum hair had surrendered" | | 4 | "The accent turned even that" | | 5 | "It was the stupidest thing" | | 6 | "Rain ran off his chin" | | 7 | "She started to close the" | | 8 | "She had watched Lucien Moreau" | | 9 | "She had never once heard" | | 10 | "It undid her the way" | | 11 | "Ptolemy shot past her ankles" | | 12 | "Rory stood aside." | | 13 | "Lucien came in like a" | | 14 | "The flat smelled of curry" | | 15 | "Eva's note was still stuck" | | 16 | "Rory had been bullied plenty" | | 17 | "She'd been sleeping in Eva's" | | 18 | "Her own bed was four" | | 19 | "Lucien said, and closed his" |
| | ratio | 0.778 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 72 | | matches | (empty) | | ratio | 0 | |
| 17.86% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 40 | | technicalSentenceCount | 7 | | matches | | 0 | "She had watched Lucien Moreau bargain with things that ate people." | | 1 | "Eva's first-aid kit was the size of a shoebox and organized like a pharmacy, which said everything about what Eva researched." | | 2 | "Last winter they'd worked a job together in Wapping — a retrieval that should have taken an hour and took three days, and somewhere in the middle of it, in a st…" | | 3 | "He lied beautifully all day long, and then at the moments that mattered he went stark and plain as an open ledger." | | 4 | "Instead she stood there with her pulse hammering against his thumb and looked down at him, wrecked and bandaged on her best friend's sofa, the cane lying spent …" | | 5 | "Close enough to see he was afraid — the fixer, the Frenchman, the man who bargained with things that ate people, afraid of her, in a rented flat above a curry h…" | | 6 | "Rory looked at the blood on Eva's rug, at the bandage rising and falling with his breath, at the cat already asleep on him as if the matter had been decided at …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 22 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 17 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 46 | | tagDensity | 0.37 | | leniency | 0.739 | | rawRatio | 0.059 | | effectiveRatio | 0.043 | |