| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 2 | | adverbTags | | 0 | "Nyx said sharply [sharply]" | | 1 | "Rory said quietly [quietly]" |
| | dialogueSentences | 45 | | tagDensity | 0.422 | | leniency | 0.844 | | rawRatio | 0.105 | | effectiveRatio | 0.089 | |
| 74.57% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1573 | | totalAiIsmAdverbs | 8 | | found | | | highlights | | 0 | "completely" | | 1 | "very" | | 2 | "gently" | | 3 | "sharply" | | 4 | "carefully" |
| |
| 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) | |
| 84.11% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1573 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "flickered" | | 1 | "weight" | | 2 | "warmth" | | 3 | "throb" | | 4 | "whisper" |
| |
| 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 | 103 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 103 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 127 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 61 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 27 | | totalWords | 1584 | | ratio | 0.017 | | matches | | 0 | "When the frost sets, come to the King's place, where the deer forget to be afraid. Bring your shadow and your appetite." | | 1 | "thinking about" | | 2 | "stopped" | | 3 | "breath" | | 4 | "sky" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 97.37% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1330 | | uniqueNames | 11 | | maxNameDensity | 1.05 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 14 | | Isolde | 2 | | Golden | 1 | | Empress | 1 | | November | 1 | | King | 1 | | Richmond | 2 | | Park | 1 | | Nyx | 11 | | December | 1 | | London | 1 |
| | persons | | | places | | 0 | "King" | | 1 | "Richmond" | | 2 | "Park" | | 3 | "December" | | 4 | "London" |
| | globalScore | 0.974 | | windowScore | 1 | |
| 71.88% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 64 | | glossingSentenceCount | 2 | | matches | | 0 | "something like a held chord on a cello, a no" | | 1 | "not quite making contact" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1584 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 127 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 55 | | mean | 28.8 | | std | 28.73 | | cv | 0.997 | | sampleLengths | | 0 | 21 | | 1 | 100 | | 2 | 5 | | 3 | 68 | | 4 | 29 | | 5 | 19 | | 6 | 43 | | 7 | 28 | | 8 | 6 | | 9 | 62 | | 10 | 25 | | 11 | 13 | | 12 | 12 | | 13 | 115 | | 14 | 3 | | 15 | 89 | | 16 | 6 | | 17 | 13 | | 18 | 22 | | 19 | 13 | | 20 | 32 | | 21 | 7 | | 22 | 28 | | 23 | 79 | | 24 | 4 | | 25 | 48 | | 26 | 1 | | 27 | 22 | | 28 | 14 | | 29 | 15 | | 30 | 6 | | 31 | 1 | | 32 | 28 | | 33 | 92 | | 34 | 3 | | 35 | 9 | | 36 | 12 | | 37 | 32 | | 38 | 4 | | 39 | 96 | | 40 | 12 | | 41 | 4 | | 42 | 49 | | 43 | 52 | | 44 | 13 | | 45 | 4 | | 46 | 1 | | 47 | 69 | | 48 | 6 | | 49 | 36 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 103 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 208 | | matches | | 0 | "were tidying" | | 1 | "was pulsing " |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 2 | | flaggedSentences | 12 | | totalSentences | 127 | | ratio | 0.094 | | matches | | 0 | "She'd come at Isolde's instruction — three days after the seer had appeared in the alley behind the Golden Empress, silver hair damp with November drizzle, leaving no prints in the wet grime while Rory stood there holding a bag of prawn crackers like an idiot." | | 1 | "Yu-Fei's nephew's borrowed torch flickered in her hand and she switched it off; there was more light here than the grey afternoon deserved." | | 2 | "\"I've read the folk stories.\" She checked, without meaning to, the weight at her hip — the leaf-shaped dagger Isolde had pressed into her hands last spring, sheathed in leather she'd bought from a market stall and cut down herself." | | 3 | "Not gradually — it simply stopped, as though she'd walked out of a walk-in freezer into a kitchen." | | 4 | "The grove opened before her — wider than the ring of oaks had any right to contain, a clearing that sloped gently down to a stream and up again to a wall of trees she had no names for." | | 5 | "The grass gave underfoot with a strange springiness, and Rory noticed after twenty paces that it rose again behind her — no crushed trail, no bent stems." | | 6 | "The crimson stone sat in her palm, thumbnail-sized, and it was pulsing — slow, steady, a warmth like a mouthful of tea." | | 7 | "One had what looked unmistakably like a cat, badly drawn, and she laughed out loud before she could stop herself — a delighted, startled bark of a laugh — and the sound went out across the grove and came back to her three seconds later, but changed." | | 8 | "Or it had been — a long slab of grey stone, cracked down the middle, veined through with moss and small purple flowers." | | 9 | "Not rotted; *stopped*." | | 10 | "And at the far end, where the stone was cracked, a tenth place — no cup, no impression." | | 11 | "\"The light. It's gone amber.\" She turned in a slow circle, and the honey had deepened, all across the grove, into something richer and older, the colour of a sky she had only ever seen once and never wanted to see again — a sky over sprawling vineyards, over orchards heavy to the point of obscenity, over kitchens the size of cathedrals." |
| |
| 88.93% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1332 | | adjectiveStacks | 1 | | stackExamples | | 0 | "soft honey-coloured seep" |
| | adverbCount | 61 | | adverbRatio | 0.0457957957957958 | | lyAdverbCount | 21 | | lyAdverbRatio | 0.015765765765765764 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 127 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 127 | | mean | 12.47 | | std | 11.81 | | cv | 0.947 | | sampleLengths | | 0 | 21 | | 1 | 46 | | 2 | 16 | | 3 | 38 | | 4 | 5 | | 5 | 7 | | 6 | 52 | | 7 | 9 | | 8 | 20 | | 9 | 9 | | 10 | 3 | | 11 | 11 | | 12 | 4 | | 13 | 1 | | 14 | 23 | | 15 | 20 | | 16 | 3 | | 17 | 25 | | 18 | 6 | | 19 | 40 | | 20 | 7 | | 21 | 5 | | 22 | 10 | | 23 | 9 | | 24 | 16 | | 25 | 8 | | 26 | 5 | | 27 | 12 | | 28 | 3 | | 29 | 18 | | 30 | 3 | | 31 | 33 | | 32 | 14 | | 33 | 9 | | 34 | 35 | | 35 | 3 | | 36 | 39 | | 37 | 30 | | 38 | 7 | | 39 | 13 | | 40 | 6 | | 41 | 12 | | 42 | 1 | | 43 | 12 | | 44 | 10 | | 45 | 10 | | 46 | 3 | | 47 | 18 | | 48 | 14 | | 49 | 7 |
| |
| 67.19% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.4409448818897638 | | totalSentences | 127 | | uniqueOpeners | 56 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 89 | | matches | | 0 | "Then the other sounds arrived" | | 1 | "Just a wide, clean scorch" | | 2 | "Somewhere down by the water," |
| | ratio | 0.034 | |
| 76.18% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 89 | | matches | | 0 | "She'd come at Isolde's instruction" | | 1 | "They had taken solid form" | | 2 | "Their eyes cast faint violet" | | 3 | "She could, actually." | | 4 | "She rubbed her jaw." | | 5 | "It came from between the" | | 6 | "She checked, without meaning to," | | 7 | "It was cold through her" | | 8 | "She was proud of that." | | 9 | "She stepped between the third" | | 10 | "Her ears popped." | | 11 | "It came the way light" | | 12 | "She froze with her foot" | | 13 | "Their form had thinned at" | | 14 | "They did not elaborate, and" | | 15 | "They went down towards the" | | 16 | "She glanced back at the" | | 17 | "Her chest was warm." | | 18 | "She stopped and pulled the" | | 19 | "They came back." |
| | ratio | 0.36 | |
| 94.83% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 65 | | totalSentences | 89 | | matches | | 0 | "The oaks stood in a" | | 1 | "She'd come at Isolde's instruction" | | 2 | "They had taken solid form" | | 3 | "Their eyes cast faint violet" | | 4 | "Nyx said at last, and" | | 5 | "She could, actually." | | 6 | "A pressure behind her molars," | | 7 | "She rubbed her jaw." | | 8 | "Yu-Fei's nephew's borrowed torch flickered" | | 9 | "It came from between the" | | 10 | "She checked, without meaning to," | | 11 | "It was cold through her" | | 12 | "Nyx made a sound that" | | 13 | "Rory did not look at" | | 14 | "She was proud of that." | | 15 | "She stepped between the third" | | 16 | "The cold went." | | 17 | "Her ears popped." | | 18 | "The traffic-hum of the A308" | | 19 | "The grove opened before her" |
| | ratio | 0.73 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 89 | | matches | | 0 | "As if the grove were" | | 1 | "As though the place had" |
| | ratio | 0.022 | |
| 3.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 7 | | matches | | 0 | "They had taken solid form for the walk from the car park, which meant they looked, to any passing dog-walker, like an unnervingly tall man in a coat too thin fo…" | | 1 | "It came from between the standing oaks, a soft honey-coloured seep that had no business existing in Richmond in December." | | 2 | "The traffic-hum of the A308 that had been threading beneath everything, that low London tinnitus she'd stopped noticing three years ago, vanished so completely …" | | 3 | "And under it, so low she felt it in her sternum rather than heard it, something like a held chord on a cello, a note that had been going on for a very long time…" | | 4 | "She glanced back at the standing stones and they were further away than twenty paces should have made them, and also somehow at the same angle, as though the wh…" | | 5 | "It kept beating against her collarbone like a second small heart, and she decided not to think about it, which lasted about eleven seconds." | | 6 | "Fruit she'd never seen, some of it split open to show flesh like garnet, some of it whole and glossy and beaded with condensation as though set down five minute…" |
| |
| 72.37% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 2 | | matches | | 0 | "Nyx said, and the word came the way their words always came, like breath through a keyhole" | | 1 | "Nyx hovered, not quite making contact" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 45 | | tagDensity | 0.178 | | leniency | 0.356 | | rawRatio | 0 | | effectiveRatio | 0 | |