| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 35 | | adverbTagCount | 2 | | adverbTags | | 0 | "Meg said again [again]" | | 1 | "She almost laughed [almost]" |
| | dialogueSentences | 73 | | tagDensity | 0.479 | | leniency | 0.959 | | rawRatio | 0.057 | | effectiveRatio | 0.055 | |
| 75.10% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2008 | | totalAiIsmAdverbs | 10 | | found | | | highlights | | 0 | "slightly" | | 1 | "precisely" | | 2 | "really" | | 3 | "slowly" | | 4 | "loosely" | | 5 | "very" |
| |
| 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) | |
| 77.59% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2008 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "silence" | | 1 | "footsteps" | | 2 | "effortless" | | 3 | "weight" | | 4 | "determined" | | 5 | "coded" | | 6 | "comfortable" | | 7 | "pulsed" |
| |
| 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 | 116 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 116 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 152 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 61 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2031 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 33 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 72 | | wordCount | 1534 | | uniqueNames | 14 | | maxNameDensity | 1.89 | | worstName | "Rory" | | maxWindowNameDensity | 4 | | worstWindowName | "Rory" | | discoveredNames | | Berwick | 1 | | Street | 1 | | Rory | 29 | | Raven | 1 | | Nest | 1 | | Tuesday-quiet | 1 | | Friday | 1 | | Aurora | 1 | | Carter | 1 | | Silas | 6 | | Cardiff | 2 | | Davies | 1 | | Three | 2 | | Meg | 24 |
| | persons | | 0 | "Rory" | | 1 | "Raven" | | 2 | "Carter" | | 3 | "Silas" | | 4 | "Davies" | | 5 | "Meg" |
| | places | | 0 | "Berwick" | | 1 | "Street" | | 2 | "Friday" | | 3 | "Cardiff" |
| | globalScore | 0.555 | | windowScore | 0.333 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 1 | | matches | | 0 | "quite earned — just the brief warm weight of it, acknowledgment and apology carried in the same small gesture" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 0.985 | | wordCount | 2031 | | matches | | 0 | "neither agreement nor" | | 1 | "not distance but dimension, the space" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 152 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 77 | | mean | 26.38 | | std | 28.76 | | cv | 1.09 | | sampleLengths | | 0 | 69 | | 1 | 18 | | 2 | 111 | | 3 | 94 | | 4 | 4 | | 5 | 4 | | 6 | 59 | | 7 | 10 | | 8 | 40 | | 9 | 1 | | 10 | 62 | | 11 | 2 | | 12 | 80 | | 13 | 8 | | 14 | 4 | | 15 | 82 | | 16 | 37 | | 17 | 71 | | 18 | 5 | | 19 | 3 | | 20 | 2 | | 21 | 32 | | 22 | 4 | | 23 | 2 | | 24 | 4 | | 25 | 24 | | 26 | 29 | | 27 | 8 | | 28 | 2 | | 29 | 34 | | 30 | 13 | | 31 | 8 | | 32 | 7 | | 33 | 55 | | 34 | 5 | | 35 | 55 | | 36 | 4 | | 37 | 20 | | 38 | 7 | | 39 | 64 | | 40 | 4 | | 41 | 2 | | 42 | 84 | | 43 | 3 | | 44 | 6 | | 45 | 3 | | 46 | 4 | | 47 | 59 | | 48 | 27 | | 49 | 22 |
| |
| 93.16% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 116 | | matches | | 0 | "being summoned" | | 1 | "was determined" | | 2 | "been decided" | | 3 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 258 | | matches | | 0 | "was already setting" | | 1 | "wasn't being" | | 2 | "was doing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 19 | | semicolonCount | 1 | | flaggedSentences | 17 | | totalSentences | 152 | | ratio | 0.112 | | matches | | 0 | "The last delivery had been to a bedsit in Berwick Street — three floors up, lift out of service, a man in a paisley dressing gown who had watched Rory count out his change with the slow deliberateness of someone who had decided not to tip before he'd even opened the door." | | 1 | "The Raven's Nest was a Tuesday-quiet, a handful of regulars scattered across the room like punctuation in an otherwise empty paragraph — a couple sharing a bottle of something red in the corner, a man in a good suit nursing whisky at the far end, the usual two old men whose names she still didn't know playing chess near the window." | | 2 | "She pulled off her gloves and set them on the counter, and he placed the pint in front of her without ceremony — the brief flash of silver from his signet ring as he set it down, always that ring, always the right hand — the way you'd return something to a person who'd only set it down for a moment." | | 3 | "She noticed the slight drag of his left foot on the old floorboards as he went — barely a thing, but she'd learned to notice it." | | 4 | "The door opened all night; it was a bar." | | 5 | "Not Aurora — that was her parents' word, deployed in proportion to how disappointed they were." | | 6 | "The same directness in her eyes — a quality Rory had always found both impressive and slightly exhausting." | | 7 | "Three years and two months, though Rory wasn't being precise — the figure had simply always been there, the way a bruise you'd stopped touching was still exactly where you knew it to be." | | 8 | "He had a quality like that — an unnerving capacity to be precisely where something was needed." | | 9 | "It wasn't cruelty — Meg had never been cruel in that way — but it was legible." | | 10 | "Not hard, not sharp — just final in the way of something that had been decided a long time ago and required no revisiting." | | 11 | "She looked at Rory and something moved across her face — surprise, then recognition, then something older and more uncomfortable, the expression of someone stitching together context they should have had far sooner." | | 12 | "Rory turned the glass slowly in her hands, felt the cool condensation against her palm, the small crescent scar at her wrist catching the amber of the bar light as she turned it — that old mark, curved like a quarter moon, from a fall she barely remembered but had carried always." | | 13 | "The years between them were still there but they'd become something different for a moment — not distance but dimension, the space that gave things shape." | | 14 | "Meg held her gaze for a moment longer than was strictly comfortable, and in it Rory saw the outline of everything her friend had not said three years ago — the hesitations, the polite avoidances, the kindnesses taken a degree too far in the wrong direction." | | 15 | "Meg reassembled herself with practiced efficiency — coat, briefcase, the gathering of a person who had places to be and the habit of returning to them." | | 16 | "Meg rested her hand on Rory's arm for just a moment — not a hug, which would have been too easy, a resolution they hadn't quite earned — just the brief warm weight of it, acknowledgment and apology carried in the same small gesture." |
| |
| 74.96% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 755 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 50 | | adverbRatio | 0.06622516556291391 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.022516556291390728 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 152 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 152 | | mean | 13.36 | | std | 13.17 | | cv | 0.985 | | sampleLengths | | 0 | 52 | | 1 | 17 | | 2 | 8 | | 3 | 10 | | 4 | 61 | | 5 | 20 | | 6 | 6 | | 7 | 24 | | 8 | 22 | | 9 | 6 | | 10 | 5 | | 11 | 61 | | 12 | 4 | | 13 | 4 | | 14 | 17 | | 15 | 26 | | 16 | 16 | | 17 | 10 | | 18 | 4 | | 19 | 9 | | 20 | 18 | | 21 | 1 | | 22 | 8 | | 23 | 1 | | 24 | 7 | | 25 | 16 | | 26 | 13 | | 27 | 17 | | 28 | 9 | | 29 | 2 | | 30 | 17 | | 31 | 17 | | 32 | 18 | | 33 | 28 | | 34 | 5 | | 35 | 3 | | 36 | 4 | | 37 | 2 | | 38 | 34 | | 39 | 46 | | 40 | 20 | | 41 | 17 | | 42 | 29 | | 43 | 38 | | 44 | 4 | | 45 | 3 | | 46 | 2 | | 47 | 3 | | 48 | 2 | | 49 | 3 |
| |
| 33.55% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 25 | | diversityRatio | 0.27631578947368424 | | totalSentences | 152 | | uniqueOpeners | 42 | |
| 74.91% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 89 | | matches | | 0 | "Just the kind that opens" | | 1 | "Then she left, and the" |
| | ratio | 0.022 | |
| 53.71% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 89 | | matches | | 0 | "She'd said cheers, have a" | | 1 | "She didn't bother going up" | | 2 | "She just kept walking until" | | 3 | "He didn't ask what she" | | 4 | "He hardly ever did anymore." | | 5 | "She pulled off her gloves" | | 6 | "He made a sound that" | | 7 | "She noticed the slight drag" | | 8 | "He carried himself with such" | | 9 | "She was halfway through her" | | 10 | "She didn't look up." | | 11 | "She registered the draught, the" | | 12 | "She wore a coat that" | | 13 | "They'd spoken twice since Rory" | | 14 | "He had a quality like" | | 15 | "She gestured at the room," | | 16 | "It wasn't cruelty — Meg" | | 17 | "she said at last" | | 18 | "She paused, smiled, recognized the" | | 19 | "It came out quiet." |
| | ratio | 0.416 | |
| 16.18% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 79 | | totalSentences | 89 | | matches | | 0 | "The last delivery had been" | | 1 | "She'd said cheers, have a" | | 2 | "She didn't bother going up" | | 3 | "She just kept walking until" | | 4 | "The Raven's Nest was a" | | 5 | "The green neon from the" | | 6 | "Silas was already setting a" | | 7 | "He didn't ask what she" | | 8 | "He hardly ever did anymore." | | 9 | "She pulled off her gloves" | | 10 | "He made a sound that" | | 11 | "She noticed the slight drag" | | 12 | "He carried himself with such" | | 13 | "She was halfway through her" | | 14 | "She didn't look up." | | 15 | "The door opened all night;" | | 16 | "She registered the draught, the" | | 17 | "The scrape of a stool" | | 18 | "The sound hit her like" | | 19 | "Rory, with the Cardiff in" |
| | ratio | 0.888 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 89 | | matches | (empty) | | ratio | 0 | |
| 3.11% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 9 | | matches | | 0 | "She pulled off her gloves and set them on the counter, and he placed the pint in front of her without ceremony — the brief flash of silver from his signet ring …" | | 1 | "The same dark hair, longer now, pulled back in a smooth knot that managed to seem effortless." | | 2 | "She wore a coat that suggested a certain salary range and she carried a soft leather briefcase with the ease of someone who had stopped noticing its weight." | | 3 | "Just the kind that opens when two people simultaneously realise they are approaching a landscape that will require careful navigation." | | 4 | "Not hard, not sharp — just final in the way of something that had been decided a long time ago and required no revisiting." | | 5 | "The years between them were still there but they'd become something different for a moment — not distance but dimension, the space that gave things shape." | | 6 | "Meg reassembled herself with practiced efficiency — coat, briefcase, the gathering of a person who had places to be and the habit of returning to them." | | 7 | "She glanced around the bar once, at the old maps on the walls, at the faded photographs, at Silas who had moved to the far end of the counter and stood reading …" | | 8 | "Meg rested her hand on Rory's arm for just a moment — not a hug, which would have been too easy, a resolution they hadn't quite earned — just the brief warm wei…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 35 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 95.21% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 25 | | fancyCount | 4 | | fancyTags | | 0 | "Rory agreed (agree)" | | 1 | "She pressed (press)" | | 2 | "Rory agreed (agree)" | | 3 | "She almost laughed (laugh)" |
| | dialogueSentences | 73 | | tagDensity | 0.342 | | leniency | 0.685 | | rawRatio | 0.16 | | effectiveRatio | 0.11 | |