| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 80.98% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1577 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "truly" | | 1 | "very" | | 2 | "slowly" | | 3 | "carefully" |
| |
| 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) | |
| 58.78% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1577 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "perfect" | | 1 | "silence" | | 2 | "weight" | | 3 | "could feel" | | 4 | "resonance" | | 5 | "measured" | | 6 | "flickered" | | 7 | "pulse" |
| |
| 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 | 127 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 127 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 128 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 96.40% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 13 | | markdownWords | 82 | | totalWords | 1583 | | ratio | 0.052 | | matches | | 0 | "stupid, stupid, stupid" | | 1 | "Through the bracken, past the second marker, walk until the oaks close in. You'll know it when you see it." | | 2 | "Through the bracken, past the second marker." | | 3 | "Just a stone," | | 4 | "Just a weird old stone in a weird old park." | | 5 | "Or in time with something else's." | | 6 | "Just a sound. Just the wind in a tree. Just a bird." | | 7 | "Walk out," | | 8 | "Turn around. Walk back through the oaks. Find the standing stones. Get out." | | 9 | "Rory." | | 10 | "Almost." | | 11 | "YOU CAME BACK." | | 12 | "back" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 1 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 19 | | wordCount | 1582 | | uniqueNames | 9 | | maxNameDensity | 0.38 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Heartstone" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Wednesday | 1 | | Heartstone | 4 | | Evan | 2 | | Bloomsbury | 1 | | Cardiff | 1 | | London | 2 | | Rory | 6 |
| | persons | | 0 | "Heartstone" | | 1 | "Evan" | | 2 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Bloomsbury" | | 3 | "Cardiff" | | 4 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 63.79% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 87 | | glossingSentenceCount | 3 | | matches | | 0 | "appeared under her door" | | 1 | "felt like a concession, and she had not" | | 2 | "sounded like a name being called from a gr" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.632 | | wordCount | 1583 | | matches | | 0 | "Not the faint inner shimmer she was used to, but a real light, thin" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 128 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 38.61 | | std | 35.93 | | cv | 0.931 | | sampleLengths | | 0 | 69 | | 1 | 4 | | 2 | 114 | | 3 | 9 | | 4 | 121 | | 5 | 81 | | 6 | 19 | | 7 | 60 | | 8 | 16 | | 9 | 90 | | 10 | 6 | | 11 | 23 | | 12 | 4 | | 13 | 79 | | 14 | 7 | | 15 | 10 | | 16 | 87 | | 17 | 12 | | 18 | 9 | | 19 | 70 | | 20 | 68 | | 21 | 40 | | 22 | 7 | | 23 | 22 | | 24 | 1 | | 25 | 93 | | 26 | 1 | | 27 | 49 | | 28 | 41 | | 29 | 18 | | 30 | 2 | | 31 | 3 | | 32 | 80 | | 33 | 6 | | 34 | 81 | | 35 | 37 | | 36 | 6 | | 37 | 77 | | 38 | 3 | | 39 | 53 | | 40 | 5 |
| |
| 85.92% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 7 | | totalSentences | 127 | | matches | | 0 | "been arranged" | | 1 | "was gone" | | 2 | "was lit" | | 3 | "was used" | | 4 | "being played" | | 5 | "being called" | | 6 | "been locked" | | 7 | "been surprised" |
| |
| 98.22% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 262 | | matches | | 0 | "was being" | | 1 | "wasn't looking" | | 2 | "was doing" | | 3 | "was glowing" |
| |
| 31.25% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 128 | | ratio | 0.039 | | matches | | 0 | "The oaks rose around the clearing like pillars in some abandoned cathedral, their trunks thick and dark, their branches weaving overhead into a canopy so dense it seemed less like foliage and more like something deliberate — something that had been arranged." | | 1 | "London — or at least, the part of it that pressed up against the park's edges — was never truly quiet." | | 2 | "Wildflowers clustered in impossible profusion at her feet — pale blooms she didn't recognize, their petals edged in a color that was almost, but not quite, white." | | 3 | "It had been her voice, but wrong — flattened, stripped of inflection, as if someone had taken a recording of her and played it back at the wrong speed." | | 4 | "The envelope, the instructions, the pendant that had grown warm as she approached — they had not been a summons." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1578 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small, white-edged blooms," |
| | adverbCount | 60 | | adverbRatio | 0.03802281368821293 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.004435994930291508 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 128 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 128 | | mean | 12.37 | | std | 10.37 | | cv | 0.838 | | sampleLengths | | 0 | 7 | | 1 | 39 | | 2 | 23 | | 3 | 4 | | 4 | 42 | | 5 | 19 | | 6 | 8 | | 7 | 13 | | 8 | 12 | | 9 | 20 | | 10 | 9 | | 11 | 11 | | 12 | 21 | | 13 | 15 | | 14 | 6 | | 15 | 14 | | 16 | 27 | | 17 | 4 | | 18 | 23 | | 19 | 7 | | 20 | 16 | | 21 | 20 | | 22 | 20 | | 23 | 18 | | 24 | 19 | | 25 | 20 | | 26 | 20 | | 27 | 20 | | 28 | 6 | | 29 | 10 | | 30 | 7 | | 31 | 20 | | 32 | 2 | | 33 | 20 | | 34 | 16 | | 35 | 25 | | 36 | 6 | | 37 | 9 | | 38 | 2 | | 39 | 3 | | 40 | 2 | | 41 | 2 | | 42 | 3 | | 43 | 2 | | 44 | 4 | | 45 | 16 | | 46 | 18 | | 47 | 24 | | 48 | 21 | | 49 | 4 |
| |
| 40.10% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 22 | | diversityRatio | 0.34375 | | totalSentences | 128 | | uniqueOpeners | 44 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 8 | | totalSentences | 110 | | matches | | 0 | "*Just a stone,* she told" | | 1 | "*Just a weird old stone" | | 2 | "Then she heard it." | | 3 | "*Just a sound." | | 4 | "Just the wind in a" | | 5 | "Just a bird.*" | | 6 | "Just the oaks, just the" | | 7 | "Instead, she stood very still," |
| | ratio | 0.073 | |
| 81.82% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 38 | | totalSentences | 110 | | matches | | 0 | "She had not come all" | | 1 | "You'll know it when you" | | 2 | "She stepped forward, and the" | | 3 | "It was quieter here than" | | 4 | "It had been doing that" | | 5 | "She didn't know who'd left" | | 6 | "It had kept her out" | | 7 | "She circled it once, keeping" | | 8 | "She let the pendant drop" | | 9 | "It was very faint, and" | | 10 | "It came from somewhere to" | | 11 | "She did not turn her" | | 12 | "She had survived worse than" | | 13 | "She had survived Evan, hadn't" | | 14 | "She had packed a bag" | | 15 | "She turned, slowly, and there" | | 16 | "She could feel it through" | | 17 | "She gritted her teeth and" | | 18 | "She did not want to" | | 19 | "She took a step toward" |
| | ratio | 0.345 | |
| 96.36% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 80 | | totalSentences | 110 | | matches | | 0 | "Rory told herself she was" | | 1 | "She had not come all" | | 2 | "The oaks rose around the" | | 3 | "The standing stones at the" | | 4 | "The instructions in the envelope" | | 5 | "You'll know it when you" | | 6 | "The grove had announced itself" | | 7 | "She stepped forward, and the" | | 8 | "It was quieter here than" | | 9 | "London — or at least," | | 10 | "The air felt thick, almost" | | 11 | "Wildflowers clustered in impossible profusion" | | 12 | "The light was wrong." | | 13 | "Rory touched the pendant through" | | 14 | "The Heartstone hung against her" | | 15 | "It had been doing that" | | 16 | "She didn't know who'd left" | | 17 | "It had kept her out" | | 18 | "The grove opened ahead of" | | 19 | "The characters seemed to shift" |
| | ratio | 0.727 | |
| 90.91% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 110 | | matches | | 0 | "Even though night had fallen" | | 1 | "*Or in time with something" |
| | ratio | 0.018 | |
| 11.90% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 60 | | technicalSentenceCount | 11 | | matches | | 0 | "Standing at the edge of the clearing with her hands shoved deep into the pockets of her jacket, watching the last amber light of evening bleed out of the sky, s…" | | 1 | "The oaks rose around the clearing like pillars in some abandoned cathedral, their trunks thick and dark, their branches weaving overhead into a canopy so dense …" | | 2 | "Wildflowers clustered in impossible profusion at her feet — pale blooms she didn't recognize, their petals edged in a color that was almost, but not quite, whit…" | | 3 | "Just the oaks, just the dark trunks, just the undergrowth that moved with a life of its own in the strange green light." | | 4 | "But the wildflowers at the base of the nearest tree were bent, pressed flat in a perfect arc, as if something had leaned there." | | 5 | "It had been her voice, but wrong — flattened, stripped of inflection, as if someone had taken a recording of her and played it back at the wrong speed." | | 6 | "And there had been something underneath it, a harmonic that didn't belong to any human throat, a resonance like two notes played at once that should have clashe…" | | 7 | "The darkness that followed was absolute, and in it, Rory felt the Heartstone go cold against her chest." | | 8 | "The cold of something retreating, of a pulse that had stopped." | | 9 | "It was something else, something that had been using her voice, and now that the Heartstone had gone cold it was done pretending." | | 10 | "The note was low and long and sounded like a name being called from a great distance, from the bottom of a well, from the other side of a door that had been loc…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |