| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said aloud [aloud]" | | 1 | "she said again [again]" |
| | dialogueSentences | 3 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 1 | | effectiveRatio | 1 | |
| 85.04% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2005 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "slightly" | | 1 | "slowly" | | 2 | "completely" | | 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) | |
| 65.09% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2005 | | totalAiIsms | 14 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | word | "the last thing" | | count | 1 |
|
| | highlights | | 0 | "throb" | | 1 | "pulsed" | | 2 | "firmly" | | 3 | "weight" | | 4 | "pulse" | | 5 | "silence" | | 6 | "warmth" | | 7 | "beacon" | | 8 | "trembled" | | 9 | "the last thing" |
| |
| 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 | 94 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 94 | | filterMatches | (empty) | | hedgeMatches | | |
| 96.19% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 95 | | gibberishSentences | 1 | | adjustedGibberishSentences | 1 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 1 | | maxSentenceWordsSeen | 140 | | ratio | 0.011 | | matches | | 0 | "It was the stone keeping pace with something, and the thing it had been pacing was now very close, and it had stopped, and so the stone had stopped, and the clearing had stopped, a…" |
| |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 7 | | totalWords | 2023 | | ratio | 0.003 | | matches | | 0 | "You're here. Isolde. I got your message." |
| |
| 97.22% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 1 | | matches | | 0 | "Rory walked to the centre, where the grass gave way to a flat grey stone half-sunk in the earth — the table, Isolde call…" |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 40 | | wordCount | 1994 | | uniqueNames | 17 | | maxNameDensity | 0.8 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Heartstone | 4 | | Hel | 2 | | Isolde | 3 | | London | 3 | | Yu-Fei | 1 | | Acton | 1 | | Petersham | 1 | | Road | 1 | | Rory | 16 | | Except | 1 | | Cardiff | 1 | | Fae | 1 | | Grove | 1 | | Evan | 1 | | Laila | 1 |
| | persons | | 0 | "Heartstone" | | 1 | "Isolde" | | 2 | "Yu-Fei" | | 3 | "Rory" | | 4 | "Evan" | | 5 | "Laila" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Hel" | | 3 | "London" | | 4 | "Acton" | | 5 | "Petersham" | | 6 | "Road" | | 7 | "Cardiff" | | 8 | "Fae" | | 9 | "Grove" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 59 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 51.71% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 1.483 | | wordCount | 2023 | | matches | | 0 | "not the park, not the dark row of plane trees along the road, but the faint amber smear of a streetlight" | | 1 | "not the dark row of plane trees along the road, but the faint amber smear of a streetlight" | | 2 | "not emptiness but attention" |
| |
| 26.32% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 95 | | matches | | 0 | "learning that the" | | 1 | "hated that she" | | 2 | "listening, that she" | | 3 | "understood that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 54.68 | | std | 42.63 | | cv | 0.78 | | sampleLengths | | 0 | 70 | | 1 | 20 | | 2 | 92 | | 3 | 10 | | 4 | 119 | | 5 | 5 | | 6 | 63 | | 7 | 45 | | 8 | 8 | | 9 | 55 | | 10 | 5 | | 11 | 71 | | 12 | 48 | | 13 | 14 | | 14 | 57 | | 15 | 71 | | 16 | 9 | | 17 | 62 | | 18 | 38 | | 19 | 4 | | 20 | 62 | | 21 | 8 | | 22 | 58 | | 23 | 84 | | 24 | 90 | | 25 | 8 | | 26 | 119 | | 27 | 79 | | 28 | 2 | | 29 | 74 | | 30 | 4 | | 31 | 162 | | 32 | 121 | | 33 | 77 | | 34 | 64 | | 35 | 3 | | 36 | 142 |
| |
| 97.80% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 94 | | matches | | 0 | "was frightened" | | 1 | "been told" |
| |
| 42.87% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 297 | | matches | | 0 | "was hearing " | | 1 | "was standing" | | 2 | "was saying" | | 3 | "was standing" | | 4 | "was counting" | | 5 | "was always counting" | | 6 | "was standing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 1 | | flaggedSentences | 15 | | totalSentences | 95 | | ratio | 0.158 | | matches | | 0 | "Rory knew this because she had counted her steps — a habit from childhood, from counting tiles in hospital corridors and stairs in her father's house — and at eight hundred and forty the trodden earth beneath her trainers simply ceased, and the grass took over without transition, as if the park had swallowed a road." | | 1 | "The moonlight caught the grain of the wood in a way that made it seem less like bark and more like something stretched taut over bone, and between two of them she could see the clearing beyond — the hidden cup of the grove where wildflowers bloomed out of season, year-round, blanketing the ground in pale blues and whites that glowed faintly without a light source to justify them." | | 2 | "Not gradually — it arrived all at once, the way a hand closes, and the air went from London autumn to something older and damper, a wet sweetness that coated the back of her throat." | | 3 | "Rory walked to the centre, where the grass gave way to a flat grey stone half-sunk in the earth — the table, Isolde called it, though no one had ever eaten on it." | | 4 | "She was certain of it before she finished registering what she was hearing — the specific diesel knock of the little flatbed Yu-Fei used for the runs out to Acton, the rattle of the side door that she'd been meaning to mention to him for three weeks." | | 5 | "Through the gap in the oaks she could see — not the park, not the dark row of plane trees along the road, but the faint amber smear of a streetlight, and beneath it something the shape and colour of the van, moving slowly, turning in." | | 6 | "The streetlight did not go out; it simply lost interest, the way a candle gutters when the air in the room changes." | | 7 | "It was a footstep on grass — soft, deliberate, the weight coming down heel-first — and it was no more than four or five metres away." | | 8 | "The flowers nearest to it — she could see them in her peripheral vision, a pale drift of blue — leaned away from the sound, stems bowing, and then righted themselves, and then bowed again, in time with something she couldn't hear." | | 9 | "It moved again — further left this time, a shape the height of a person, occupying the space between two of the far stones for exactly as long as it took her eyes to reach it, and then gone so completely that the darkness it had displaced seemed to close over it like water." | | 10 | "She stood very still in the centre of the clearing with the pendant burning a hole in her sternum and listened to her own voice tell a story she had never told, and the story was accurate in every detail, and the accuracy was the worst part — worse than the impossibility, worse than the cold, worse than the shape between the stones that was not there when she looked and was there when she didn't." | | 11 | "It settled on her shoulders, on the backs of her hands, on the wet grass around her ankles, and the wildflowers went very still — every stem, every head, arrested mid-nod, as if the clearing had been cut out of time and pinned to a board." | | 12 | "She thought about running — she thought about it with her legs, which trembled once and then steadied, and with the old animal arithmetic that had carried her out of one door in one city at one hour of the morning and would carry her out of this one if she let it." | | 13 | "She took another, angling right, toward the gap she had come through, and the shape did not move, and the pendant did not warm, and the clearing did not breathe, and she understood that the silence was not emptiness but attention — a whole place turned toward her, holding still the way you hold still when you are waiting for someone to make a mistake." | | 14 | "Between the ninth stone and the treeline, in the gap where nothing was, her own voice said her name — not Rory, not Laila, not any of the names she had worn — and it said it the way you say a word you have been saving, and the wildflowers, all hundreds of them, turned their pale faces toward the sound, and Rory walked backward through the standing stones without taking her eyes off the clearing, one step, two, three, and the air changed again, all at once, back to London cold, and the smell of wet asphalt and cut grass came up to meet her, and behind her the grove sat in the dark with its flowers and its table and its silence and its guest, and the Heartstone, resting against her ribs, stayed cold the whole way to the road." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 396 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 13 | | adverbRatio | 0.03282828282828283 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.010101010101010102 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 95 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 95 | | mean | 21.29 | | std | 24.43 | | cv | 1.147 | | sampleLengths | | 0 | 14 | | 1 | 56 | | 2 | 5 | | 3 | 15 | | 4 | 29 | | 5 | 4 | | 6 | 28 | | 7 | 9 | | 8 | 22 | | 9 | 10 | | 10 | 39 | | 11 | 6 | | 12 | 5 | | 13 | 69 | | 14 | 5 | | 15 | 3 | | 16 | 35 | | 17 | 1 | | 18 | 3 | | 19 | 21 | | 20 | 40 | | 21 | 5 | | 22 | 1 | | 23 | 7 | | 24 | 33 | | 25 | 7 | | 26 | 4 | | 27 | 11 | | 28 | 5 | | 29 | 47 | | 30 | 24 | | 31 | 2 | | 32 | 46 | | 33 | 5 | | 34 | 9 | | 35 | 4 | | 36 | 22 | | 37 | 31 | | 38 | 11 | | 39 | 32 | | 40 | 28 | | 41 | 9 | | 42 | 26 | | 43 | 5 | | 44 | 31 | | 45 | 38 | | 46 | 4 | | 47 | 3 | | 48 | 17 | | 49 | 42 |
| |
| 33.16% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.2736842105263158 | | totalSentences | 95 | | uniqueOpeners | 26 | |
| 38.31% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 87 | | matches | | 0 | "Just the wildflowers, arranged in" |
| | ratio | 0.011 | |
| 36.09% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 40 | | totalSentences | 87 | | matches | | 0 | "She did not turn back." | | 1 | "She had come for a" | | 2 | "It pulsed faster now." | | 3 | "She had never known what" | | 4 | "She suspected, in the way" | | 5 | "She stepped between the stones." | | 6 | "She looked down." | | 7 | "she said aloud, because saying" | | 8 | "She stood there and waited" | | 9 | "It was a delivery van." | | 10 | "She was certain of it" | | 11 | "It came from beyond the" | | 12 | "Her phone showed 11:47 p.m." | | 13 | "She had last checked it" | | 14 | "She told herself it had" | | 15 | "She told herself this firmly," | | 16 | "She had spent two years" | | 17 | "It was a footstep on" | | 18 | "She kept her eyes on" | | 19 | "she said again, and her" |
| | ratio | 0.46 | |
| 40.46% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 73 | | totalSentences | 87 | | matches | | 0 | "The path through Richmond Park" | | 1 | "Rory knew this because she" | | 2 | "She did not turn back." | | 3 | "She had come for a" | | 4 | "The Heartstone had been pulsing" | | 5 | "It pulsed faster now." | | 6 | "Rory pressed two fingers to" | | 7 | "She had never known what" | | 8 | "She suspected, in the way" | | 9 | "Rory had always found them" | | 10 | "Tonight they looked like teeth." | | 11 | "The moonlight caught the grain" | | 12 | "She stepped between the stones." | | 13 | "The temperature changed." | | 14 | "She looked down." | | 15 | "The blooms were there, hundreds" | | 16 | "she said aloud, because saying" | | 17 | "The clearing held its breath" | | 18 | "Rory walked to the centre," | | 19 | "She stood there and waited" |
| | ratio | 0.839 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 87 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 10 | | matches | | 0 | "Rory knew this because she had counted her steps — a habit from childhood, from counting tiles in hospital corridors and stairs in her father's house — and at e…" | | 1 | "There were nine of them, or there had been nine the last time Isolde had brought her here in daylight, their surfaces furred with lichen and carved with shapes …" | | 2 | "The moonlight caught the grain of the wood in a way that made it seem less like bark and more like something stretched taut over bone, and between two of them s…" | | 3 | "Not gradually — it arrived all at once, the way a hand closes, and the air went from London autumn to something older and damper, a wet sweetness that coated th…" | | 4 | "She told herself this firmly, the way her mother had taught her to speak to the classroom when the year-eights got loud: with the flat, unhurried certainty of s…" | | 5 | "She kept her eyes on the grey stone and felt the Heartstone surge against her ribs, a quick hot pulse that was nothing like a heartbeat and everything like an a…" | | 6 | "She stood very still in the centre of the clearing with the pendant burning a hole in her sternum and listened to her own voice tell a story she had never told,…" | | 7 | "It settled on her shoulders, on the backs of her hands, on the wet grass around her ankles, and the wildflowers went very still — every stem, every head, arrest…" | | 8 | "The warmth left it the way the temperature had left the air, all at once, and in its place was a small dense ache, and Rory understood, with the part of her tha…" | | 9 | "It was the stone keeping pace with something, and the thing it had been pacing was now very close, and it had stopped, and so the stone had stopped, and the cle…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 3 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |