| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 69.16% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1297 | | totalAiIsmAdverbs | 8 | | found | | | highlights | | 0 | "slightly" | | 1 | "slowly" | | 2 | "perfectly" | | 3 | "very" | | 4 | "quickly" |
| |
| 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) | |
| 53.74% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1297 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "warmth" | | 1 | "silence" | | 2 | "rhythmic" | | 3 | "footsteps" | | 4 | "weight" | | 5 | "whisper" | | 6 | "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 | 1 | | narrationSentences | 120 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 120 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 121 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 71 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1306 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 18 | | wordCount | 1299 | | uniqueNames | 9 | | maxNameDensity | 0.38 | | worstName | "Isolde" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Isolde" | | discoveredNames | | Richmond | 1 | | Park | 1 | | London | 1 | | November | 1 | | Hel | 1 | | Isolde | 5 | | Eva | 2 | | Rory | 5 | | Fae-touched | 1 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "November" | | 4 | "Hel" | | 5 | "Fae-touched" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 66 | | glossingSentenceCount | 1 | | matches | | 0 | "thing that had apparently become normal — tel" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1306 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 121 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 30.37 | | std | 27.4 | | cv | 0.902 | | sampleLengths | | 0 | 11 | | 1 | 74 | | 2 | 67 | | 3 | 9 | | 4 | 13 | | 5 | 66 | | 6 | 6 | | 7 | 55 | | 8 | 95 | | 9 | 7 | | 10 | 11 | | 11 | 40 | | 12 | 2 | | 13 | 42 | | 14 | 3 | | 15 | 87 | | 16 | 7 | | 17 | 26 | | 18 | 45 | | 19 | 37 | | 20 | 21 | | 21 | 32 | | 22 | 1 | | 23 | 5 | | 24 | 77 | | 25 | 2 | | 26 | 43 | | 27 | 1 | | 28 | 27 | | 29 | 70 | | 30 | 3 | | 31 | 39 | | 32 | 15 | | 33 | 3 | | 34 | 79 | | 35 | 7 | | 36 | 46 | | 37 | 4 | | 38 | 58 | | 39 | 15 | | 40 | 31 | | 41 | 10 | | 42 | 14 |
| |
| 96.49% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 120 | | matches | | 0 | "was gone" | | 1 | "was gone" | | 2 | "been emptied" | | 3 | "was supposed" |
| |
| 45.68% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 216 | | matches | | 0 | "was telling" | | 1 | "was being" | | 2 | "was going" | | 3 | "was coming was hearing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 121 | | ratio | 0.083 | | matches | | 0 | "It had felt strange then — the wildflowers that had no business blooming in November, the way sound seemed to hush itself at the standing oaks, the persistent sense that the air here was slightly thicker, slightly warmer than it had any right to be." | | 1 | "Not warmer, as she'd expected from her daytime visits — colder, actually, by a degree or two, which was wrong." | | 2 | "She pressed two fingers to it through her shirt — that thumbnail-sized piece of deep crimson stone, still on its silver chain, still warm the way it always was when it was telling her something." | | 3 | "Isolde had sent word — well, sent a note, actually, delivered by an actual literal sparrow that had tapped on her kitchen window at half eight with a small cylinder banded to its leg, which was a thing that had apparently become normal — telling her to come to the grove before midnight and to bring the pendant." | | 4 | "She had been hearing things without registering them — the low ambient chorus of the park at night, distant traffic, the occasional bird — and now all of it was gone." | | 5 | "It always did when she was nervous — some phantom memory living in the crescent scar, a souvenir from a garden wall she'd fallen off at age seven." | | 6 | "Running a few minutes behind — already at the grove, where are you?" | | 7 | "But the sound continued — she could track it now, triangulating by ear — moving from her left to somewhere behind her, slow and unhurried, the way a thing moves when it isn't trying to reach you, when reaching you isn't the point." | | 8 | "Flared — a sudden bloom of heat against her sternum that vanished as quickly as it came, leaving behind a residual warmth like a palm pressed flat to skin." | | 9 | "In the silence that followed, Rory heard something else — or rather, she heard the absence of something." |
| |
| 91.69% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1290 | | adjectiveStacks | 1 | | stackExamples | | 0 | "last impossible strange detail" |
| | adverbCount | 55 | | adverbRatio | 0.04263565891472868 | | lyAdverbCount | 23 | | lyAdverbRatio | 0.017829457364341085 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 121 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 121 | | mean | 10.79 | | std | 11.86 | | cv | 1.099 | | sampleLengths | | 0 | 11 | | 1 | 14 | | 2 | 31 | | 3 | 6 | | 4 | 23 | | 5 | 7 | | 6 | 45 | | 7 | 5 | | 8 | 10 | | 9 | 9 | | 10 | 13 | | 11 | 4 | | 12 | 20 | | 13 | 27 | | 14 | 7 | | 15 | 3 | | 16 | 1 | | 17 | 4 | | 18 | 6 | | 19 | 35 | | 20 | 15 | | 21 | 4 | | 22 | 1 | | 23 | 7 | | 24 | 14 | | 25 | 4 | | 26 | 58 | | 27 | 8 | | 28 | 4 | | 29 | 7 | | 30 | 11 | | 31 | 21 | | 32 | 10 | | 33 | 7 | | 34 | 2 | | 35 | 2 | | 36 | 5 | | 37 | 1 | | 38 | 8 | | 39 | 6 | | 40 | 22 | | 41 | 3 | | 42 | 3 | | 43 | 8 | | 44 | 34 | | 45 | 31 | | 46 | 2 | | 47 | 1 | | 48 | 8 | | 49 | 7 |
| |
| 50.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.36666666666666664 | | totalSentences | 120 | | uniqueOpeners | 44 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 97 | | matches | (empty) | | ratio | 0 | |
| 71.55% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 97 | | matches | | 0 | "She'd been here twice before" | | 1 | "It had felt strange then" | | 2 | "She tucked her phone into" | | 3 | "She crouched briefly and touched" | | 4 | "It was soft." | | 5 | "She stood back up." | | 6 | "She pressed two fingers to" | | 7 | "She had come here for" | | 8 | "She had a reason." | | 9 | "She'd made good time from" | | 10 | "She was a few minutes" | | 11 | "She told herself that, and" | | 12 | "She went still." | | 13 | "It wasn't much." | | 14 | "She watched the spot and" | | 15 | "She had been hearing things" | | 16 | "She became aware of her" | | 17 | "She turned slowly, doing a" | | 18 | "Her left wrist itched." | | 19 | "It always did when she" |
| | ratio | 0.371 | |
| 63.09% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 97 | | matches | | 0 | "The stone markers rose out" | | 1 | "Rory stopped at the boundary" | | 2 | "The screen's light was the" | | 3 | "The trees closed ranks against" | | 4 | "She'd been here twice before" | | 5 | "It had felt strange then" | | 6 | "Isolde had called it breathing." | | 7 | "Rory had called it unsettling" | | 8 | "She tucked her phone into" | | 9 | "The temperature shifted immediately." | | 10 | "The wildflowers were still there," | | 11 | "She crouched briefly and touched" | | 12 | "It was soft." | | 13 | "She stood back up." | | 14 | "The pendant shifted against her" | | 15 | "She pressed two fingers to" | | 16 | "This was something steadier." | | 17 | "She had come here for" | | 18 | "That was what she kept" | | 19 | "She had a reason." |
| | ratio | 0.794 | |
| 51.55% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 97 | | matches | | 0 | "Now, at nearly midnight, it" |
| | ratio | 0.01 | |
| 76.41% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 4 | | matches | | 0 | "It had felt strange then — the wildflowers that had no business blooming in November, the way sound seemed to hush itself at the standing oaks, the persistent s…" | | 1 | "Isolde had sent word — well, sent a note, actually, delivered by an actual literal sparrow that had tapped on her kitchen window at half eight with a small cyli…" | | 2 | "Flared — a sudden bloom of heat against her sternum that vanished as quickly as it came, leaving behind a residual warmth like a palm pressed flat to skin." | | 3 | "Another one beside it, half-formed, as though whatever had made it was midway between the act of stepping and the act of simply existing." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |