| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 1 | | adverbTags | | 0 | "Lucien said quietly [quietly]" |
| | dialogueSentences | 43 | | tagDensity | 0.349 | | leniency | 0.698 | | rawRatio | 0.067 | | effectiveRatio | 0.047 | |
| 89.11% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1837 | | totalAiIsmAdverbs | 4 | | 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) | |
| 89.11% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1837 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "electric" | | 1 | "variable" | | 2 | "flicker" | | 3 | "unreadable" |
| |
| 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 | 65 | | matches | (empty) | |
| 98.90% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 65 | | filterMatches | | | hedgeMatches | | |
| 95.79% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 90 | | gibberishSentences | 1 | | adjustedGibberishSentences | 1 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 89 | | ratio | 0.011 | | matches | | 0 | "\"I know you moved above a bar in Shoreditch in April and that you took the flat because the landlord asked no questions and the stair has a second exit into the alley. I know you w…" |
| |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 6 | | totalWords | 1851 | | ratio | 0.003 | | matches | | 0 | "Laisse-moi entrer" | | 1 | "one of the two" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 25 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 48 | | wordCount | 1110 | | uniqueNames | 11 | | maxNameDensity | 1.17 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Eva" | | discoveredNames | | Rory | 13 | | Eva | 13 | | Bloomsbury | 1 | | Moreau | 2 | | Ptolemy | 5 | | Brick | 1 | | Lane | 1 | | Rain | 2 | | Lucien | 8 | | Cardiff | 1 | | Bengali | 1 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Moreau" | | 3 | "Ptolemy" | | 4 | "Rain" | | 5 | "Lucien" |
| | places | | 0 | "Bloomsbury" | | 1 | "Brick" | | 2 | "Lane" | | 3 | "Cardiff" | | 4 | "Bengali" |
| | globalScore | 0.914 | | windowScore | 0.833 | |
| 95.65% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 46 | | glossingSentenceCount | 1 | | matches | | 0 | "not quite a smile, and it was not quite not" | | 1 | "not quite not" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1851 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 90 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 49 | | mean | 37.78 | | std | 36.68 | | cv | 0.971 | | sampleLengths | | 0 | 77 | | 1 | 13 | | 2 | 115 | | 3 | 3 | | 4 | 5 | | 5 | 11 | | 6 | 72 | | 7 | 15 | | 8 | 29 | | 9 | 63 | | 10 | 7 | | 11 | 4 | | 12 | 1 | | 13 | 51 | | 14 | 12 | | 15 | 19 | | 16 | 49 | | 17 | 12 | | 18 | 75 | | 19 | 23 | | 20 | 13 | | 21 | 67 | | 22 | 47 | | 23 | 4 | | 24 | 4 | | 25 | 3 | | 26 | 110 | | 27 | 58 | | 28 | 56 | | 29 | 3 | | 30 | 90 | | 31 | 10 | | 32 | 43 | | 33 | 10 | | 34 | 3 | | 35 | 135 | | 36 | 6 | | 37 | 119 | | 38 | 58 | | 39 | 9 | | 40 | 2 | | 41 | 4 | | 42 | 68 | | 43 | 34 | | 44 | 96 | | 45 | 35 | | 46 | 32 | | 47 | 2 | | 48 | 74 |
| |
| 94.47% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 65 | | matches | | 0 | "were fixed" | | 1 | "been taught" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 186 | | matches | | 0 | "was standing" | | 1 | "was standing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 6 | | flaggedSentences | 14 | | totalSentences | 90 | | ratio | 0.156 | | matches | | 0 | "She'd opened the door intending to tell whoever was standing on Eva's narrow landing that Eva wasn't home — Eva was never home at this hour, Eva was at the archive in Bloomsbury with her gloves and her thermos and her magnificent indifference to the world — and the words died somewhere behind her teeth." | | 1 | "He'd given up slicking it back, or he simply hadn't bothered tonight; it fell across his forehead in wet, disordered strands, and he looked, for perhaps the first time since she'd known him, like a man who had come up three flights of stairs in a hurry." | | 2 | "His cane — ivory handle, thin blade coiled inside the shaft like a held breath — rested against his shin." | | 3 | "Eva, who had sworn — sworn on Ptolemy, which was the only oath Eva took seriously — that she had not given Lucien Moreau Rory's new address, her new number, or any other coordinate of her new life." | | 4 | "There would be a later; there was always a later with Eva, usually involving wine and a detailed accounting." | | 5 | "He inclined his head — not defeated, never defeated, just marking the fact the way he marked everything, the way a fixer marks a variable and keeps it in the sum." | | 6 | "The corner of his mouth moved; it was not quite a smile, and it was not quite not." | | 7 | "\"Because the man who wrote it works for a client of mine, and the client was careless enough to mention it to me at dinner an hour before it happened.\" His amber eye caught the light; the black one gave nothing." | | 8 | "Rory's hand had found the crescent scar on her left wrist without her telling it to — the old habit, thumb worrying the little moon of raised skin, the one from the garden step in Cardiff when she was nine." | | 9 | "Something moved behind her — Ptolemy, hopping down from his manuscript stack with a soft papery slap of paws, padding over to wind once around Lucien's ankle." | | 10 | "His gaze passed over the deadbolts — all three of them, she noticed, and she watched him notice — and settled on the empty chair by the ring hob, the one Eva kept for no one." | | 11 | "The amber eye came up to hers; the black one stayed where it was, steady and unreadable." | | 12 | "Her hands were always steady; it was the rest of her that had to be told." | | 13 | "Ptolemy leapt into his lap with the brazen entitlement of a creature who had chosen a side, and Lucien put a hand — careful, unhurried — along the tabby's spine, and his black eye and his amber eye both stayed on her, and neither of them blinked, and Rory stood in Eva's ruined, magnificent flat with the bolts thrown behind her and thought: *one of the two* — and did not yet know which." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1100 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 37 | | adverbRatio | 0.03363636363636364 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.007272727272727273 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 90 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 90 | | mean | 20.57 | | std | 18.62 | | cv | 0.905 | | sampleLengths | | 0 | 22 | | 1 | 55 | | 2 | 13 | | 3 | 47 | | 4 | 18 | | 5 | 20 | | 6 | 4 | | 7 | 26 | | 8 | 3 | | 9 | 5 | | 10 | 11 | | 11 | 12 | | 12 | 39 | | 13 | 21 | | 14 | 6 | | 15 | 9 | | 16 | 6 | | 17 | 12 | | 18 | 11 | | 19 | 38 | | 20 | 6 | | 21 | 19 | | 22 | 7 | | 23 | 4 | | 24 | 1 | | 25 | 13 | | 26 | 31 | | 27 | 7 | | 28 | 12 | | 29 | 19 | | 30 | 22 | | 31 | 18 | | 32 | 9 | | 33 | 12 | | 34 | 31 | | 35 | 44 | | 36 | 4 | | 37 | 19 | | 38 | 13 | | 39 | 41 | | 40 | 26 | | 41 | 40 | | 42 | 7 | | 43 | 4 | | 44 | 4 | | 45 | 3 | | 46 | 33 | | 47 | 7 | | 48 | 70 | | 49 | 27 |
| |
| 64.07% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.4111111111111111 | | totalSentences | 90 | | uniqueOpeners | 37 | |
| 60.61% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 55 | | matches | | 0 | "Somewhere below, a curry-house kitchen" |
| | ratio | 0.018 | |
| 96.36% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 17 | | totalSentences | 55 | | matches | | 0 | "She'd opened the door intending" | | 1 | "He'd given up slicking it" | | 2 | "His cane — ivory handle," | | 3 | "He didn't move either" | | 4 | "He inclined his head —" | | 5 | "His amber eye caught the" | | 6 | "She became aware of it" | | 7 | "She looked at Lucien." | | 8 | "She stepped back." | | 9 | "He came in and did" | | 10 | "He looked at the room" | | 11 | "His gaze passed over the" | | 12 | "He didn't look away" | | 13 | "He picked up his cane" | | 14 | "Her hands were steady." | | 15 | "Her hands were always steady;" | | 16 | "she said, to the steam," |
| | ratio | 0.309 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 51 | | totalSentences | 55 | | matches | | 0 | "The third deadbolt stuck the" | | 1 | "She'd opened the door intending" | | 2 | "Lucien Moreau stood in the" | | 3 | "He'd given up slicking it" | | 4 | "The charcoal suit was still" | | 5 | "His cane — ivory handle," | | 6 | "The other was black, and" | | 7 | "Every surface layered with books" | | 8 | "The smell of Brick Lane's" | | 9 | "Rory didn't move from the" | | 10 | "He didn't move either" | | 11 | "Rain ran from his cuff" | | 12 | "Eva, who had sworn —" | | 13 | "Rory filed the betrayal for" | | 14 | "There would be a later;" | | 15 | "The refusal came out flat" | | 16 | "He inclined his head —" | | 17 | "Water gathered at his jaw" | | 18 | "The corner of his mouth" | | 19 | "The play drained out of" |
| | ratio | 0.927 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 55 | | matches | (empty) | | ratio | 0 | |
| 37.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 5 | | matches | | 0 | "The other was black, and both of them were fixed on her with the patient, unblinking attention of someone who had decided to wait her out." | | 1 | "Eva, who had sworn — sworn on Ptolemy, which was the only oath Eva took seriously — that she had not given Lucien Moreau Rory's new address, her new number, or …" | | 2 | "Something moved behind her — Ptolemy, hopping down from his manuscript stack with a soft papery slap of paws, padding over to wind once around Lucien's ankle." | | 3 | "Rain had worked its way under the collar of his coat and darkened the expensive charcoal wool at the base of his throat, and he was standing very still, in the …" | | 4 | "Ptolemy leapt into his lap with the brazen entitlement of a creature who had chosen a side, and Lucien put a hand — careful, unhurried — along the tabby's spine…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 43 | | tagDensity | 0.186 | | leniency | 0.372 | | rawRatio | 0 | | effectiveRatio | 0 | |