| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 21 | | tagDensity | 0.476 | | leniency | 0.952 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 86.22% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1451 | | totalAiIsmAdverbs | 4 | | found | | 0 | | adverb | "barely above a whisper" | | count | 1 |
| | 1 | | | 2 | | | 3 | |
| | highlights | | 0 | "barely above a whisper" | | 1 | "slightly" | | 2 | "carefully" | | 3 | "perfectly" |
| |
| 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) | |
| 65.54% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1451 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "pulse" | | 1 | "whisper" | | 2 | "weight" | | 3 | "sense of" | | 4 | "flickered" | | 5 | "resonance" | | 6 | "stomach" | | 7 | "tapestry" | | 8 | "pulsed" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 81 | | matches | (empty) | |
| 37.04% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 5 | | narrationSentences | 81 | | filterMatches | | | hedgeMatches | | 0 | "seemed to" | | 1 | "tried to" | | 2 | "began to" |
| |
| 95.95% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 92 | | gibberishSentences | 1 | | adjustedGibberishSentences | 1 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 56 | | ratio | 0.011 | | matches | | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1435 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 1251 | | uniqueNames | 14 | | maxNameDensity | 1.28 | | worstName | "Aurora" | | maxWindowNameDensity | 3 | | worstWindowName | "Aurora" | | discoveredNames | | December | 2 | | Park | 1 | | Nyx | 9 | | Aurora | 16 | | Heartstone | 2 | | Hel | 1 | | London | 2 | | Fae-Forged | 1 | | Blade | 1 | | Isolde | 4 | | Varga | 1 | | Took | 1 | | Seer | 1 | | Carter | 1 |
| | persons | | 0 | "Nyx" | | 1 | "Aurora" | | 2 | "Heartstone" | | 3 | "Blade" | | 4 | "Isolde" | | 5 | "Varga" | | 6 | "Took" | | 7 | "Seer" | | 8 | "Carter" |
| | places | | 0 | "December" | | 1 | "Park" | | 2 | "London" | | 3 | "Fae-Forged" |
| | globalScore | 0.861 | | windowScore | 0.667 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 59 | | glossingSentenceCount | 5 | | matches | | 0 | "sounded like wind through dead leaves, sof" | | 1 | "something like honeysuckle but deeper, sweet" | | 2 | "whites that seemed to produce their own faint luminescence" | | 3 | "quite parse" | | 4 | "archways that seemed to lead in different directions" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 2.787 | | wordCount | 1435 | | matches | | 0 | "Not warmer exactly, but different, the biting London cold replaced by something mild" | | 1 | "Not gradually, not in real time, but she would look down" | | 2 | "not in real time, but she would look down" | | 3 | "not carved, but grown, the bark swelling into shapes" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 92 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 38.78 | | std | 27.3 | | cv | 0.704 | | sampleLengths | | 0 | 1 | | 1 | 66 | | 2 | 27 | | 3 | 80 | | 4 | 38 | | 5 | 79 | | 6 | 15 | | 7 | 25 | | 8 | 95 | | 9 | 78 | | 10 | 25 | | 11 | 5 | | 12 | 41 | | 13 | 12 | | 14 | 79 | | 15 | 63 | | 16 | 5 | | 17 | 4 | | 18 | 4 | | 19 | 37 | | 20 | 79 | | 21 | 67 | | 22 | 7 | | 23 | 17 | | 24 | 5 | | 25 | 20 | | 26 | 50 | | 27 | 23 | | 28 | 41 | | 29 | 65 | | 30 | 43 | | 31 | 66 | | 32 | 13 | | 33 | 64 | | 34 | 31 | | 35 | 36 | | 36 | 29 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 81 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 221 | | matches | | 0 | "was rarely forthcoming" | | 1 | "were responding" | | 2 | "were watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 92 | | ratio | 0.12 | | matches | | 0 | "Richmond Park stretched behind her, muted and ordinary under a slate-grey sky, but ahead—ahead was something else entirely." | | 1 | "The Heartstone's deep crimson glow was steady, warm against her skin—no pulsing, no warning." | | 2 | "It thickened, took on weight, carried the scent of things she had no names for—something like honeysuckle but deeper, sweeter, undercut by moss and rain-soaked earth and a third note that was less a smell than a feeling, like the memory of summer pressed into her sinuses." | | 3 | "The grove was not large—perhaps fifty meters across—but it was deeper than any clearing had a right to be, the way a pool of water can look shallow and reveal itself to be fathoms." | | 4 | "The grass beneath them was soft, impossibly green for December, and it moved—just slightly, just enough to notice—though there was no wind." | | 5 | "It was a color between twilight and dawn, a luminous lavender that deepened toward the edges of the canopy where ancient oaks—far older than anything in the park outside, their trunks wider than she could have reached around—arched overhead in a natural cathedral." | | 6 | "She noticed the sound next—or rather, the sounds, layered like instruments in an orchestra she couldn't quite parse." | | 7 | "Some of the trunks bore marks—not carved, but grown, the bark swelling into shapes that might have been runes or might have been faces or might have been both." | | 8 | "She didn't draw it—Isolde had given it to her for protection, but she suspected drawing a weapon here without cause would be a mistake of the kind you didn't get to make twice." | | 9 | "In the center stood a single stone—white, smooth, about the height of her hip—and on it sat a woman who was not a woman." | | 10 | "The Heartstone at her throat pulsed once—just once—and grew warm against her skin." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1272 | | adjectiveStacks | 1 | | stackExamples | | 0 | "steady, warm against her" |
| | adverbCount | 48 | | adverbRatio | 0.03773584905660377 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.010220125786163521 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 92 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 92 | | mean | 15.6 | | std | 11.58 | | cv | 0.742 | | sampleLengths | | 0 | 1 | | 1 | 32 | | 2 | 16 | | 3 | 18 | | 4 | 15 | | 5 | 12 | | 6 | 19 | | 7 | 23 | | 8 | 29 | | 9 | 9 | | 10 | 9 | | 11 | 14 | | 12 | 8 | | 13 | 7 | | 14 | 4 | | 15 | 47 | | 16 | 4 | | 17 | 24 | | 18 | 15 | | 19 | 3 | | 20 | 4 | | 21 | 18 | | 22 | 34 | | 23 | 26 | | 24 | 13 | | 25 | 22 | | 26 | 5 | | 27 | 15 | | 28 | 43 | | 29 | 15 | | 30 | 25 | | 31 | 5 | | 32 | 6 | | 33 | 30 | | 34 | 5 | | 35 | 4 | | 36 | 8 | | 37 | 10 | | 38 | 18 | | 39 | 13 | | 40 | 22 | | 41 | 16 | | 42 | 7 | | 43 | 32 | | 44 | 24 | | 45 | 5 | | 46 | 4 | | 47 | 4 | | 48 | 3 | | 49 | 26 |
| |
| 57.97% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.3804347826086957 | | totalSentences | 92 | | uniqueOpeners | 35 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 70 | | matches | (empty) | | ratio | 0 | |
| 77.14% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 70 | | matches | | 0 | "she said, her voice barely" | | 1 | "They were more solid here" | | 2 | "Their voice sounded like wind" | | 3 | "She took a breath and" | | 4 | "It thickened, took on weight," | | 5 | "They passed between two of" | | 6 | "She couldn't help it." | | 7 | "Her feet simply refused to" | | 8 | "They grew in spirals, in" | | 9 | "It was a color between" | | 10 | "They paused, and when they" | | 11 | "They moved deeper into the" | | 12 | "She noticed the sound next—or" | | 13 | "She had been." | | 14 | "She stepped carefully around it" | | 15 | "She kept walking, but her" | | 16 | "She didn't draw it—Isolde had" | | 17 | "She took the information and" | | 18 | "She would come back to" | | 19 | "They emerged from the tunnel" |
| | ratio | 0.357 | |
| 74.29% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 54 | | totalSentences | 70 | | matches | | 0 | "The standing stones rose from" | | 1 | "Aurora stopped at the edge" | | 2 | "Richmond Park stretched behind her," | | 3 | "she said, her voice barely" | | 4 | "They were more solid here" | | 5 | "Their voice sounded like wind" | | 6 | "Aurora's hand went to the" | | 7 | "The Heartstone's deep crimson glow" | | 8 | "Whatever lay beyond the stones," | | 9 | "She took a breath and" | | 10 | "The air changed first." | | 11 | "It thickened, took on weight," | | 12 | "The temperature shifted too." | | 13 | "They passed between two of" | | 14 | "Aurora stopped walking." | | 15 | "She couldn't help it." | | 16 | "Her feet simply refused to" | | 17 | "The grove was not large—perhaps" | | 18 | "Wildflowers carpeted the ground in" | | 19 | "They grew in spirals, in" |
| | ratio | 0.771 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 70 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 14 | | matches | | 0 | "It thickened, took on weight, carried the scent of things she had no names for—something like honeysuckle but deeper, sweeter, undercut by moss and rain-soaked …" | | 1 | "Not warmer exactly, but different, the biting London cold replaced by something milder, gentler, a season that didn't exist in any calendar she knew." | | 2 | "Wildflowers carpeted the ground in impossible colors: blues that shaded into violet, golds that burned like sunlight, whites that seemed to produce their own fa…" | | 3 | "It was a color between twilight and dawn, a luminous lavender that deepened toward the edges of the canopy where ancient oaks—far older than anything in the par…" | | 4 | "No shadows except Nyx, who flickered and deepened as they passed through, their form becoming more defined, more present, as if this place recognized them." | | 5 | "Birdsong that came from no visible source, the notes too pure, too precise, following intervals that didn't match any scale she recognized." | | 6 | "Not gradually, not in real time, but she would look down and the blues would be deeper, the golds more intense, as if the grove were responding to their presenc…" | | 7 | "One bloom near her foot opened as she watched, petals unfurling in a slow spiral, revealing a center that glowed like a tiny star." | | 8 | "The flower was beautiful in a way that bypassed her brain and spoke directly to something older, something that wanted to reach out and hold it." | | 9 | "The oaks grew closer together as they progressed, their branches interlocking overhead, forming tunnels and archways that seemed to lead in different directions…" | | 10 | "Her silver hair fell to her waist, stirred by that invisible breeze, and her pale lavender eyes watched Aurora with an expression of mild interest, as if Aurora…" | | 11 | "Her voice was melodic, each word placed with the precision of a gem-setter, and it carried an undercurrent of something that made the fine hairs on Aurora's arm…" | | 12 | "It was the smile of something that had lived three hundred years in a place where time was a suggestion rather than a rule, something that had been exiled for t…" | | 13 | "Nyx remained standing, a pool of living darkness at the edge of the clearing, watching the trees that were watching them." |
| |
| 75.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, her voice barely above a whisper" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 21 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |