| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 11 | | tagDensity | 0.545 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 78.51% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1396 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "very" | | 1 | "slightly" | | 2 | "tightly" | | 3 | "slowly" |
| |
| 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) | |
| 74.93% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1396 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "grave" | | 1 | "shimmered" | | 2 | "flicker" | | 3 | "silence" | | 4 | "weight" | | 5 | "pulse" |
| |
| 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 | 88 | | matches | (empty) | |
| 94.16% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 88 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 94 | | 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 | 11 | | markdownWords | 41 | | totalWords | 1408 | | ratio | 0.029 | | matches | | 0 | "the turn of the night, the oaks that stand like men, come alone and bring what was given you." | | 1 | "milder" | | 2 | "put-put-put" | | 3 | "Rory." | | 4 | "Eva" | | 5 | "don't be a cow." | | 6 | "Eva's in Hackney," | | 7 | "And she never once in her life said—" | | 8 | "burning" | | 9 | "Rory" | | 10 | "Aurora" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 1331 | | uniqueNames | 20 | | maxNameDensity | 0.68 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Sheen | 1 | | Lane | 1 | | Rory | 9 | | Fourteen | 1 | | Golden | 2 | | Empress | 2 | | Yu-Fei | 2 | | Eva | 4 | | Park | 2 | | Richmond | 2 | | October | 1 | | February | 1 | | September | 1 | | Roehampton | 2 | | Heathrow | 1 | | Londoners | 1 | | Kingston | 1 | | Evan | 1 | | Cardiff | 1 | | Silence | 1 |
| | persons | | 0 | "Rory" | | 1 | "Empress" | | 2 | "Yu-Fei" | | 3 | "Eva" | | 4 | "Roehampton" | | 5 | "Heathrow" | | 6 | "Londoners" | | 7 | "Evan" |
| | places | | 0 | "Sheen" | | 1 | "Lane" | | 2 | "Golden" | | 3 | "Park" | | 4 | "Richmond" | | 5 | "October" | | 6 | "Kingston" | | 7 | "Cardiff" | | 8 | "Silence" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 58 | | glossingSentenceCount | 1 | | matches | | 0 | "it that seemed to be leaning down" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1408 | | matches | (empty) | |
| 60.28% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 94 | | matches | | 0 | "was that she" | | 1 | "shapes that the" | | 2 | "found that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 32.74 | | std | 27.06 | | cv | 0.826 | | sampleLengths | | 0 | 52 | | 1 | 11 | | 2 | 83 | | 3 | 75 | | 4 | 99 | | 5 | 14 | | 6 | 72 | | 7 | 14 | | 8 | 5 | | 9 | 51 | | 10 | 22 | | 11 | 3 | | 12 | 66 | | 13 | 23 | | 14 | 85 | | 15 | 21 | | 16 | 15 | | 17 | 3 | | 18 | 82 | | 19 | 3 | | 20 | 18 | | 21 | 52 | | 22 | 59 | | 23 | 12 | | 24 | 22 | | 25 | 1 | | 26 | 35 | | 27 | 11 | | 28 | 51 | | 29 | 11 | | 30 | 17 | | 31 | 24 | | 32 | 38 | | 33 | 20 | | 34 | 8 | | 35 | 60 | | 36 | 9 | | 37 | 51 | | 38 | 20 | | 39 | 4 | | 40 | 34 | | 41 | 49 | | 42 | 3 |
| |
| 85.33% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 88 | | matches | | 0 | "been chained" | | 1 | "was given" | | 2 | "were shaped" | | 3 | "been folded" | | 4 | "been ten" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 208 | | matches | | 0 | "was being" | | 1 | "weren't twinkling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 2 | | flaggedSentences | 11 | | totalSentences | 94 | | ratio | 0.117 | | matches | | 0 | "No handwriting she recognised — the letters too even, as though someone had copied them out of a book about how letters were shaped." | | 1 | "Wildflowers stood open — cornflowers, red campion, things she couldn't name — in the middle of a February night, petals wide as if the sun were on them, and the air over them shimmered very slightly, the way it does above a hot road." | | 2 | "Not warmer, exactly — *milder*, the way a September evening is mild, and the cold behind her closed like a door." | | 3 | "There were always planes; Heathrow's approach ran a lane of noise across this whole side of the city, one every ninety seconds, a sound so constant Londoners stopped hearing it before they'd lived here a year." | | 4 | "She stood still — cool head, cool head, she'd stood still while Evan screamed six inches from her face, she could stand still for this — and the furrow reached her feet and stopped and the campion straightened up again." | | 5 | "She had thought she would; she had thought a lot of things about herself, in the years before this year." | | 6 | "In the silence afterward, something exhaled — a small, satisfied sound, like a person setting down a heavy bag." | | 7 | "That was the horrible part — the animal in her, the part that had been ten years old in Cardiff with grass-stained knees, turned towards that voice like a plant to a window." | | 8 | "Then the voice again, from a different place — behind her now, close, close enough that she should have felt breath on the back of her neck and did not — and this time it was her own." | | 9 | "Not warm now — *burning*, a coal against her breastbone, and its light came up through the weave of her jumper in a deep crimson pulse, once, twice, the rhythm of a heart that was not hers, and every flower in the grove turned its face towards it." | | 10 | "She turned to run and found that the oaks had closed their ring, and that the lights of Roehampton had gone out, and that overhead there were no stars at all — only a wide, soft, waiting dark, and a shape in it that seemed to be leaning down." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 80 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 3 | | adverbRatio | 0.0375 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 94 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 94 | | mean | 14.98 | | std | 13.26 | | cv | 0.886 | | sampleLengths | | 0 | 22 | | 1 | 30 | | 2 | 2 | | 3 | 9 | | 4 | 27 | | 5 | 24 | | 6 | 32 | | 7 | 13 | | 8 | 17 | | 9 | 13 | | 10 | 32 | | 11 | 12 | | 12 | 24 | | 13 | 27 | | 14 | 7 | | 15 | 29 | | 16 | 4 | | 17 | 10 | | 18 | 11 | | 19 | 35 | | 20 | 26 | | 21 | 5 | | 22 | 3 | | 23 | 6 | | 24 | 5 | | 25 | 7 | | 26 | 44 | | 27 | 22 | | 28 | 3 | | 29 | 3 | | 30 | 21 | | 31 | 3 | | 32 | 5 | | 33 | 8 | | 34 | 18 | | 35 | 8 | | 36 | 12 | | 37 | 5 | | 38 | 6 | | 39 | 28 | | 40 | 2 | | 41 | 36 | | 42 | 7 | | 43 | 12 | | 44 | 4 | | 45 | 1 | | 46 | 16 | | 47 | 3 | | 48 | 12 | | 49 | 3 |
| |
| 51.25% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.3655913978494624 | | totalSentences | 93 | | uniqueOpeners | 34 | |
| 86.58% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 77 | | matches | | 0 | "Then, from somewhere behind her" | | 1 | "Then the voice again, from" |
| | ratio | 0.026 | |
| 74.55% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 77 | | matches | | 0 | "She went over the wall" | | 1 | "She turned it off and" | | 2 | "It had been folded inside" | | 3 | "She walked south-west across grass" | | 4 | "It had been warm since" | | 5 | "She'd found them once by" | | 6 | "She stopped at the boundary." | | 7 | "Her breath fogged." | | 8 | "she said, and her voice" | | 9 | "She stepped through." | | 10 | "She turned around." | | 11 | "They hung there, fixed, like" | | 12 | "She crossed the grove to" | | 13 | "She checked her phone." | | 14 | "She watched the screen until" | | 15 | "She stood still — cool" | | 16 | "She knew that sound the" | | 17 | "It was her moped, the" | | 18 | "It came closer, throttled down," | | 19 | "She heard the little metallic" |
| | ratio | 0.364 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 55 | | totalSentences | 77 | | matches | | 0 | "The gate at Sheen Lane" | | 1 | "She went over the wall" | | 2 | "She turned it off and" | | 3 | "The note in her pocket" | | 4 | "It had been folded inside" | | 5 | "Rory had told herself all" | | 6 | "That she'd rather walk into" | | 7 | "That was the version she'd" | | 8 | "The truer version was that" | | 9 | "Richmond Park at night was" | | 10 | "That was the first thing" | | 11 | "She walked south-west across grass" | | 12 | "The pendant was warm." | | 13 | "It had been warm since" | | 14 | "The standing stones weren't stones" | | 15 | "She'd found them once by" | | 16 | "She stopped at the boundary." | | 17 | "Her breath fogged." | | 18 | "That was the second thing." | | 19 | "Wildflowers stood open — cornflowers," |
| | ratio | 0.714 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 77 | | matches | (empty) | | ratio | 0 | |
| 26.58% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 7 | | matches | | 0 | "She walked south-west across grass that soaked her trainers through in the first two minutes, past the black humped shapes of the deer, who did not move." | | 1 | "Wildflowers stood open — cornflowers, red campion, things she couldn't name — in the middle of a February night, petals wide as if the sun were on them, and the…" | | 2 | "What she actually did was close her hand very tightly around the pendant, which was hot now, hot as a mug of tea, and keep her eyes on the flowers in front of h…" | | 3 | "That was the horrible part — the animal in her, the part that had been ten years old in Cardiff with grass-stained knees, turned towards that voice like a plant…" | | 4 | "Not warm now — *burning*, a coal against her breastbone, and its light came up through the weave of her jumper in a deep crimson pulse, once, twice, the rhythm …" | | 5 | "Behind her, all around her, in a voice that was no longer pretending to be anyone, something said her name." | | 6 | "She turned to run and found that the oaks had closed their ring, and that the lights of Roehampton had gone out, and that overhead there were no stars at all — …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 11 | | tagDensity | 0.455 | | leniency | 0.909 | | rawRatio | 0 | | effectiveRatio | 0 | |