| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said quietly [quietly]" | | 1 | "His cane tip tapped once [once]" |
| | dialogueSentences | 58 | | tagDensity | 0.362 | | leniency | 0.724 | | rawRatio | 0.095 | | effectiveRatio | 0.069 | |
| 83.31% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2097 | | totalAiIsmAdverbs | 7 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | adverb | "reluctantly" | | count | 1 |
| | 5 | |
| | highlights | | 0 | "lightly" | | 1 | "truly" | | 2 | "tightly" | | 3 | "carefully" | | 4 | "reluctantly" | | 5 | "slightly" |
| |
| 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) | |
| 71.39% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2097 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "calculated" | | 1 | "silence" | | 2 | "wavered" | | 3 | "flicker" | | 4 | "pulse" | | 5 | "scanned" | | 6 | "weight" | | 7 | "whisper" | | 8 | "traced" | | 9 | "quickened" | | 10 | "fluttered" |
| |
| 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 | 134 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 134 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 166 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 68 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 2080 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 52 | | wordCount | 1578 | | uniqueNames | 25 | | maxNameDensity | 0.63 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Eva | 4 | | Moreau | 2 | | Brick | 2 | | Lane | 2 | | Marseille | 1 | | Mayfair | 1 | | Lucien | 10 | | Frenchman | 1 | | Aurora | 10 | | Carter | 1 | | Ellis | 1 | | Voice | 1 | | Ptolemy | 2 | | London | 1 | | Golden | 1 | | Empress | 1 | | Cardiff | 1 | | Evan | 1 | | Fear | 1 | | Silence | 1 | | Unrepentant | 1 | | French | 1 | | English | 1 | | Silas | 1 | | One | 3 |
| | persons | | 0 | "Eva" | | 1 | "Moreau" | | 2 | "Lucien" | | 3 | "Aurora" | | 4 | "Carter" | | 5 | "Ellis" | | 6 | "Voice" | | 7 | "Evan" | | 8 | "Fear" | | 9 | "Silence" | | 10 | "French" | | 11 | "Silas" | | 12 | "One" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Marseille" | | 3 | "London" | | 4 | "Golden" | | 5 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 88.27% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 81 | | glossingSentenceCount | 2 | | matches | | 0 | "not quite a smile" | | 1 | "felt like surviving and dying in the sa" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2080 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 166 | | matches | | 0 | "was that Eva" | | 1 | "unsaid: that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 63 | | mean | 33.02 | | std | 28.85 | | cv | 0.874 | | sampleLengths | | 0 | 45 | | 1 | 98 | | 2 | 22 | | 3 | 86 | | 4 | 65 | | 5 | 9 | | 6 | 27 | | 7 | 34 | | 8 | 34 | | 9 | 10 | | 10 | 8 | | 11 | 45 | | 12 | 8 | | 13 | 16 | | 14 | 60 | | 15 | 31 | | 16 | 47 | | 17 | 1 | | 18 | 30 | | 19 | 55 | | 20 | 4 | | 21 | 61 | | 22 | 101 | | 23 | 7 | | 24 | 16 | | 25 | 22 | | 26 | 10 | | 27 | 27 | | 28 | 70 | | 29 | 9 | | 30 | 14 | | 31 | 8 | | 32 | 6 | | 33 | 114 | | 34 | 10 | | 35 | 52 | | 36 | 18 | | 37 | 40 | | 38 | 15 | | 39 | 5 | | 40 | 1 | | 41 | 5 | | 42 | 1 | | 43 | 15 | | 44 | 20 | | 45 | 53 | | 46 | 18 | | 47 | 43 | | 48 | 54 | | 49 | 86 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 134 | | matches | | 0 | "was slicked" | | 1 | "been gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 267 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 5 | | flaggedSentences | 16 | | totalSentences | 166 | | ratio | 0.096 | | matches | | 0 | "The faint spice of the curry house below them curled up the stairwell and mixed with the cooler scent of his cologne—something dark and expensive, cedar and smoke." | | 1 | "Lucien’s gaze tracked the cat, then the chaos of Eva’s flat—scroll tubes jammed between cookbooks, journals held open by half-empty mugs, photographs of ley lines pinned crooked to the wall." | | 2 | "One gloved hand—he still wore thin leather gloves indoors, she remembered with a jolt—produced a plain white envelope from his inner breast pocket." | | 3 | "Outside a bus growled along the lane; inside, the radiator ticked like a second heartbeat." | | 4 | "She heard him move behind her—slow, economical steps, the cane lightly tapping once for balance or for effect." | | 5 | "He never truly needed the cane; they both knew it hid the blade." | | 6 | "They were closer than she expected—half a metre, the span of an argument or a breath." | | 7 | "Jennifer Carter née Ellis had been gone three years; the letter was something she had never known existed." | | 8 | "She scanned it once, vision blurring at the edges as ordinary parental worry howled up through the years—be careful in London, trust your own sharp mind, I love you even when you run." | | 9 | "A tower of books leaned dangerously near his shoulder; he shifted his weight so carefully the stack remained upright." | | 10 | "Attraction had ignited then—sharp, unwelcome, mutual—and grown over weeks of careful almosts until the supernatural work he trafficked in finally clawed its way between them." | | 11 | "Up close the black eye held light the way deep water held light—absorbing, fractal." | | 12 | "The history rose between them—stolen hours in the back booth of Silas’s after closing, the taste of his mouth when he still allowed himself the risk of kissing her, the night she had traced the place where human skin met something older under his collarbone and he had nearly torn the shirt himself to give her more." | | 13 | "“And I still want you.” The admission escaped before she could cage it; once free it expanded." | | 14 | "When they broke for air her blue eyes met his mismatched pair and the old hurt was still there—present, acknowledged—but layered under something larger that had waited fourteen months for a door to open." | | 15 | "Outside the occurrence of Brick Lane continued without them—buses, rain, the eternal sizzle of oil downstairs." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1598 | | adjectiveStacks | 1 | | stackExamples | | 0 | "faint onion-sweet residue" |
| | adverbCount | 62 | | adverbRatio | 0.03879849812265332 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.010012515644555695 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 166 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 166 | | mean | 12.53 | | std | 11.26 | | cv | 0.899 | | sampleLengths | | 0 | 16 | | 1 | 29 | | 2 | 25 | | 3 | 12 | | 4 | 22 | | 5 | 11 | | 6 | 28 | | 7 | 17 | | 8 | 5 | | 9 | 9 | | 10 | 4 | | 11 | 47 | | 12 | 6 | | 13 | 20 | | 14 | 28 | | 15 | 30 | | 16 | 7 | | 17 | 9 | | 18 | 4 | | 19 | 2 | | 20 | 4 | | 21 | 12 | | 22 | 5 | | 23 | 22 | | 24 | 5 | | 25 | 7 | | 26 | 23 | | 27 | 2 | | 28 | 2 | | 29 | 7 | | 30 | 5 | | 31 | 5 | | 32 | 6 | | 33 | 2 | | 34 | 3 | | 35 | 15 | | 36 | 19 | | 37 | 8 | | 38 | 8 | | 39 | 11 | | 40 | 5 | | 41 | 10 | | 42 | 18 | | 43 | 16 | | 44 | 16 | | 45 | 18 | | 46 | 13 | | 47 | 7 | | 48 | 3 | | 49 | 5 |
| |
| 54.82% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.3614457831325301 | | totalSentences | 166 | | uniqueOpeners | 60 | |
| 57.97% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 115 | | matches | | 0 | "Instead she stepped back two" | | 1 | "Of course he would know." |
| | ratio | 0.017 | |
| 70.43% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 43 | | totalSentences | 115 | | matches | | 0 | "His platinum hair was slicked" | | 1 | "His voice carried the soft" | | 2 | "Her grip tightened on the" | | 3 | "She had not seen him" | | 4 | "She should have shut the" | | 5 | "His mouth curved, not quite" | | 6 | "She folded her arms." | | 7 | "He shut the door himself," | | 8 | "He held it out between" | | 9 | "She could smell the ink" | | 10 | "she said quietly" | | 11 | "His heterochromatic stare never wavered" | | 12 | "She turned away first, pacing" | | 13 | "She heard him move behind" | | 14 | "He never truly needed the" | | 15 | "His reflection appeared in the" | | 16 | "They were closer than she" | | 17 | "He set the envelope on" | | 18 | "She reached past him, fingers" | | 19 | "Their hands almost touched." |
| | ratio | 0.374 | |
| 55.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 93 | | totalSentences | 115 | | matches | | 0 | "The three deadbolts slid free" | | 1 | "Aurora pulled the door open" | | 2 | "Lucien Moreau stood on the" | | 3 | "His platinum hair was slicked" | | 4 | "The ivory handle of his" | | 5 | "The faint spice of the" | | 6 | "His voice carried the soft" | | 7 | "Her grip tightened on the" | | 8 | "Heat climbed her throat." | | 9 | "She had not seen him" | | 10 | "She should have shut the" | | 11 | "Ptolemy the tabby emerged from" | | 12 | "Lucien’s gaze tracked the cat," | | 13 | "His mouth curved, not quite" | | 14 | "She folded her arms." | | 15 | "The small crescent scar on" | | 16 | "He shut the door himself," | | 17 | "The sound was soft, final." | | 18 | "He held it out between" | | 19 | "Aurora did not take it." |
| | ratio | 0.809 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 115 | | matches | (empty) | | ratio | 0 | |
| 81.28% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 58 | | technicalSentenceCount | 5 | | matches | | 0 | "One amber eye and one black eye fixed on her with the calm precision of a man who calculated everything in advance." | | 1 | "She turned away first, pacing into the single main room that served as kitchen, study, and living space." | | 2 | "The air between the almost-touch tasted of every unfinished sentence of the night they parted: the way he had gripped her elbows too tightly and told her she wa…" | | 3 | "Lucien had appeared out of the side-street dark as if summoned, offered a dry coat that smelled of good fabric and ozone, and asked no questions that demanded s…" | | 4 | "Things left unsaid: that she had loved the careful dangerousness of him, that leaving felt like surviving and dying in the same motion." |
| |
| 77.38% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 2 | | matches | | 0 | "His reflection appeared, a pale ghost beside her own" | | 1 | "he said, voice roughened" |
| |
| 98.28% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 3 | | fancyTags | | 0 | "she whispered (whisper)" | | 1 | "she challenged (challenge)" | | 2 | "she murmured (murmur)" |
| | dialogueSentences | 58 | | tagDensity | 0.224 | | leniency | 0.448 | | rawRatio | 0.231 | | effectiveRatio | 0.103 | |