| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 3 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 81.88% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1104 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "really" | | 1 | "very" | | 2 | "suddenly" | | 3 | "slowly" |
| |
| 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) | |
| 36.59% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1104 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "grave" | | 1 | "sentinel" | | 2 | "weight" | | 3 | "warmth" | | 4 | "pulsed" | | 5 | "quickened" | | 6 | "silence" | | 7 | "lurch" | | 8 | "footsteps" | | 9 | "scanning" | | 10 | "resolve" | | 11 | "sentinels" | | 12 | "could feel" |
| |
| 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 | 58 | | matches | (empty) | |
| 68.97% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 58 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 59 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 64 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1116 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 7 | | wordCount | 1101 | | uniqueNames | 5 | | maxNameDensity | 0.18 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 2 | | Richmond | 1 | | Park | 1 | | Eva | 1 | | Isolde | 2 |
| | persons | | | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like a luxury she couldn't afford" | | 1 | "felt like a worse idea than continuing" | | 2 | "felt like the thing that would invite w" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 3.584 | | wordCount | 1116 | | matches | | 0 | "not her own boots, not her own voice, but breathing" | | 1 | "not her own voice, but breathing" | | 2 | "not afraid exactly, not yet, but certain in the way you're certain of gravity" | | 3 | "not yet, but certain in the way you're certain of gravity" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 59 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 22 | | mean | 50.73 | | std | 32.78 | | cv | 0.646 | | sampleLengths | | 0 | 68 | | 1 | 52 | | 2 | 82 | | 3 | 98 | | 4 | 9 | | 5 | 111 | | 6 | 9 | | 7 | 88 | | 8 | 57 | | 9 | 48 | | 10 | 10 | | 11 | 90 | | 12 | 5 | | 13 | 79 | | 14 | 17 | | 15 | 29 | | 16 | 83 | | 17 | 33 | | 18 | 65 | | 19 | 36 | | 20 | 41 | | 21 | 6 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 58 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 183 | | matches | | 0 | "wasn't answering" | | 1 | "was being" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 1 | | flaggedSentences | 9 | | totalSentences | 59 | | ratio | 0.153 | | matches | | 0 | "The oaks marked the boundary the way headstones mark a grave — old, weathered things standing sentinel in a circle that Rory had walked past a hundred times in daylight without ever once feeling their weight." | | 1 | "She noticed that first — properly noticed it — three steps past the stones, when she stamped down hard just to hear something and heard nothing at all, not even the wet give of turf underfoot." | | 2 | "That was the first wrong thing, if she was being honest with herself — the second, really, after the silence under her boots — and she'd chosen not to dwell on it back in her flat, in the warm circle of lamplight, with Silas' bar humming faintly through the floorboards below." | | 3 | "She turned fast, hand going to the pendant like it was a weapon rather than a compass, but there was nothing there — just the dark mass of oak and hazel, branches knitted too close together to let the moon through." | | 4 | "\"Isolde?\" she said, and her voice came out smaller than she meant it to, and stranger — it didn't carry the way a voice should in open air." | | 5 | "That was when she heard the second sound — not her own boots, not her own voice, but breathing." | | 6 | "Coming from somewhere behind her, or beside her, or perhaps from the trees themselves; it was impossible to place, the way all the other sounds here refused to sit properly in space." | | 7 | "Her own breathing sounded too loud in her ears, ragged counterpoint to the slow, even thing she could still hear all around her, and she became certain — not afraid exactly, not yet, but certain in the way you're certain of gravity — that if she looked hard enough at any given shadow, it would resolve into something looking back." | | 8 | "The standing stones came up around her almost before she expected them, ancient oak sentinels rising out of the dark, and she felt something in the air change the moment she passed between two of them — a pressure equalizing, sound rushing back in a wash of ordinary night: distant traffic, wind in real leaves, her own boots suddenly loud and wet against actual mud." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 392 | | adjectiveStacks | 2 | | stackExamples | | 0 | "grave — old, weathered things" | | 1 | "black against black grass," |
| | adverbCount | 15 | | adverbRatio | 0.03826530612244898 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.00510204081632653 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 59 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 59 | | mean | 18.92 | | std | 16.25 | | cv | 0.859 | | sampleLengths | | 0 | 36 | | 1 | 4 | | 2 | 28 | | 3 | 7 | | 4 | 45 | | 5 | 10 | | 6 | 47 | | 7 | 25 | | 8 | 4 | | 9 | 8 | | 10 | 36 | | 11 | 23 | | 12 | 4 | | 13 | 12 | | 14 | 5 | | 15 | 6 | | 16 | 9 | | 17 | 36 | | 18 | 6 | | 19 | 51 | | 20 | 18 | | 21 | 9 | | 22 | 41 | | 23 | 7 | | 24 | 3 | | 25 | 37 | | 26 | 21 | | 27 | 29 | | 28 | 7 | | 29 | 28 | | 30 | 20 | | 31 | 2 | | 32 | 4 | | 33 | 4 | | 34 | 19 | | 35 | 1 | | 36 | 1 | | 37 | 32 | | 38 | 37 | | 39 | 4 | | 40 | 1 | | 41 | 25 | | 42 | 1 | | 43 | 13 | | 44 | 40 | | 45 | 17 | | 46 | 24 | | 47 | 5 | | 48 | 16 | | 49 | 7 |
| |
| 60.45% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.423728813559322 | | totalSentences | 59 | | uniqueOpeners | 25 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 52 | | matches | | 0 | "Of course no answer." | | 1 | "Then it came again." |
| | ratio | 0.038 | |
| 58.46% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 52 | | matches | | 0 | "She hadn't wanted to come" | | 1 | "Her boots made no sound" | | 2 | "She noticed that first —" | | 3 | "She stood there a moment," | | 4 | "She didn't believe herself, but" | | 5 | "She turned fast, hand going" | | 6 | "She watched it a long" | | 7 | "She told herself it was" | | 8 | "She stopped and crouched down" | | 9 | "She stayed crouched there a" | | 10 | "she said, and her voice" | | 11 | "It fell flat a few" | | 12 | "She stood back up." | | 13 | "She went very still and" | | 14 | "She turned in a slow" | | 15 | "she said, mostly to herself," | | 16 | "She began walking backward, toward" | | 17 | "Her own breathing sounded too" | | 18 | "She didn't look hard." | | 19 | "She kept her eyes moving," |
| | ratio | 0.404 | |
| 65.77% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 41 | | totalSentences | 52 | | matches | | 0 | "The oaks marked the boundary" | | 1 | "Tonight she felt it." | | 2 | "Tonight the standing stones seemed" | | 3 | "She hadn't wanted to come" | | 4 | "The grove at night was" | | 5 | "Rory stepped further in." | | 6 | "Her boots made no sound" | | 7 | "She noticed that first —" | | 8 | "She stood there a moment," | | 9 | "That was the deal." | | 10 | "An hour here could be" | | 11 | "Sound could be strange too." | | 12 | "That was just how it" | | 13 | "She didn't believe herself, but" | | 14 | "The pendant pulsed against her" | | 15 | "Isolde wasn't answering her calls" | | 16 | "That was the first wrong" | | 17 | "Something moved at the tree" | | 18 | "She turned fast, hand going" | | 19 | "She watched it a long" |
| | ratio | 0.788 | |
| 96.15% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 52 | | matches | | 0 | "Now the flowers were closed" |
| | ratio | 0.019 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 6 | | matches | | 0 | "In daylight it was soft-edged and golden, wildflowers nodding in a breeze that never seemed to touch the rest of the park, the kind of place that made you forge…" | | 1 | "Now the flowers were closed fists, black against black grass, and the air had a stillness to it that felt deliberate, like a held breath." | | 2 | "The pendant pulsed against her skin, a slow heartbeat of warmth that quickened as she moved deeper toward the center of the clearing, where Isolde had told her,…" | | 3 | "But the breathing didn't stop, and now it seemed to come from more than one direction at once, soft and patient, as if whatever it belonged to had all the time …" | | 4 | "She kept her eyes moving, kept her feet moving, and did not run, because running felt like the thing that would invite whatever this was to stop being patient." | | 5 | "She didn't stop walking until she was well clear of the trees, out under open sky, the pendant cooling slowly against her skin, her heart going hard enough that…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 3 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |