| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 10 | | tagDensity | 0.7 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 79.67% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1230 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slowly" | | 1 | "very" | | 2 | "slightly" |
| |
| 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) | |
| 71.54% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1230 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "pulse" | | 1 | "warmth" | | 2 | "echo" | | 3 | "pulsed" | | 4 | "absolutely" | | 5 | "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 | 98 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 98 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 102 | | 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 | 1 | | markdownWords | 1 | | totalWords | 1242 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 39 | | wordCount | 1200 | | uniqueNames | 18 | | maxNameDensity | 0.83 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 2 | | Park | 2 | | Rory | 10 | | Ham | 2 | | Common | 2 | | London | 1 | | November | 2 | | Eva | 4 | | Tuesday | 1 | | Friday | 1 | | Golden | 1 | | Empress | 1 | | Yu-Fei | 1 | | Sixteen | 3 | | Paddington | 1 | | Evan | 1 | | July | 1 | | Click | 3 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Yu-Fei" | | 3 | "Evan" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Ham" | | 3 | "London" | | 4 | "November" | | 5 | "Paddington" | | 6 | "July" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | glossingSentenceCount | 1 | | matches | | 0 | "was a stump — obviously a stump, four feet" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1242 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 102 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 28.88 | | std | 27.07 | | cv | 0.937 | | sampleLengths | | 0 | 52 | | 1 | 16 | | 2 | 72 | | 3 | 5 | | 4 | 86 | | 5 | 11 | | 6 | 73 | | 7 | 3 | | 8 | 8 | | 9 | 73 | | 10 | 31 | | 11 | 12 | | 12 | 1 | | 13 | 40 | | 14 | 53 | | 15 | 9 | | 16 | 10 | | 17 | 17 | | 18 | 62 | | 19 | 7 | | 20 | 75 | | 21 | 5 | | 22 | 11 | | 23 | 62 | | 24 | 45 | | 25 | 6 | | 26 | 68 | | 27 | 9 | | 28 | 11 | | 29 | 70 | | 30 | 11 | | 31 | 41 | | 32 | 6 | | 33 | 4 | | 34 | 49 | | 35 | 3 | | 36 | 2 | | 37 | 65 | | 38 | 5 | | 39 | 22 | | 40 | 4 | | 41 | 26 | | 42 | 1 |
| |
| 94.52% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 98 | | matches | | 0 | "been locked" | | 1 | "was allowed" | | 2 | "been fifteen" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 192 | | matches | | 0 | "was going" | | 1 | "was standing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 1 | | flaggedSentences | 10 | | totalSentences | 102 | | ratio | 0.098 | | matches | | 0 | "The oaks came up out of the bracken like something built rather than grown — eight of them, spaced too evenly, their trunks scored with grooves that the local guidebooks called \"erosion patterns\" and the internet called nonsense." | | 1 | "Not moonlight — the sky above London in November was a low orange lid, no moon anywhere in it — but a thin silver wash lying over the grass like frost that had forgotten to be cold." | | 2 | "The clearing was maybe forty metres across, ringed in trees — there should have been an echo, some small return of herself." | | 3 | "Then centre — a patch of bare earth, roughly circular, where nothing grew." | | 4 | "Not sun-warm, which was impossible anyway; warm like the flank of an animal." | | 5 | "One note, high and small, from behind and above her — the exact sound of the brass bell over the door of Golden Empress, the one Yu-Fei rang with her knuckles when an order was going cold on the counter." | | 6 | "Not tangling — nothing so obvious." | | 7 | "She looked at it and it was a stump — obviously a stump, four feet high, split at the crown, wrapped in ivy." | | 8 | "Behind her — and she was certain of this in a way she would never be able to explain, certain the way you're certain of a stair in the dark — behind her, close enough to touch, the grass let something set its weight down and take it up again." | | 9 | "And a voice she loved, warped only very slightly — like a recording of a recording — said, from somewhere much too high in the trees:" |
| |
| 97.66% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1078 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 46 | | adverbRatio | 0.04267161410018553 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.014842300556586271 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 102 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 102 | | mean | 12.18 | | std | 11.7 | | cv | 0.961 | | sampleLengths | | 0 | 38 | | 1 | 6 | | 2 | 8 | | 3 | 16 | | 4 | 38 | | 5 | 5 | | 6 | 17 | | 7 | 12 | | 8 | 5 | | 9 | 10 | | 10 | 22 | | 11 | 9 | | 12 | 37 | | 13 | 4 | | 14 | 4 | | 15 | 11 | | 16 | 14 | | 17 | 37 | | 18 | 2 | | 19 | 5 | | 20 | 2 | | 21 | 9 | | 22 | 4 | | 23 | 3 | | 24 | 8 | | 25 | 25 | | 26 | 9 | | 27 | 39 | | 28 | 2 | | 29 | 29 | | 30 | 12 | | 31 | 1 | | 32 | 8 | | 33 | 2 | | 34 | 22 | | 35 | 8 | | 36 | 4 | | 37 | 24 | | 38 | 2 | | 39 | 8 | | 40 | 13 | | 41 | 2 | | 42 | 9 | | 43 | 10 | | 44 | 3 | | 45 | 13 | | 46 | 1 | | 47 | 13 | | 48 | 3 | | 49 | 13 |
| |
| 52.61% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.39215686274509803 | | totalSentences | 102 | | uniqueOpeners | 40 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 83 | | matches | | 0 | "Instead the word just left" | | 1 | "Then centre — a patch" | | 2 | "Then, from the ivy, from" |
| | ratio | 0.036 | |
| 70.60% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 31 | | totalSentences | 83 | | matches | | 0 | "She'd counted, because counting was" | | 1 | "She thumbed her phone dark" | | 2 | "It came from nowhere." | | 3 | "It cast no shadows." | | 4 | "It was Friday." | | 5 | "She was almost sure they" | | 6 | "Her voice went out and" | | 7 | "She walked the way her" | | 8 | "She turned her head and" | | 9 | "She crouched at the bare" | | 10 | "It was warm." | | 11 | "She pulled her hand back" | | 12 | "She had heard it four" | | 13 | "It did not belong within" | | 14 | "She stood up very slowly." | | 15 | "she said, and hated how" | | 16 | "She could turn around." | | 17 | "It simply took a fraction" | | 18 | "She kept her pace even." | | 19 | "She kept her breathing in" |
| | ratio | 0.373 | |
| 92.53% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 83 | | matches | | 0 | "The gate at the Richmond" | | 1 | "She'd counted, because counting was" | | 2 | "The oaks came up out" | | 3 | "Rory had seen them twice" | | 4 | "Tonight they looked like teeth." | | 5 | "She thumbed her phone dark" | | 6 | "That was the first thing" | | 7 | "The clearing beyond the oaks" | | 8 | "It came from nowhere." | | 9 | "It cast no shadows." | | 10 | "The pendant against her sternum" | | 11 | "Rory murmured, and pressed her" | | 12 | "The crimson stone was the" | | 13 | "That was the last message." | | 14 | "It was Friday." | | 15 | "Rory stepped through the gap" | | 16 | "The air changed the way" | | 17 | "The distant hum of the" | | 18 | "Cowslip and foxglove and something" | | 19 | "She was almost sure they" |
| | ratio | 0.735 | |
| 60.24% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 83 | | matches | | | ratio | 0.012 | |
| 67.67% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 38 | | technicalSentenceCount | 4 | | matches | | 0 | "The gate at the Richmond Park boundary had been locked since dusk, which meant Rory had gone over the wall by Ham Common with her boots slung round her neck and…" | | 1 | "That was the first thing that was wrong, and she noticed it immediately without understanding it: her eyes didn't need to adjust." | | 2 | "Not moonlight — the sky above London in November was a low orange lid, no moon anywhere in it — but a thin silver wash lying over the grass like frost that had …" | | 3 | "So did the wind, though she could see the grass at the far side of the clearing moving in it, long stems bowing and rising in a rhythm that had nothing to do wi…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 50.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 1 | | fancyTags | | 0 | "Rory murmured (murmur)" |
| | dialogueSentences | 10 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.2 | | effectiveRatio | 0.2 | |