| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said aloud [aloud]" | | 1 | "she said again [again]" |
| | dialogueSentences | 5 | | tagDensity | 0.8 | | leniency | 1 | | rawRatio | 0.5 | | effectiveRatio | 0.5 | |
| 80.80% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1823 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "very" | | 1 | "slightly" | | 2 | "perfectly" | | 3 | "utterly" | | 4 | "gently" |
| |
| 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) | |
| 72.57% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1823 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "silence" | | 1 | "pulse" | | 2 | "echo" | | 3 | "absolutely" | | 4 | "familiar" | | 5 | "pulsed" | | 6 | "whisper" |
| |
| 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 | 121 | | matches | (empty) | |
| 95.63% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 121 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 123 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 78 | | totalWords | 1805 | | ratio | 0.043 | | matches | | 0 | "One order of dan dan noodles. Extra chili oil. Deliver to: The King's Standing, Richmond Park." | | 1 | "Hel portal," | | 2 | "It pulses near Hel portals. This isn't Hel. This is something else, and the stone doesn't care, the stone just knows this place is a door." | | 3 | "Stay. It's warm here. It's always summer here. The meal was kind. Stay and be thanked." | | 4 | "Thank you for the meal. The company was better. Come again soon — we left the gate open." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 24 | | wordCount | 1777 | | uniqueNames | 12 | | maxNameDensity | 0.39 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Hel" | | discoveredNames | | Golden | 1 | | Empress | 1 | | King | 1 | | Standing | 1 | | Richmond | 2 | | Rory | 7 | | London | 3 | | Park | 2 | | November | 1 | | Heartstone | 1 | | Sichuan | 1 | | Hel | 3 |
| | persons | | | places | | 0 | "Standing" | | 1 | "Richmond" | | 2 | "London" | | 3 | "Park" | | 4 | "Sichuan" | | 5 | "Hel" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 81 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like a hand closing around her wri" |
| |
| 89.20% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.108 | | wordCount | 1805 | | matches | | 0 | "not an absence of sound but a presence, a held breath, the silence of something listenin" | | 1 | "not a voice at all but a thought placed gently into the back of her skull like a co" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 123 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 41.98 | | std | 31.29 | | cv | 0.746 | | sampleLengths | | 0 | 13 | | 1 | 86 | | 2 | 16 | | 3 | 64 | | 4 | 56 | | 5 | 96 | | 6 | 27 | | 7 | 9 | | 8 | 63 | | 9 | 10 | | 10 | 96 | | 11 | 3 | | 12 | 10 | | 13 | 87 | | 14 | 7 | | 15 | 62 | | 16 | 79 | | 17 | 33 | | 18 | 44 | | 19 | 9 | | 20 | 113 | | 21 | 12 | | 22 | 64 | | 23 | 57 | | 24 | 6 | | 25 | 74 | | 26 | 18 | | 27 | 86 | | 28 | 43 | | 29 | 32 | | 30 | 20 | | 31 | 19 | | 32 | 2 | | 33 | 91 | | 34 | 16 | | 35 | 58 | | 36 | 66 | | 37 | 37 | | 38 | 13 | | 39 | 50 | | 40 | 25 | | 41 | 15 | | 42 | 18 |
| |
| 96.56% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 121 | | matches | | 0 | "were supposed" | | 1 | "was eaten" | | 2 | "was soaked" |
| |
| 36.83% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 286 | | matches | | 0 | "was actually seeing" | | 1 | "were not hiding" | | 2 | "were waiting" | | 3 | "was burning" | | 4 | "was screaming" | | 5 | "was falling" | | 6 | "were shaking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 123 | | ratio | 0.114 | | matches | | 0 | "But rent was due, and the tip covered a week of it, and besides—Richmond Park wasn't that far from the restaurant." | | 1 | "London was out there somewhere behind her—a low orange smear of light pollution, the distant siren-song of a city that never slept." | | 2 | "She'd worn the Heartstone under her shirt, as she always did—a thumbnail of deep crimson on a fine silver chain, left for her months ago by someone who'd never explained itself." | | 3 | "There were nine of them, maybe ten, arranged in a loose arc across the mouth of a clearing—great weathered monoliths, taller than a man, furred with moss and lichen." | | 4 | "But her feet carried her forward, because that was the kind of person she was—the kind who walked into the wrong place to see why it was wrong—and the moment she passed between the first pair of stones, winter ended." | | 5 | "Wildflowers ran in drifts to every horizon of the little clearing—vetch and crane's-bill and things she had no names for, blooming in the dark as if it were noon, glowing faintly, faintly, with a light that had no source." | | 6 | "Overhead, through a canopy of full summer leaf, the stars were wrong—too many, too bright, arranged in constellations she'd never seen in any book." | | 7 | "She crossed the grass—real grass, soft and dew-wet, though the dew did not soak into her trainers—and set the container down on the stone." | | 8 | "The screen showed the capstone, the steaming noodles, the wall of flowers behind—and she almost didn't look past the little rectangle on the screen, almost took the picture blind, but some instinct made her raise her eyes to what the camera was actually seeing." | | 9 | "Not moving—she would have sworn on anything they were not moving—but closer, the way things in dreams are closer when you look away and back." | | 10 | "She wished with a violence that surprised her that it didn't, because the face was almost right, and the parts that were wrong were wrong the way a word is wrong when it's spelled with one letter changed—familiar, and utterly alien, and smiling." | | 11 | "It had been silent for fifteen years, a childhood souvenir, a crescent of pale skin she never thought about—and now it burned like a brand, and through the burning came something else, something that felt like a hand closing around her wrist from the other side of the world." | | 12 | "Winter slapped her in the face—cold, real cold, bracken and frost and the distant honest orange of London sky—and the humming cut off behind her like a door closing." | | 13 | "Come again soon — we left the gate open.*" |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 88 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 1 | | adverbRatio | 0.011363636363636364 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 123 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 123 | | mean | 14.67 | | std | 13.16 | | cv | 0.897 | | sampleLengths | | 0 | 13 | | 1 | 8 | | 2 | 46 | | 3 | 32 | | 4 | 6 | | 5 | 3 | | 6 | 7 | | 7 | 3 | | 8 | 3 | | 9 | 30 | | 10 | 28 | | 11 | 5 | | 12 | 22 | | 13 | 21 | | 14 | 5 | | 15 | 3 | | 16 | 10 | | 17 | 31 | | 18 | 21 | | 19 | 22 | | 20 | 6 | | 21 | 3 | | 22 | 3 | | 23 | 12 | | 24 | 15 | | 25 | 9 | | 26 | 10 | | 27 | 37 | | 28 | 6 | | 29 | 6 | | 30 | 4 | | 31 | 10 | | 32 | 31 | | 33 | 10 | | 34 | 39 | | 35 | 16 | | 36 | 3 | | 37 | 10 | | 38 | 29 | | 39 | 6 | | 40 | 52 | | 41 | 7 | | 42 | 22 | | 43 | 40 | | 44 | 13 | | 45 | 27 | | 46 | 39 | | 47 | 5 | | 48 | 4 | | 49 | 24 |
| |
| 44.99% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 18 | | diversityRatio | 0.35772357723577236 | | totalSentences | 123 | | uniqueOpeners | 44 | |
| 86.21% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 116 | | matches | | 0 | "Just the park, and a" | | 1 | "Somewhere in the dark beyond" | | 2 | "Then, because she had to" |
| | ratio | 0.026 | |
| 54.48% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 48 | | totalSentences | 116 | | matches | | 0 | "She'd typed it into the" | | 1 | "She should have refused it." | | 2 | "She knew that too, the" | | 3 | "It had texture." | | 4 | "It leaned in." | | 5 | "she said aloud, because her" | | 6 | "She left the helmet on" | | 7 | "Her phone's torch carved a" | | 8 | "It was deep November, the" | | 9 | "She noticed that after a" | | 10 | "She'd worn the Heartstone under" | | 11 | "She could see the red" | | 12 | "They did not look like" | | 13 | "Her phone said 11:52 PM." | | 14 | "she said again, quieter" | | 15 | "She was alone." | | 16 | "She was absolutely, certainly not" | | 17 | "It was the only place" | | 18 | "She crossed the grass—real grass," | | 19 | "It might have been the" |
| | ratio | 0.414 | |
| 85.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 87 | | totalSentences | 116 | | matches | | 0 | "The order had come in" | | 1 | "Yu-Fei's Golden Empress closed the" | | 2 | "Rory knew this because she" | | 3 | "She'd typed it into the" | | 4 | "She should have refused it." | | 5 | "She knew that too, the" | | 6 | "The park gates were supposed" | | 7 | "The one nearest the pin" | | 8 | "Rory killed the engine and" | | 9 | "London was out there somewhere" | | 10 | "It had texture." | | 11 | "It leaned in." | | 12 | "she said aloud, because her" | | 13 | "She left the helmet on" | | 14 | "Her phone's torch carved a" | | 15 | "It was deep November, the" | | 16 | "She noticed that after a" | | 17 | "The bracken rattled anyway." | | 18 | "The pendant warmed against her" | | 19 | "She'd worn the Heartstone under" |
| | ratio | 0.75 | |
| 43.10% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 116 | | matches | | | ratio | 0.009 | |
| 66.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 56 | | technicalSentenceCount | 6 | | matches | | 0 | "The one nearest the pin stood wide open, its iron chains hanging slack and neatly coiled on the ground, as if someone had very considerately unwound them and le…" | | 1 | "She'd worn the Heartstone under her shirt, as she always did—a thumbnail of deep crimson on a fine silver chain, left for her months ago by someone who'd never …" | | 2 | "But her feet carried her forward, because that was the kind of person she was—the kind who walked into the wrong place to see why it was wrong—and the moment sh…" | | 3 | "Wildflowers ran in drifts to every horizon of the little clearing—vetch and crane's-bill and things she had no names for, blooming in the dark as if it were noo…" | | 4 | "She wished with a violence that surprised her that it didn't, because the face was almost right, and the parts that were wrong were wrong the way a word is wron…" | | 5 | "It had been silent for fifteen years, a childhood souvenir, a crescent of pale skin she never thought about—and now it burned like a brand, and through the burn…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 1 | | matches | | 0 | "she said again, quieter" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 5 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0 | | effectiveRatio | 0 | |