| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 109 | | tagDensity | 0.165 | | leniency | 0.33 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 92.23% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1931 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 87.05% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1931 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "familiar" | | 1 | "eyebrow" | | 2 | "flickered" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 164 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 164 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 255 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 65 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1930 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 34 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.19% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 58 | | wordCount | 1422 | | uniqueNames | 13 | | maxNameDensity | 1.34 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Raven | 2 | | Nest | 2 | | Yu-Fei | 2 | | Soho | 1 | | Silas | 10 | | Blackwood | 1 | | One | 1 | | Rory | 3 | | Cantonese | 1 | | Aurora | 19 | | Daniel | 14 | | Cardiff | 1 | | University | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Yu-Fei" | | 3 | "Silas" | | 4 | "Blackwood" | | 5 | "Rory" | | 6 | "Aurora" | | 7 | "Daniel" |
| | places | | 0 | "Soho" | | 1 | "One" | | 2 | "Cantonese" | | 3 | "Cardiff" |
| | globalScore | 0.832 | | windowScore | 0.833 | |
| 71.88% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 96 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like someone who had spent years a" | | 1 | "seemed poised between departure and arrival, belonging to neither" | | 2 | "sounded like a verdict he still had the au" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.518 | | wordCount | 1930 | | matches | | 0 | "not the monster she had made him into, nor the wounded man he wanted to be, but an ordinary person who had done terrible things" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 255 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 166 | | mean | 11.63 | | std | 14.08 | | cv | 1.211 | | sampleLengths | | 0 | 14 | | 1 | 40 | | 2 | 43 | | 3 | 3 | | 4 | 47 | | 5 | 9 | | 6 | 4 | | 7 | 1 | | 8 | 3 | | 9 | 2 | | 10 | 8 | | 11 | 49 | | 12 | 7 | | 13 | 6 | | 14 | 6 | | 15 | 5 | | 16 | 44 | | 17 | 6 | | 18 | 12 | | 19 | 2 | | 20 | 1 | | 21 | 32 | | 22 | 10 | | 23 | 5 | | 24 | 69 | | 25 | 30 | | 26 | 4 | | 27 | 1 | | 28 | 9 | | 29 | 19 | | 30 | 4 | | 31 | 7 | | 32 | 14 | | 33 | 14 | | 34 | 6 | | 35 | 9 | | 36 | 9 | | 37 | 8 | | 38 | 20 | | 39 | 31 | | 40 | 16 | | 41 | 5 | | 42 | 8 | | 43 | 1 | | 44 | 7 | | 45 | 5 | | 46 | 2 | | 47 | 3 | | 48 | 28 | | 49 | 10 |
| |
| 94.57% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 164 | | matches | | 0 | "been blurred" | | 1 | "being seen" | | 2 | "was gone" | | 3 | "being refused" | | 4 | "being drawn" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 259 | | matches | | 0 | "was listening" | | 1 | "was wiping" |
| |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 2 | | flaggedSentences | 3 | | totalSentences | 255 | | ratio | 0.012 | | matches | | 0 | "The sign blinked RAVEN’S N—then went dark, then returned in a sickly green wash that made the wet pavement look submerged." | | 1 | "Aurora felt the old coldness arrive—not fear, exactly." | | 2 | "For one second she saw the old shape of him overlaid on the new: the boy who had kissed her under the stone archway at Cardiff University; the man who had stood in her doorway with his fists clenched at his sides; the stranger in the wool coat whose hand hovered in the air because even he understood that touching her would be a mistake." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1428 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 52 | | adverbRatio | 0.036414565826330535 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.0070028011204481795 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 255 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 255 | | mean | 7.57 | | std | 6.95 | | cv | 0.919 | | sampleLengths | | 0 | 14 | | 1 | 19 | | 2 | 21 | | 3 | 9 | | 4 | 15 | | 5 | 19 | | 6 | 3 | | 7 | 4 | | 8 | 11 | | 9 | 21 | | 10 | 11 | | 11 | 9 | | 12 | 4 | | 13 | 1 | | 14 | 3 | | 15 | 2 | | 16 | 6 | | 17 | 2 | | 18 | 11 | | 19 | 11 | | 20 | 27 | | 21 | 5 | | 22 | 2 | | 23 | 6 | | 24 | 6 | | 25 | 5 | | 26 | 8 | | 27 | 21 | | 28 | 15 | | 29 | 6 | | 30 | 12 | | 31 | 2 | | 32 | 1 | | 33 | 5 | | 34 | 10 | | 35 | 5 | | 36 | 12 | | 37 | 10 | | 38 | 5 | | 39 | 12 | | 40 | 17 | | 41 | 17 | | 42 | 8 | | 43 | 15 | | 44 | 9 | | 45 | 7 | | 46 | 14 | | 47 | 4 | | 48 | 1 | | 49 | 9 |
| |
| 46.47% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.2627450980392157 | | totalSentences | 255 | | uniqueOpeners | 67 | |
| 47.62% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 140 | | matches | | 0 | "Then the man at the" | | 1 | "Then the light failed, and" |
| | ratio | 0.014 | |
| 91.43% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 45 | | totalSentences | 140 | | matches | | 0 | "She should have gone around" | | 1 | "His hazel eyes found the" | | 2 | "Her straight black hair clung" | | 3 | "He shifted aside with his" | | 4 | "It was a small movement," | | 5 | "She looked toward the voice." | | 6 | "He had one hand around" | | 7 | "His hair, once thick and" | | 8 | "He wore a dark wool" | | 9 | "His face had altered in" | | 10 | "His eyes seemed set farther" | | 11 | "He smiled, and the expression" | | 12 | "His hand rested on the" | | 13 | "His gaze dropped to the" | | 14 | "He looked down at his" | | 15 | "She placed the containers carefully" | | 16 | "She drank half of it" | | 17 | "She set the glass down." | | 18 | "His jaw tightened." | | 19 | "He did not look at" |
| | ratio | 0.321 | |
| 38.57% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 118 | | totalSentences | 140 | | matches | | 0 | "The green neon above the" | | 1 | "Aurora noticed it from across" | | 2 | "The sign blinked RAVEN’S N—then" | | 3 | "She should have gone around" | | 4 | "Silas hated delivery people tracking" | | 5 | "Aurora pushed inside." | | 6 | "Heat folded around her." | | 7 | "Beer, old wood, fried garlic," | | 8 | "Maps crowded the walls beside" | | 9 | "His hazel eyes found the" | | 10 | "Aurora set the bag on" | | 11 | "Her straight black hair clung" | | 12 | "The crescent scar on her" | | 13 | "Silas reached for the receipt." | | 14 | "He shifted aside with his" | | 15 | "It was a small movement," | | 16 | "Silas moved like a man" | | 17 | "Aurora lifted the bag and" | | 18 | "The room did not change." | | 19 | "The music continued, a blues" |
| | ratio | 0.843 | |
| 35.71% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 140 | | matches | | 0 | "Even now, with the tired" |
| | ratio | 0.007 | |
| 75.47% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 53 | | technicalSentenceCount | 5 | | matches | | 0 | "The sign blinked RAVEN’S N—then went dark, then returned in a sickly green wash that made the wet pavement look submerged." | | 1 | "His eyes seemed set farther back, as if they had retreated from the world." | | 2 | "Memory became the sound of a key turning in the lock at midnight, a glass striking the wall beside her head, his voice lowering into something calm and precise …" | | 3 | "For one second she saw the old shape of him overlaid on the new: the boy who had kissed her under the stone archway at Cardiff University; the man who had stood…" | | 4 | "For the first time, she saw not the monster she had made him into, nor the wounded man he wanted to be, but an ordinary person who had done terrible things and …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 18 | | fancyCount | 1 | | fancyTags | | 0 | "She continued (continue)" |
| | dialogueSentences | 109 | | tagDensity | 0.165 | | leniency | 0.33 | | rawRatio | 0.056 | | effectiveRatio | 0.018 | |