| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 11 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 22 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.83% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1575 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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.73% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1575 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "whisper" | | 1 | "footsteps" | | 2 | "pulse" | | 3 | "silence" | | 4 | "resolved" | | 5 | "warmth" | | 6 | "quickened" | | 7 | "gloom" | | 8 | "flickered" | | 9 | "comforting" | | 10 | "chill" |
| |
| 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 | 93 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 93 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 104 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 60 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 13 | | markdownWords | 74 | | totalWords | 1592 | | ratio | 0.046 | | matches | | 0 | "without" | | 1 | "arranged" | | 2 | "Shadows thin here. The gaps between things grow wide." | | 3 | "I have not been anywhere this wide since 1643." | | 4 | "go" | | 5 | "were" | | 6 | "They remember" | | 7 | "Everything that has walked through here remembers, in the way that a stone remembers a foot." | | 8 | "inscribed" | | 9 | "hot" | | 10 | "Dymas" | | 11 | "There is a shadow here that is not cast by anything" | | 12 | "Four hundred years I have moved between the dark places of your world. I have never felt one answer back." |
| |
| 89.29% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 2 | | matches | | 0 | "*They remember*, Nyx murmured." | | 1 | "*There is a shadow here that is not cast by anything*, they whispered, and the whisper carried a note Rory had not heard…" |
| |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 42 | | wordCount | 1370 | | uniqueNames | 12 | | maxNameDensity | 1.17 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | London | 2 | | Kingston | 1 | | Isolde | 10 | | October | 1 | | Rory | 16 | | Nyx | 6 | | February | 1 | | Earth | 1 | | Kung | 1 | | Pao | 1 | | Fae | 1 | | Courts | 1 |
| | persons | | | places | | 0 | "London" | | 1 | "Kingston" | | 2 | "February" | | 3 | "Earth" | | 4 | "Fae" |
| | globalScore | 0.916 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1592 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 104 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 35.38 | | std | 27.26 | | cv | 0.771 | | sampleLengths | | 0 | 76 | | 1 | 73 | | 2 | 8 | | 3 | 68 | | 4 | 5 | | 5 | 15 | | 6 | 54 | | 7 | 4 | | 8 | 41 | | 9 | 4 | | 10 | 31 | | 11 | 6 | | 12 | 78 | | 13 | 3 | | 14 | 37 | | 15 | 20 | | 16 | 5 | | 17 | 6 | | 18 | 84 | | 19 | 29 | | 20 | 20 | | 21 | 78 | | 22 | 18 | | 23 | 92 | | 24 | 9 | | 25 | 12 | | 26 | 81 | | 27 | 47 | | 28 | 55 | | 29 | 10 | | 30 | 6 | | 31 | 67 | | 32 | 2 | | 33 | 23 | | 34 | 52 | | 35 | 50 | | 36 | 60 | | 37 | 14 | | 38 | 27 | | 39 | 19 | | 40 | 62 | | 41 | 10 | | 42 | 39 | | 43 | 50 | | 44 | 42 |
| |
| 78.85% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 7 | | totalSentences | 93 | | matches | | 0 | "been replaced" | | 1 | "being shielded" | | 2 | "got were" | | 3 | "was inscribed " | | 4 | "is inscribed" | | 5 | "was gone" | | 6 | "was lit" | | 7 | "been exiled " |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 221 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 17 | | semicolonCount | 2 | | flaggedSentences | 12 | | totalSentences | 104 | | ratio | 0.115 | | matches | | 0 | "Rory felt it as a change in the pressure of the air, the way her ears popped on a descending plane, and then the bracken was knee-high and wet through her jeans and the London noise — the M25's far-off hiss, a helicopter somewhere over Kingston — folded shut like a book." | | 1 | "Not quietly; *without*." | | 2 | "The wildflowers — impossible in late October, buttercups and bluebells and foxgloves standing purple against the grey — closed seamlessly over each vanished step." | | 3 | "Not planted — *arranged*, each one enormous, each one older than anything Rory had seen outside of a cathedral, their bark silvered and deeply fissured like the palms of very old hands." | | 4 | "Something that might have been amusement moved through Nyx's silhouette — a ripple, a shiver — and they flowed forward, not walking so much as arriving, and passed between the stones." | | 5 | "Wildflowers went on for acres — no, they didn't *go* on, they *were* on, carpeting the floor of the grove in drifts of white and violet and a blue so saturated it looked wet." | | 6 | "She rubbed it — the crescent scar, old and white, from a kitchen knife and a seven-year-old's curiosity — and felt, for a half-second, the cold of it, though the day was mild." | | 7 | "\"The last time I was here,\" Isolde said, \"a man sat beneath the third oak for what he believed was an afternoon. His wife had been dead eleven years when he returned. His daughter did not know his face.\" She plucked a blueball — no, a bluebell — and it came away without a sound, without resistance, as though it had agreed." | | 8 | "Up close the bark was inscribed — not carved, Rory thought, *inscribed*, the way a face is inscribed by living — with marks that resolved into language only when she stopped looking directly at them." | | 9 | "The four shadows at Rory's feet slid together into one, and for the length of a single breath the grove was lit instead from below — a thin, crimson luminescence running along the moss in fine capillaries, like a leaf held up to a lamp, like veins." | | 10 | "It was not a comforting smile; it was the smile of someone who has told you the weather and is watching you get wet." | | 11 | "She adjusted the strap of her bag, felt the blade inside it shift — cold, always cold, even through the fabric, a leaf-shaped chill that had belonged to the Fae Courts for longer than Isolde had been exiled — and followed the woman who left no footprints into the green." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1363 | | adjectiveStacks | 1 | | stackExamples | | 0 | "sweet underneath, rot-and-ripeness," |
| | adverbCount | 50 | | adverbRatio | 0.036683785766691124 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.008070432868672046 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 104 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 104 | | mean | 15.31 | | std | 13.38 | | cv | 0.874 | | sampleLengths | | 0 | 24 | | 1 | 52 | | 2 | 5 | | 3 | 3 | | 4 | 40 | | 5 | 1 | | 6 | 24 | | 7 | 8 | | 8 | 7 | | 9 | 32 | | 10 | 14 | | 11 | 15 | | 12 | 5 | | 13 | 15 | | 14 | 3 | | 15 | 24 | | 16 | 27 | | 17 | 4 | | 18 | 17 | | 19 | 3 | | 20 | 8 | | 21 | 4 | | 22 | 9 | | 23 | 4 | | 24 | 31 | | 25 | 6 | | 26 | 27 | | 27 | 5 | | 28 | 15 | | 29 | 31 | | 30 | 3 | | 31 | 5 | | 32 | 28 | | 33 | 4 | | 34 | 10 | | 35 | 10 | | 36 | 5 | | 37 | 6 | | 38 | 3 | | 39 | 34 | | 40 | 16 | | 41 | 18 | | 42 | 3 | | 43 | 1 | | 44 | 9 | | 45 | 14 | | 46 | 15 | | 47 | 4 | | 48 | 16 | | 49 | 4 |
| |
| 61.22% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.41346153846153844 | | totalSentences | 104 | | uniqueOpeners | 43 | |
| 41.67% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 80 | | matches | | 0 | "Then the light righted itself," |
| | ratio | 0.013 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 80 | | matches | | 0 | "They emerged into a ring" | | 1 | "*I have not been anywhere" | | 2 | "It was still afternoon, still" | | 3 | "She looked up and could" | | 4 | "She breathed, and the air" | | 5 | "She stamped, experimentally." | | 6 | "*They remember*, Nyx murmured." | | 7 | "She rubbed it — the" | | 8 | "She thought of the pendant" | | 9 | "She'd stopped asking who had" | | 10 | "They passed beneath the oaks." | | 11 | "She reached out and did" | | 12 | "It rolled across the clearing" | | 13 | "She thought of amber skies." | | 14 | "She thought of vineyards and" | | 15 | "She did not say any" | | 16 | "It was not a question." | | 17 | "She turned, walking backwards for" | | 18 | "Their form had thinned, edges" | | 19 | "I have never felt one" |
| | ratio | 0.275 | |
| 66.25% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 63 | | totalSentences | 80 | | matches | | 0 | "The park ended before the" | | 1 | "Rory felt it as a" | | 2 | "Rory had noticed it the" | | 3 | "The wildflowers — impossible in" | | 4 | "Isolde said, without turning" | | 5 | "They emerged into a ring" | | 6 | "The largest leaned inward at" | | 7 | "Isolde replied, and stepped through" | | 8 | "Rory looked back." | | 9 | "Nyx had stopped at the" | | 10 | "The whisper came from everywhere" | | 11 | "*Shadows thin here." | | 12 | "The gaps between things grow" | | 13 | "The violet glow brightened." | | 14 | "*I have not been anywhere" | | 15 | "Something that might have been" | | 16 | "The quality of the light" | | 17 | "It was still afternoon, still" | | 18 | "Rory's shadow lay at her" | | 19 | "She looked up and could" |
| | ratio | 0.788 | |
| 62.50% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 80 | | matches | | | ratio | 0.013 | |
| 59.80% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 5 | | matches | | 0 | "Something that might have been amusement moved through Nyx's silhouette — a ripple, a shiver — and they flowed forward, not walking so much as arriving, and pas…" | | 1 | "It was still afternoon, still overcast, but the light now came from everywhere and nowhere, as if the sky had been replaced by something luminous and depthless." | | 2 | "It was not a comforting smile; it was the smile of someone who has told you the weather and is watching you get wet." | | 3 | "Beyond the gap: grey London light, wet bracken, the ordinary world where she delivered Kung Pao chicken to people who paid in cash and asked no questions about …" | | 4 | "She adjusted the strap of her bag, felt the blade inside it shift — cold, always cold, even through the fabric, a leaf-shaped chill that had belonged to the Fae…" |
| |
| 79.55% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 11 | | uselessAdditionCount | 1 | | matches | | 0 | "Isolde said, without turning" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 22 | | tagDensity | 0.455 | | leniency | 0.909 | | rawRatio | 0 | | effectiveRatio | 0 | |