| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 23 | | tagDensity | 0.391 | | leniency | 0.783 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 87.09% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1162 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "suddenly" | | 1 | "perfectly" | | 2 | "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) | |
| 82.79% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1162 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "warmth" | | 1 | "pulse" | | 2 | "weight" |
| |
| 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 | 59 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 59 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 71 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1170 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 919 | | uniqueNames | 15 | | maxNameDensity | 0.54 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Park" | | discoveredNames | | Richmond | 1 | | Park | 3 | | November | 1 | | Nyx | 4 | | London | 1 | | South | 1 | | Circular | 1 | | June | 1 | | Isolde | 2 | | Golden | 1 | | Empress | 1 | | Yu-Fei | 1 | | Heartstone | 1 | | Hel | 1 | | Rory | 5 |
| | persons | | 0 | "Nyx" | | 1 | "Isolde" | | 2 | "Yu-Fei" | | 3 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "November" | | 3 | "London" | | 4 | "Hel" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 39 | | glossingSentenceCount | 3 | | matches | | 0 | "seemed reluctant to define" | | 1 | "quite breathing but came close enough to make her skin crawl" | | 2 | "looked like a single field, a few hundred" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1170 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 71 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 39 | | std | 36 | | cv | 0.923 | | sampleLengths | | 0 | 59 | | 1 | 17 | | 2 | 63 | | 3 | 8 | | 4 | 4 | | 5 | 5 | | 6 | 102 | | 7 | 13 | | 8 | 100 | | 9 | 73 | | 10 | 5 | | 11 | 42 | | 12 | 69 | | 13 | 3 | | 14 | 100 | | 15 | 6 | | 16 | 1 | | 17 | 3 | | 18 | 31 | | 19 | 53 | | 20 | 3 | | 21 | 107 | | 22 | 13 | | 23 | 21 | | 24 | 55 | | 25 | 8 | | 26 | 3 | | 27 | 97 | | 28 | 43 | | 29 | 63 |
| |
| 93.37% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 59 | | matches | | |
| 19.82% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 148 | | matches | | 0 | "wasn't quite breathing" | | 1 | "were studying" | | 2 | "was running" | | 3 | "was singing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 71 | | ratio | 0.099 | | matches | | 0 | "That was the first thing — the bone-deep London damp peeled away from her like a wet coat, replaced by warmth that smelled of cut grass and something sweeter beneath it, honeysuckle and crushed thyme and a third scent she had no name for." | | 1 | "Wildflowers grew in every direction, a riot of them — foxglove and cornflower, poppies the deep red of arterial blood, white stars she didn't recognise that turned their faces toward her as she passed, the way sunflowers track the sun." | | 2 | "But the further in they went the more those edges dissolved, the ordinary oaks giving way to giants — trunks broad as houses, bark silvered and smooth, branches lacing overhead into a canopy that filtered the gold light into shifting coins on the ground." | | 3 | "Not the warmth it gave near a Hel portal — this was different, a faint vibration, like the artifact had cocked its head to listen." | | 4 | "A spring rose at the centre of it, welling up over pale stones into a pool so clear she could see the coins lying on the bottom — old coins, copper and silver and shapes of gold she didn't recognise, some of them so corroded they'd fused into the rock." | | 5 | "But she let her eyes drop, careful, and saw her own reflection looking back — and behind it, deeper, a second face that was hers and not hers, older, crowned, with eyes that held a knowledge her own had never carried." | | 6 | "Rory's hand had gone, without her deciding it should, to the cold weight of the moonsilver dagger at her hip — the blade this same woman would, in some tangle of past and future Rory hadn't yet learned to unknot, give her freely." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 500 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 19 | | adverbRatio | 0.038 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.002 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 71 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 71 | | mean | 16.48 | | std | 13.08 | | cv | 0.794 | | sampleLengths | | 0 | 28 | | 1 | 31 | | 2 | 5 | | 3 | 7 | | 4 | 5 | | 5 | 25 | | 6 | 16 | | 7 | 22 | | 8 | 8 | | 9 | 4 | | 10 | 5 | | 11 | 3 | | 12 | 44 | | 13 | 4 | | 14 | 27 | | 15 | 24 | | 16 | 13 | | 17 | 40 | | 18 | 20 | | 19 | 23 | | 20 | 2 | | 21 | 15 | | 22 | 5 | | 23 | 25 | | 24 | 25 | | 25 | 18 | | 26 | 5 | | 27 | 12 | | 28 | 30 | | 29 | 8 | | 30 | 45 | | 31 | 16 | | 32 | 3 | | 33 | 10 | | 34 | 21 | | 35 | 44 | | 36 | 4 | | 37 | 21 | | 38 | 6 | | 39 | 1 | | 40 | 3 | | 41 | 31 | | 42 | 11 | | 43 | 25 | | 44 | 17 | | 45 | 3 | | 46 | 26 | | 47 | 50 | | 48 | 6 | | 49 | 2 |
| |
| 85.92% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.5492957746478874 | | totalSentences | 71 | | uniqueOpeners | 39 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 51 | | matches | | 0 | "Somewhere water was running." | | 1 | "Somewhere a bird was singing" |
| | ratio | 0.039 | |
| 78.82% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 51 | | matches | | 0 | "Her breath fogged on the" | | 1 | "It didn't on the other." | | 2 | "Their voice came as it" | | 3 | "She turned in a slow" | | 4 | "They opened and closed in" | | 5 | "They had taken a more" | | 6 | "They were studying the flowers" | | 7 | "She kept walking." | | 8 | "She pressed her palm flat" | | 9 | "She came out from under" | | 10 | "she said, and meant it," | | 11 | "They had gone very still." | | 12 | "She didn't ask why." | | 13 | "She'd learned that much." | | 14 | "She stepped back so fast" | | 15 | "It came from the far" | | 16 | "She stood barefoot in the" | | 17 | "She tilted her head, and" |
| | ratio | 0.353 | |
| 77.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 39 | | totalSentences | 51 | | matches | | 0 | "The standing stones rose from" | | 1 | "Rory stopped at the threshold" | | 2 | "Her breath fogged on the" | | 3 | "It didn't on the other." | | 4 | "Their voice came as it" | | 5 | "Rory snorted and stepped through." | | 6 | "The cold vanished." | | 7 | "That was the first thing" | | 8 | "The light changed too." | | 9 | "She turned in a slow" | | 10 | "Wildflowers grew in every direction," | | 11 | "They opened and closed in" | | 12 | "The grass underfoot was springy" | | 13 | "They had taken a more" | | 14 | "They were studying the flowers" | | 15 | "That landed harder than she" | | 16 | "Rory thought of the Golden" | | 17 | "The thought felt suddenly thin," | | 18 | "She kept walking." | | 19 | "The clearing went deeper than" |
| | ratio | 0.765 | |
| 98.04% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 51 | | matches | | | ratio | 0.02 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 5 | | matches | | 0 | "Rory stopped at the threshold between two of them, one boot in the mud of Richmond Park, the other hovering over grass that should not have been so green in Nov…" | | 1 | "That was the first thing — the bone-deep London damp peeled away from her like a wet coat, replaced by warmth that smelled of cut grass and something sweeter be…" | | 2 | "But the further in they went the more those edges dissolved, the ordinary oaks giving way to giants — trunks broad as houses, bark silvered and smooth, branches…" | | 3 | "As if in answer the Heartstone pendant shifted against her sternum." | | 4 | "But she let her eyes drop, careful, and saw her own reflection looking back — and behind it, deeper, a second face that was hers and not hers, older, crowned, w…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 63.04% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 2 | | fancyTags | | 0 | "she whispered (whisper)" | | 1 | "Nyx murmured (murmur)" |
| | dialogueSentences | 23 | | tagDensity | 0.304 | | leniency | 0.609 | | rawRatio | 0.286 | | effectiveRatio | 0.174 | |