| 57.14% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 1 | | adverbTags | | | dialogueSentences | 12 | | tagDensity | 0.583 | | leniency | 1 | | rawRatio | 0.143 | | effectiveRatio | 0.143 | |
| 82.25% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1127 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "really" | | 1 | "perfectly" | | 2 | "slowly" | | 3 | "very" |
| |
| 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) | |
| 68.94% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1127 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "warmth" | | 1 | "echo" | | 2 | "silence" | | 3 | "could feel" | | 4 | "throb" | | 5 | "resolve" |
| |
| 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 | 80 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 80 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1137 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 17 | | wordCount | 1074 | | uniqueNames | 9 | | maxNameDensity | 0.28 | | worstName | "Eva" | | maxWindowNameDensity | 1 | | worstWindowName | "Eva" | | discoveredNames | | Eva | 3 | | Richmond | 2 | | Park | 2 | | Rory | 3 | | London | 2 | | October | 1 | | June | 1 | | Evan | 2 | | Cardiff | 1 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "June" | | 4 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 11.11% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 54 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like stepping into a held breath" | | 1 | "felt like the breath was about to be le" | | 2 | "something like amusement in it, and somethin" | | 3 | "something like hunger" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.88 | | wordCount | 1137 | | matches | | 0 | "not really — they were oaks, but oaks gone wrong, their trunks twisted into pillars" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 85 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 37.9 | | std | 30.54 | | cv | 0.806 | | sampleLengths | | 0 | 80 | | 1 | 31 | | 2 | 70 | | 3 | 8 | | 4 | 74 | | 5 | 11 | | 6 | 45 | | 7 | 39 | | 8 | 89 | | 9 | 13 | | 10 | 47 | | 11 | 8 | | 12 | 63 | | 13 | 30 | | 14 | 7 | | 15 | 102 | | 16 | 13 | | 17 | 6 | | 18 | 14 | | 19 | 101 | | 20 | 4 | | 21 | 25 | | 22 | 31 | | 23 | 78 | | 24 | 30 | | 25 | 4 | | 26 | 27 | | 27 | 29 | | 28 | 56 | | 29 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 80 | | matches | | |
| 45.86% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 173 | | matches | | 0 | "was moving" | | 1 | "wasn't touching" | | 2 | "was like speaking" | | 3 | "was wearing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 2 | | flaggedSentences | 11 | | totalSentences | 85 | | ratio | 0.129 | | matches | | 0 | "They weren't stones, not really — they were oaks, but oaks gone wrong, their trunks twisted into pillars and arranged in a rough ring, bark grey and smooth as old bone in the moonlight." | | 1 | "Only the wind moving in the high branches, except — she stopped." | | 2 | "She wasn't a scientist; she didn't have to understand it." | | 3 | "Not colder — warmer, a soft summer warmth that had no business in a London October, and with it came the smell of flowers." | | 4 | "That was the only way she could describe it — the words left her mouth and did not travel, did not echo, did not seem to reach even the nearest tree." | | 5 | "She'd nearly forgotten she was wearing it — the deep red stone on its silver chain, the one that had arrived at the flat above Silas' bar in a plain envelope with no note, no sender, nothing but her name in a hand she didn't recognize." | | 6 | "Now it sat against her breastbone like a coal newly raked from a fire, pulsing — actually pulsing, she could feel it, a slow throb in time with nothing she knew, certainly not her own galloping heart." | | 7 | "She was certain of it; she made a habit of being certain, of noticing exits, a habit Evan had carved into her without ever meaning to teach her anything useful." | | 8 | "The ring of trees had closed seamlessly around her, a wall of pale pillars in every direction, and beyond them the long grass of Richmond Park had become forest — dense, black, breathing forest that went down and down into a dark no city should be able to hold." | | 9 | "It was tall — too tall — and it did not so much walk as resolve, the darkness around it thinning until there was a figure standing where there had been only night." | | 10 | "And in its sudden crimson light she saw, for one heartbeat, the thing's true shape — and she understood, with the cold clean certainty that had carried her out of every locked room of her life, that she was not going to talk her way out of this one." |
| |
| 85.11% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 638 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 32 | | adverbRatio | 0.050156739811912224 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.018808777429467086 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 13.38 | | std | 11.95 | | cv | 0.893 | | sampleLengths | | 0 | 11 | | 1 | 1 | | 2 | 36 | | 3 | 32 | | 4 | 5 | | 5 | 2 | | 6 | 24 | | 7 | 1 | | 8 | 7 | | 9 | 1 | | 10 | 21 | | 11 | 40 | | 12 | 8 | | 13 | 34 | | 14 | 7 | | 15 | 19 | | 16 | 14 | | 17 | 11 | | 18 | 2 | | 19 | 12 | | 20 | 13 | | 21 | 18 | | 22 | 10 | | 23 | 2 | | 24 | 5 | | 25 | 10 | | 26 | 12 | | 27 | 4 | | 28 | 24 | | 29 | 21 | | 30 | 18 | | 31 | 5 | | 32 | 17 | | 33 | 6 | | 34 | 7 | | 35 | 5 | | 36 | 31 | | 37 | 11 | | 38 | 8 | | 39 | 3 | | 40 | 1 | | 41 | 32 | | 42 | 4 | | 43 | 3 | | 44 | 6 | | 45 | 14 | | 46 | 4 | | 47 | 8 | | 48 | 18 | | 49 | 7 |
| |
| 54.51% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.4117647058823529 | | totalSentences | 85 | | uniqueOpeners | 35 | |
| 98.04% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 68 | | matches | | 0 | "Only the wind moving in" | | 1 | "Only the ring of pale" |
| | ratio | 0.029 | |
| 49.41% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 68 | | matches | | 0 | "She'd asked one, at least." | | 1 | "They never said his name" | | 2 | "She pulled her jacket closer" | | 3 | "She found the standing stones" | | 4 | "They weren't stones, not really" | | 5 | "She'd been here once before," | | 6 | "Her voice came out smaller" | | 7 | "She wasn't a scientist; she" | | 8 | "She stepped between two of" | | 9 | "She looked down and saw" | | 10 | "It should have been beautiful." | | 11 | "It was like speaking into" | | 12 | "She turned fast." | | 13 | "She breathed out slowly." | | 14 | "She'd seen the herds on" | | 15 | "She'd nearly forgotten she was" | | 16 | "She wore it because it" | | 17 | "She closed her hand around" | | 18 | "She turned to go back" | | 19 | "She'd entered between two trunks" |
| | ratio | 0.426 | |
| 48.24% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 68 | | matches | | 0 | "The text Eva had sent" | | 1 | "Rory had read it a" | | 2 | "She'd asked one, at least." | | 3 | "They never said his name" | | 4 | "She pulled her jacket closer" | | 5 | "She found the standing stones" | | 6 | "They weren't stones, not really" | | 7 | "She'd been here once before," | | 8 | "Her voice came out smaller" | | 9 | "The wind was moving in" | | 10 | "The leaves above her hissed" | | 11 | "Rory told herself there were" | | 12 | "The lay of the land." | | 13 | "She wasn't a scientist; she" | | 14 | "She stepped between two of" | | 15 | "The temperature changed first." | | 16 | "She looked down and saw" | | 17 | "Foxglove and meadowsweet and others" | | 18 | "It should have been beautiful." | | 19 | "Some animal part of her" |
| | ratio | 0.824 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 68 | | matches | | 0 | "Now, standing at the edge" | | 1 | "Even now the syllable made" | | 2 | "Now, at midnight, it felt" | | 3 | "Now it sat against her" |
| | ratio | 0.059 | |
| 83.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 3 | | matches | | 0 | "She pulled her jacket closer and stepped past the last of the maintained lawn into the older part of the park, where the grass grew long and the oaks stood like…" | | 1 | "She looked down and saw them: wildflowers, hundreds of them, blooming in the dark as though it were noon in June." | | 2 | "And in its sudden crimson light she saw, for one heartbeat, the thing's true shape — and she understood, with the cold clean certainty that had carried her out …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 2 | | fancyTags | | 0 | "she whispered (whisper)" | | 1 | "it repeated (repeat)" |
| | dialogueSentences | 12 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0.667 | | effectiveRatio | 0.333 | |