| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 5 | | tagDensity | 0.8 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 72.35% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1085 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "very" | | 1 | "slowly" | | 2 | "suddenly" |
| |
| 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) | |
| 63.13% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1085 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "resolve" | | 1 | "pulse" | | 2 | "could feel" | | 3 | "throb" | | 4 | "warmth" | | 5 | "resolved" | | 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 | 2 | | narrationSentences | 87 | | matches | | 0 | "was afraid" | | 1 | "was surprised" |
| |
| 93.60% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 87 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 89 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 3 | | markdownWords | 7 | | totalWords | 1093 | | ratio | 0.006 | | matches | | 0 | "Un, dau, tri." | | 1 | "Pedwar, pump." | | 2 | "Chwech. Saith." |
| |
| 62.50% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 2 | | matches | | 0 | "Only the hush of the grove, and the faint ringing in her ears that was not, she told herself, anything at all." | | 1 | "And the grove, Isolde said, was the only place on this side of the city where the veil was thin enough for Rory to see o…" |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 21 | | wordCount | 1061 | | uniqueNames | 10 | | maxNameDensity | 0.47 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Richmond" | | discoveredNames | | Evan | 1 | | Richmond | 3 | | Park | 2 | | Isolde | 3 | | Heartstone | 3 | | Hel | 1 | | Rory | 5 | | Brendan | 1 | | Carter | 1 | | Welsh | 1 |
| | persons | | 0 | "Evan" | | 1 | "Isolde" | | 2 | "Heartstone" | | 3 | "Rory" | | 4 | "Brendan" | | 5 | "Carter" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Welsh" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 52 | | glossingSentenceCount | 1 | | matches | | 0 | "as if testing the air above the boundary" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.915 | | wordCount | 1093 | | matches | | 0 | "no longer the crimson of a ruby but" |
| |
| 16.85% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 89 | | matches | | 0 | "was that the" | | 1 | "drawn that breath" | | 2 | "found that she" | | 3 | "understood that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 32.15 | | std | 29.21 | | cv | 0.909 | | sampleLengths | | 0 | 13 | | 1 | 71 | | 2 | 68 | | 3 | 4 | | 4 | 80 | | 5 | 6 | | 6 | 74 | | 7 | 5 | | 8 | 72 | | 9 | 11 | | 10 | 2 | | 11 | 7 | | 12 | 56 | | 13 | 4 | | 14 | 80 | | 15 | 15 | | 16 | 7 | | 17 | 3 | | 18 | 52 | | 19 | 10 | | 20 | 43 | | 21 | 8 | | 22 | 81 | | 23 | 2 | | 24 | 82 | | 25 | 2 | | 26 | 27 | | 27 | 28 | | 28 | 47 | | 29 | 2 | | 30 | 42 | | 31 | 4 | | 32 | 47 | | 33 | 38 |
| |
| 97.20% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 87 | | matches | | 0 | "were called" | | 1 | "was surprised" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 173 | | matches | | 0 | "were bending" | | 1 | "was standing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 89 | | ratio | 0.067 | | matches | | 0 | "It didn't look different — still the soft green of summer, still the wildflowers nodding in a breeze she could not feel on her skin — but the sound of the park dropped away as if someone had closed a heavy door behind her." | | 1 | "The wildflowers were out of season — foxgloves next to snowdrops, bluebells next to autumn crocuses, all of it wrong in the wrong quiet way things here tended to be wrong." | | 2 | "Not risen — there had been no wind to rise." | | 3 | "The crimson was no longer the crimson of a ruby but of something slower — arterial, she thought, and wished immediately she hadn't." | | 4 | "It was standing just beyond the stones, where the grass gave way to park, and it was — she was almost sure of this — leaning forward, as if testing the air above the boundary." | | 5 | "She could feel its attention now, the way you feel a stranger's stare across a tube carriage — that prickle on the back of the neck that is older than language." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 279 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 8 | | adverbRatio | 0.02867383512544803 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.014336917562724014 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 89 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 89 | | mean | 12.28 | | std | 11.52 | | cv | 0.938 | | sampleLengths | | 0 | 13 | | 1 | 9 | | 2 | 12 | | 3 | 10 | | 4 | 40 | | 5 | 17 | | 6 | 21 | | 7 | 13 | | 8 | 5 | | 9 | 12 | | 10 | 4 | | 11 | 4 | | 12 | 44 | | 13 | 3 | | 14 | 7 | | 15 | 22 | | 16 | 6 | | 17 | 4 | | 18 | 32 | | 19 | 6 | | 20 | 32 | | 21 | 1 | | 22 | 3 | | 23 | 1 | | 24 | 10 | | 25 | 31 | | 26 | 12 | | 27 | 8 | | 28 | 2 | | 29 | 9 | | 30 | 8 | | 31 | 3 | | 32 | 2 | | 33 | 2 | | 34 | 5 | | 35 | 11 | | 36 | 10 | | 37 | 1 | | 38 | 34 | | 39 | 4 | | 40 | 4 | | 41 | 40 | | 42 | 36 | | 43 | 8 | | 44 | 7 | | 45 | 3 | | 46 | 4 | | 47 | 3 | | 48 | 26 | | 49 | 4 |
| |
| 53.56% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.4157303370786517 | | totalSentences | 89 | | uniqueOpeners | 37 | |
| 91.32% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 73 | | matches | | 0 | "Only the hush of the" | | 1 | "Just warm, the way a" |
| | ratio | 0.027 | |
| 72.05% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 73 | | matches | | 0 | "She had told herself a" | | 1 | "They only behaved like stones." | | 2 | "She stepped between them." | | 3 | "It didn't look different —" | | 4 | "She had come for the" | | 5 | "She walked to the centre" | | 6 | "She put her hand under" | | 7 | "she said, quietly, to no" | | 8 | "She did not turn." | | 9 | "She had grown up with" | | 10 | "Her voice sounded thin." | | 11 | "She turned, slowly, and there" | | 12 | "She looked down at it." | | 13 | "She didn't catch it directly." | | 14 | "She caught the shape of" | | 15 | "She stood very still." | | 16 | "She counted to ten in" | | 17 | "She did not turn this" | | 18 | "She let it be a" | | 19 | "It was taller than a" |
| | ratio | 0.37 | |
| 69.59% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 57 | | totalSentences | 73 | | matches | | 0 | "Rory had told herself she" | | 1 | "She had told herself a" | | 2 | "That she would stop flinching" | | 3 | "That she would stop looking" | | 4 | "That she wouldn't be the" | | 5 | "The oaks rose ahead of" | | 6 | "The standing stones, Isolde had" | | 7 | "They only behaved like stones." | | 8 | "Rory had learned not to" | | 9 | "She stepped between them." | | 10 | "The grass underfoot changed." | | 11 | "It didn't look different —" | | 12 | "She had come for the" | | 13 | "That was the reason." | | 14 | "The Heartstone had begun to" | | 15 | "A Hel portal, then, somewhere" | | 16 | "Here she was." | | 17 | "She walked to the centre" | | 18 | "The wildflowers were out of" | | 19 | "She put her hand under" |
| | ratio | 0.781 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 73 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 8 | | matches | | 0 | "That she wouldn't be the kind of person who stood at the edge of Richmond Park at half past ten at night with a torch she didn't want to switch on, because swit…" | | 1 | "It didn't look different — still the soft green of summer, still the wildflowers nodding in a breeze she could not feel on her skin — but the sound of the park …" | | 2 | "The flowers on her left were bending one way, and the flowers on her right another, as though two slow currents were moving past her and neither of them was air…" | | 3 | "She caught the shape of its going: a tall, thin shifting between two of the oaks, a vertical darkness that resolved back into trunk and shadow the moment she tu…" | | 4 | "It was standing just beyond the stones, where the grass gave way to park, and it was — she was almost sure of this — leaning forward, as if testing the air abov…" | | 5 | "She could feel its attention now, the way you feel a stranger's stare across a tube carriage — that prickle on the back of the neck that is older than language." | | 6 | "The grove, which had been silent, became the particular kind of silent that is a held breath waiting to be let out." | | 7 | "She stood in the year-round flowers, in the wrong-quiet, and listened to something that should not exist breathe slowly and patiently at the back of her neck, a…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 5 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |