| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 44 | | tagDensity | 0.455 | | leniency | 0.909 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 90.10% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2021 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slightly" | | 1 | "slowly" | | 2 | "softly" | | 3 | "suddenly" |
| |
| 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) | |
| 65.36% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2021 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "weight" | | 1 | "grave" | | 2 | "crystal" | | 3 | "footsteps" | | 4 | "comforting" | | 5 | "unspoken" | | 6 | "silence" | | 7 | "aligned" | | 8 | "flickered" | | 9 | "racing" |
| |
| 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 | 113 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 113 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 136 | | 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 | 0 | | markdownWords | 0 | | totalWords | 2010 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 26 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1582 | | uniqueNames | 24 | | maxNameDensity | 0.25 | | worstName | "Silas" | | maxWindowNameDensity | 1 | | worstWindowName | "Cardiff" | | discoveredNames | | Raven | 1 | | Nest | 1 | | November | 1 | | Soho | 1 | | Carter | 3 | | Yu-Fei | 1 | | Cheung | 1 | | Golden | 1 | | Empress | 1 | | Sichuan | 2 | | Cardiff | 3 | | Viking | 1 | | Rory | 1 | | Blackwood | 1 | | Welsh | 2 | | English | 1 | | Roman | 1 | | London | 2 | | Brendan | 1 | | Irish | 1 | | Pre-Law | 1 | | Evan | 3 | | Silas | 4 | | Jennifer | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Carter" | | 3 | "Yu-Fei" | | 4 | "Cheung" | | 5 | "Rory" | | 6 | "Blackwood" | | 7 | "Roman" | | 8 | "Brendan" | | 9 | "Evan" | | 10 | "Silas" | | 11 | "Jennifer" |
| | places | | 0 | "Soho" | | 1 | "Sichuan" | | 2 | "Cardiff" | | 3 | "Welsh" | | 4 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 0.995 | | wordCount | 2010 | | matches | | 0 | "not dramatically, but in the small accumulated ways of a man who had used them for" | | 1 | "not equals in experience, but they were suddenly aligned in regret" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 136 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 52 | | mean | 38.65 | | std | 36.6 | | cv | 0.947 | | sampleLengths | | 0 | 129 | | 1 | 91 | | 2 | 18 | | 3 | 109 | | 4 | 5 | | 5 | 86 | | 6 | 3 | | 7 | 58 | | 8 | 3 | | 9 | 86 | | 10 | 6 | | 11 | 1 | | 12 | 34 | | 13 | 81 | | 14 | 7 | | 15 | 10 | | 16 | 61 | | 17 | 14 | | 18 | 40 | | 19 | 5 | | 20 | 28 | | 21 | 124 | | 22 | 4 | | 23 | 3 | | 24 | 79 | | 25 | 6 | | 26 | 2 | | 27 | 16 | | 28 | 62 | | 29 | 84 | | 30 | 30 | | 31 | 49 | | 32 | 2 | | 33 | 13 | | 34 | 66 | | 35 | 12 | | 36 | 10 | | 37 | 12 | | 38 | 52 | | 39 | 58 | | 40 | 112 | | 41 | 41 | | 42 | 12 | | 43 | 16 | | 44 | 58 | | 45 | 6 | | 46 | 1 | | 47 | 36 | | 48 | 30 | | 49 | 12 |
| |
| 92.84% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 113 | | matches | | 0 | "been steeped" | | 1 | "been overthrown" | | 2 | "was fated" | | 3 | "been mistaken" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 251 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 3 | | flaggedSentences | 9 | | totalSentences | 136 | | ratio | 0.066 | | matches | | 0 | "Old maps papered the walls—cartographies of cities that had since changed their names or their allegiances—framed by black-and-white photographs of strangers whose faces had hardened into the permanent masks of mid-century elegance." | | 1 | "The auburn hair she remembered had been overthrown by grey; it swept back from his temples and continued into a neatly trimmed beard that gave his face the gravity of a magistrate." | | 2 | "She watched him perform the arithmetic of recognition—her height, five-six against his six-one; the straight black hair that now stopped sharp at her shoulders instead of falling to her waist; the bright blue eyes that had, in her father's house in Cardiff, once been the subject of tedious family jokes about Viking blood." | | 3 | "He moved from behind the bar, and she saw the damage immediately—a hitch in his left leg, a fractional hesitation before he committed his weight, as though the limb were negotiating terms with the rest of his body." | | 4 | "Silas Blackwood had been whole then, or had seemed so—a man in a linen suit who spoke to her mother in Welsh and to her father in the clipped, adversarial English of men who understood the weight of an oath." | | 5 | "She looked at the maps—all those red lines drawn between ports and capitals, all those pinpricks in paper countries—and thought of networks, contacts, the invisible architecture of intelligence." | | 6 | "Up close, she saw that his hands were marked too—not dramatically, but in the small accumulated ways of a man who had used them for difficult, precise things." | | 7 | "They were not equals in experience, but they were suddenly aligned in regret—the regret of lives that had departed from their charted courses, of silences that had been mistaken for kindness, of the ordinary cruelty of time that refused to slow for reconsideration." | | 8 | "But she paused on the landing, her hand still on the rail, and listened to the room below—the clink of glass against wood, the soft, uneven shuffle of a man with a ruined knee moving through a room full of strangers and old geography, the sound of time settling like dust on every surface it had not yet claimed." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1610 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 51 | | adverbRatio | 0.031677018633540374 | | lyAdverbCount | 23 | | lyAdverbRatio | 0.014285714285714285 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 136 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 136 | | mean | 14.78 | | std | 12.65 | | cv | 0.856 | | sampleLengths | | 0 | 27 | | 1 | 34 | | 2 | 33 | | 3 | 7 | | 4 | 11 | | 5 | 17 | | 6 | 4 | | 7 | 11 | | 8 | 20 | | 9 | 32 | | 10 | 24 | | 11 | 18 | | 12 | 10 | | 13 | 29 | | 14 | 32 | | 15 | 5 | | 16 | 33 | | 17 | 5 | | 18 | 19 | | 19 | 14 | | 20 | 53 | | 21 | 3 | | 22 | 2 | | 23 | 2 | | 24 | 16 | | 25 | 38 | | 26 | 3 | | 27 | 5 | | 28 | 7 | | 29 | 38 | | 30 | 3 | | 31 | 24 | | 32 | 3 | | 33 | 6 | | 34 | 6 | | 35 | 1 | | 36 | 34 | | 37 | 2 | | 38 | 8 | | 39 | 40 | | 40 | 9 | | 41 | 22 | | 42 | 7 | | 43 | 8 | | 44 | 2 | | 45 | 5 | | 46 | 14 | | 47 | 20 | | 48 | 4 | | 49 | 18 |
| |
| 42.65% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 17 | | diversityRatio | 0.33088235294117646 | | totalSentences | 136 | | uniqueOpeners | 45 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 93 | | matches | | 0 | "Then he looked at her." | | 1 | "Simply a request for coordinates." | | 2 | "Somewhere beneath the floorboards, the" |
| | ratio | 0.032 | |
| 13.55% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 48 | | totalSentences | 93 | | matches | | 0 | "She had told herself it" | | 1 | "She had told herself the" | | 2 | "She pushed the door." | | 3 | "She knew the shape of" | | 4 | "He was still tall, six" | | 5 | "It lived in the set" | | 6 | "His eyes were hazel, the" | | 7 | "She watched him perform the" | | 8 | "Her left hand twitched, fingers" | | 9 | "He set the glass down." | | 10 | "He moved from behind the" | | 11 | "She had heard her father" | | 12 | "He had brought her a" | | 13 | "She had thought him impossibly" | | 14 | "He gestured to the bar" | | 15 | "She slid onto a stool." | | 16 | "Her own body ached from" | | 17 | "She did not drink." | | 18 | "She watched the amber liquid" | | 19 | "It was not a question." |
| | ratio | 0.516 | |
| 56.77% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 75 | | totalSentences | 93 | | matches | | 0 | "The green neon above The" | | 1 | "Aurora Carter stood beneath it" | | 2 | "She had told herself it" | | 3 | "She had told herself the" | | 4 | "She pushed the door." | | 5 | "The hinges made a sound" | | 6 | "The smell was malt vinegar," | | 7 | "She knew the shape of" | | 8 | "He was still tall, six" | | 9 | "The auburn hair she remembered" | | 10 | "It lived in the set" | | 11 | "His eyes were hazel, the" | | 12 | "She watched him perform the" | | 13 | "The full name, freighted with" | | 14 | "Her left hand twitched, fingers" | | 15 | "He set the glass down." | | 16 | "The sound was definitive, a" | | 17 | "He moved from behind the" | | 18 | "Prague, she thought." | | 19 | "She had heard her father" |
| | ratio | 0.806 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 93 | | matches | | 0 | "Because she had not told" | | 1 | "Because the last conversation with" |
| | ratio | 0.022 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 54 | | technicalSentenceCount | 11 | | matches | | 0 | "Old maps papered the walls—cartographies of cities that had since changed their names or their allegiances—framed by black-and-white photographs of strangers wh…" | | 1 | "The auburn hair she remembered had been overthrown by grey; it swept back from his temples and continued into a neatly trimmed beard that gave his face the grav…" | | 2 | "It lived in the set of his shoulders, in the patient economy of his movements, in the silver signet ring on his right hand that caught the light as he turned th…" | | 3 | "She watched him perform the arithmetic of recognition—her height, five-six against his six-one; the straight black hair that now stopped sharp at her shoulders …" | | 4 | "He moved from behind the bar, and she saw the damage immediately—a hitch in his left leg, a fractional hesitation before he committed his weight, as though the …" | | 5 | "Silas Blackwood had been whole then, or had seemed so—a man in a linen suit who spoke to her mother in Welsh and to her father in the clipped, adversarial Engli…" | | 6 | "Up close, she saw that his hands were marked too—not dramatically, but in the small accumulated ways of a man who had used them for difficult, precise things." | | 7 | "They were not equals in experience, but they were suddenly aligned in regret—the regret of lives that had departed from their charted courses, of silences that …" | | 8 | "They were two people who had once believed in straightforward trajectories, sitting in a room that existed specifically for the purpose of admitting that no tra…" | | 9 | "Yet Silas looked at her with the kind of attention that made hiding feel theatrical, a waste of good light and expensive whiskey." | | 10 | "At the top, her flat waited with its knocking radiator and its single window overlooking the alley, its lock that turned with a satisfying finality." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 1 | | matches | | 0 | "She gestured, the bottles, the photographs" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 15 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 44 | | tagDensity | 0.341 | | leniency | 0.682 | | rawRatio | 0 | | effectiveRatio | 0 | |