| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 13 | | tagDensity | 0.615 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.33% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2141 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 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) | |
| 67.30% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2141 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "pulsed" | | 1 | "pulse" | | 2 | "silence" | | 3 | "warmth" | | 4 | "chill" | | 5 | "comforting" | | 6 | "could feel" | | 7 | "silk" | | 8 | "whisper" | | 9 | "glint" | | 10 | "trembled" |
| |
| 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 | 1 | | narrationSentences | 116 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 116 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 121 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 63 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2158 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 54 | | wordCount | 2022 | | uniqueNames | 16 | | maxNameDensity | 0.74 | | worstName | "Aurora" | | maxWindowNameDensity | 1 | | worstWindowName | "Aurora" | | discoveredNames | | London | 3 | | Golden | 1 | | Empress | 1 | | Heartstone | 5 | | Shade | 4 | | Aurora | 15 | | Fae-Forged | 1 | | Blade | 1 | | Isolde | 7 | | Helborn | 1 | | Christmas | 1 | | Nyx | 8 | | Evan | 2 | | Veil | 2 | | Silas | 1 | | Carter | 1 |
| | persons | | 0 | "Empress" | | 1 | "Heartstone" | | 2 | "Shade" | | 3 | "Aurora" | | 4 | "Blade" | | 5 | "Isolde" | | 6 | "Helborn" | | 7 | "Nyx" | | 8 | "Evan" | | 9 | "Silas" | | 10 | "Carter" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 56.54% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 107 | | glossingSentenceCount | 4 | | matches | | 0 | "as if sampling warmth" | | 1 | "as if stating the obvious might persuade it otherwise" | | 2 | "as if remembering how it had been hurt" | | 3 | "felt like justice" |
| |
| 14.64% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 1.854 | | wordCount | 2158 | | matches | | 0 | "not sky but a slab of warm amber, hung low" | | 1 | "not like the friendly clink of drinkers in the bar above but the long, drawn-out laugh of someone tasting too much" | | 2 | "Not by winter's hand, but by hunger" | | 3 | "not as a seam but as a ripple in the world: a shimmer in the corner of the cou" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 121 | | matches | | |
| 81.24% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 74.41 | | std | 32.32 | | cv | 0.434 | | sampleLengths | | 0 | 109 | | 1 | 71 | | 2 | 76 | | 3 | 58 | | 4 | 110 | | 5 | 36 | | 6 | 96 | | 7 | 135 | | 8 | 95 | | 9 | 80 | | 10 | 63 | | 11 | 96 | | 12 | 126 | | 13 | 59 | | 14 | 52 | | 15 | 103 | | 16 | 74 | | 17 | 79 | | 18 | 93 | | 19 | 18 | | 20 | 97 | | 21 | 82 | | 22 | 59 | | 23 | 23 | | 24 | 107 | | 25 | 21 | | 26 | 2 | | 27 | 84 | | 28 | 54 |
| |
| 93.16% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 116 | | matches | | 0 | "been stripped" | | 1 | "been designed" | | 2 | "been called" | | 3 | "been stitched" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 331 | | matches | | 0 | "was like walking" | | 1 | "was like listening" | | 2 | "was accounting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 6 | | flaggedSentences | 16 | | totalSentences | 121 | | ratio | 0.132 | | matches | | 0 | "One step beyond the threshold and the London damp — the cold brick, the oily lamplight, the smell of frying oil from the Golden Empress — slid away." | | 1 | "It hit first as sweetness — candied citrus, caramelized sugar — and then undercut with something thicker, animal and raw, the musk of butchered meat and citrus rind." | | 2 | "When a breeze moved — and here the air moved differently, reluctant to hurry — the fruit chimed, a soft ringing like a spoon against bone." | | 3 | "Isolde's hands were cold and certain; the blade had taken the cold from her palms and kept it." | | 4 | "Some cooks were Helborn — shapes that were almost human, skin tight and papery over bones, mouths stained deep like calligraphy ink." | | 5 | "Others were mortals whose eyes had been stripped of something when they signed papers nobody read aloud; they worked with the kind of reverence a monk keeps for scripture." | | 6 | "The feast there was a living thing; plates tilted and refilled themselves, a river of wine flowed without source and lapped at the feet of bronze statues that were all mouth and no eyes." | | 7 | "A man — or something wearing a man's skin — extended a dish towards Aurora." | | 8 | "She found herself thinking of people she knew, of debts and of bargaining: her father with his briefs piled like small, sterile hills; her mother who used to teach grammar to unruly children; the flat above Silas' bar where her evenings smelled like beer and old wood." | | 9 | "Statues of angels — or something that had been called angels once — licked at the syrup with stone tongues and their faces were too patient." | | 10 | "The Veil was cosmological, academic — a barrier, a thing that hid in textbooks." | | 11 | "Between two crates, a glint of paper caught the light — a strip of ledger cold as bone." | | 12 | "She saw a name and felt the world tilt — a name she'd glimpsed before in a bar on a postcard, a hand-written thing Silas had left on the counter that said \"Remember to lock the back.\" She saw a string of names that might have been people she loved and then couldn't place, as if they were memories laid out for sale." | | 13 | "It was not music; it was accounting." | | 14 | "She thought of Isolde's riddle and of the other riddle that had been stitched into it — choices." | | 15 | "This was smaller — a refusal to be accounted for without her say." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 991 | | adjectiveStacks | 1 | | stackExamples | | 0 | "slender, leaf-shaped dagger" |
| | adverbCount | 28 | | adverbRatio | 0.028254288597376387 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.007063572149344097 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 121 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 121 | | mean | 17.83 | | std | 9.83 | | cv | 0.551 | | sampleLengths | | 0 | 20 | | 1 | 28 | | 2 | 24 | | 3 | 37 | | 4 | 12 | | 5 | 18 | | 6 | 22 | | 7 | 6 | | 8 | 13 | | 9 | 15 | | 10 | 17 | | 11 | 15 | | 12 | 29 | | 13 | 4 | | 14 | 28 | | 15 | 26 | | 16 | 17 | | 17 | 19 | | 18 | 20 | | 19 | 26 | | 20 | 8 | | 21 | 20 | | 22 | 19 | | 23 | 10 | | 24 | 7 | | 25 | 13 | | 26 | 21 | | 27 | 18 | | 28 | 15 | | 29 | 29 | | 30 | 7 | | 31 | 17 | | 32 | 16 | | 33 | 22 | | 34 | 29 | | 35 | 44 | | 36 | 19 | | 37 | 34 | | 38 | 15 | | 39 | 27 | | 40 | 22 | | 41 | 8 | | 42 | 23 | | 43 | 17 | | 44 | 5 | | 45 | 5 | | 46 | 15 | | 47 | 9 | | 48 | 39 | | 49 | 1 |
| |
| 52.89% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.39669421487603307 | | totalSentences | 121 | | uniqueOpeners | 48 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 113 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 113 | | matches | | 0 | "She had carried the pendant" | | 1 | "It had never acted like" | | 2 | "She did smell it." | | 3 | "It hit first as sweetness" | | 4 | "They stood on a terrace" | | 5 | "You could have believed, for" | | 6 | "It did not belong in" | | 7 | "They moved because the place" | | 8 | "she said, because she had" | | 9 | "Her voice felt small, but" | | 10 | "She thought of Evan, of" | | 11 | "She had left that habit" | | 12 | "She found herself thinking of" | | 13 | "She did not like the" | | 14 | "They pushed deeper, away from" | | 15 | "It thrummed against the soles" | | 16 | "She'd read about it in" | | 17 | "She could see the boundary" | | 18 | "You will know a place" | | 19 | "She went towards it because" |
| | ratio | 0.257 | |
| 39.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 95 | | totalSentences | 113 | | matches | | 0 | "The door in the cellar" | | 1 | "Aurora's lungs filled with a" | | 2 | "The Heartstone at her throat" | | 3 | "The deep crimson gem pulsed" | | 4 | "She had carried the pendant" | | 5 | "It had never acted like" | | 6 | "Nyx asked, their voice a" | | 7 | "The Shade hovered at her" | | 8 | "She did smell it." | | 9 | "It hit first as sweetness" | | 10 | "Laughter undulated through the air," | | 11 | "They stood on a terrace" | | 12 | "The vines climbed as if" | | 13 | "Grapes the size of small" | | 14 | "Nectar ran down the vines" | | 15 | "You could have believed, for" | | 16 | "Nyx whispered, as if stating" | | 17 | "The voice carried like a" | | 18 | "Aurora kept her hand on" | | 19 | "The Fae-Forged Blade was a" |
| | ratio | 0.841 | |
| 44.25% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 113 | | matches | | 0 | "Even now, tucked into its" |
| | ratio | 0.009 | |
| 52.55% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 87 | | technicalSentenceCount | 11 | | matches | | 0 | "Aurora's lungs filled with a thick, warm air that tasted of honey and smoke and something older, like a story remembered by someone's tongue." | | 1 | "Above them the sky was not sky but a slab of warm amber, hung low and impossibly close, as though a giant had held a glass of dawn over the place and refused to…" | | 2 | "The Fae-Forged Blade was a slender, leaf-shaped dagger that had rested in a ribboned cloth when Isolde gave it to her." | | 3 | "Platters carried meats that steamed and shaped themselves into memories: a childhood Christmas Aurora could not remember with absolute clarity, a laugh from a g…" | | 4 | "The idea of accounts in a place of feast twisted something in Aurora that was practical and small." | | 5 | "They pushed deeper, away from the polished banquet halls and into a courtyard that had been designed by someone who believed in excess as ornament." | | 6 | "It thrummed against the soles of her shoes and moved along the scar on her wrist until she could feel the old crescent ache as if remembering how it had been hu…" | | 7 | "It was pure cold, and when she drew it the world answered: the air hiccuped as if surprised by moonlight in noon." | | 8 | "The blade's edge made a neat, ceremonial cut through a gilded ribbon that had been strung across a doorway like a ceremony incomplete." | | 9 | "The Heartstone erupted against her chest with a heat that blurred her vision." | | 10 | "Aurora thought about the bar above, about delivery routes and the careful geometry of a life that fit into small, well-lit boxes." |
| |
| 62.50% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 1 | | matches | | 0 | "Nyx whispered, as if stating the obvious might persuade it otherwise" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "Nyx whispered (whisper)" | | 1 | "Nyx murmured (murmur)" |
| | dialogueSentences | 13 | | tagDensity | 0.385 | | leniency | 0.769 | | rawRatio | 0.4 | | effectiveRatio | 0.308 | |