| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 91.52% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1179 | | totalAiIsmAdverbs | 2 | | 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) | |
| 23.66% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1179 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "tracing" | | 1 | "weight" | | 2 | "scanned" | | 3 | "etched" | | 4 | "familiar" | | 5 | "calculated" | | 6 | "facade" | | 7 | "silk" | | 8 | "warmth" | | 9 | "scanning" | | 10 | "shattered" | | 11 | "chilling" | | 12 | "silence" | | 13 | "unspoken" |
| |
| 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 | 0 | | narrationSentences | 95 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 95 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 95 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 32 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1179 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 99.11% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 1179 | | uniqueNames | 11 | | maxNameDensity | 1.02 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Soho | 1 | | London | 2 | | Rory | 12 | | Cardiff | 2 | | Brendan | 7 | | Cathedral | 1 | | Road | 1 | | Silas | 8 | | You | 9 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Brendan" | | 4 | "Silas" | | 5 | "You" |
| | places | | 0 | "Soho" | | 1 | "London" | | 2 | "Cardiff" | | 3 | "Cathedral" | | 4 | "Road" |
| | globalScore | 0.991 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 73 | | glossingSentenceCount | 1 | | matches | | 0 | "as if searching for a fracture in the facade" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1179 | | matches | (empty) | |
| 96.49% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 95 | | matches | | 0 | "demand that you" | | 1 | "being that girl" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 31.86 | | std | 18.93 | | cv | 0.594 | | sampleLengths | | 0 | 92 | | 1 | 67 | | 2 | 10 | | 3 | 35 | | 4 | 9 | | 5 | 22 | | 6 | 18 | | 7 | 35 | | 8 | 30 | | 9 | 8 | | 10 | 45 | | 11 | 36 | | 12 | 20 | | 13 | 60 | | 14 | 48 | | 15 | 39 | | 16 | 27 | | 17 | 4 | | 18 | 47 | | 19 | 43 | | 20 | 51 | | 21 | 11 | | 22 | 29 | | 23 | 47 | | 24 | 50 | | 25 | 22 | | 26 | 29 | | 27 | 37 | | 28 | 10 | | 29 | 27 | | 30 | 23 | | 31 | 30 | | 32 | 32 | | 33 | 3 | | 34 | 29 | | 35 | 5 | | 36 | 49 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 95 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 212 | | matches | | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 1 | | flaggedSentences | 1 | | totalSentences | 95 | | ratio | 0.011 | | matches | | 0 | "Silas didn’t intervene; he kept his eyes on the shelf of scotches, his fingers absentmindedly twisting the silver signet ring on his right hand." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1183 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 29 | | adverbRatio | 0.024513947590870666 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.006762468300929839 | |
| 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 | 12.41 | | std | 7.31 | | cv | 0.589 | | sampleLengths | | 0 | 22 | | 1 | 15 | | 2 | 17 | | 3 | 18 | | 4 | 20 | | 5 | 13 | | 6 | 13 | | 7 | 24 | | 8 | 17 | | 9 | 8 | | 10 | 2 | | 11 | 10 | | 12 | 25 | | 13 | 9 | | 14 | 7 | | 15 | 15 | | 16 | 5 | | 17 | 13 | | 18 | 15 | | 19 | 20 | | 20 | 3 | | 21 | 14 | | 22 | 13 | | 23 | 5 | | 24 | 3 | | 25 | 7 | | 26 | 24 | | 27 | 14 | | 28 | 5 | | 29 | 23 | | 30 | 8 | | 31 | 15 | | 32 | 5 | | 33 | 11 | | 34 | 6 | | 35 | 27 | | 36 | 16 | | 37 | 25 | | 38 | 4 | | 39 | 19 | | 40 | 10 | | 41 | 29 | | 42 | 12 | | 43 | 3 | | 44 | 12 | | 45 | 4 | | 46 | 8 | | 47 | 7 | | 48 | 5 | | 49 | 27 |
| |
| 40.53% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.2736842105263158 | | totalSentences | 95 | | uniqueOpeners | 26 | |
| 35.84% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 93 | | matches | | 0 | "Instead, I find you running" |
| | ratio | 0.011 | |
| 0.65% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 51 | | totalSentences | 93 | | matches | | 0 | "She adjusted the strap of" | | 1 | "He stopped, his hazel eyes" | | 2 | "He scanned the room, his" | | 3 | "He had a sharp, angular" | | 4 | "She felt the sudden constriction" | | 5 | "It’s just a job, Brendan." | | 6 | "He reached out, his hand" | | 7 | "You look different." | | 8 | "I don’t keep nightmares anymore." | | 9 | "I deliver noodles." | | 10 | "She slid a receipt toward" | | 11 | "He was the silent sentry," | | 12 | "He sits in the office" | | 13 | "He thinks you still fear" | | 14 | "My life is three miles" | | 15 | "She turned fully to face" | | 16 | "He clutched his glass as" | | 17 | "You abandoned your father, you" | | 18 | "He turned his attention to" | | 19 | "You knew that." |
| | ratio | 0.548 | |
| 29.89% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 80 | | totalSentences | 93 | | matches | | 0 | "The green neon sign of" | | 1 | "Rory leaned against the scarred" | | 2 | "The frantic rhythm of the" | | 3 | "She adjusted the strap of" | | 4 | "Silas stood behind the pumps," | | 5 | "He stopped, his hazel eyes" | | 6 | "A man stepped out of" | | 7 | "He scanned the room, his" | | 8 | "The man stepped forward, the" | | 9 | "He had a sharp, angular" | | 10 | "Rory dropped her gaze to" | | 11 | "She felt the sudden constriction" | | 12 | "It’s just a job, Brendan." | | 13 | "The city doesn't care who" | | 14 | "Brendan reached the bar, pulling" | | 15 | "He reached out, his hand" | | 16 | "You look different." | | 17 | "The barrister facade suits the" | | 18 | "I don’t keep nightmares anymore." | | 19 | "I deliver noodles." |
| | ratio | 0.86 | |
| 53.76% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 93 | | matches | | | ratio | 0.011 | |
| 51.95% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 55 | | technicalSentenceCount | 7 | | matches | | 0 | "A man stepped out of the drizzle, shaking rainwater from a charcoal trench coat that looked far too expensive for this part of London." | | 1 | "He reached out, his hand hovering near hers before he pulled it back, closing his palm into a tight fist." | | 2 | "He clutched his glass as if it were the only thing separating him from the void." | | 3 | "Leaving the prestige for a dishwashing gig and a man who limps like he’s haunted by a lost war?" | | 4 | "Brendan let out a jagged laugh, his eyes scanning her face as if searching for a fracture in the facade." | | 5 | "He walked out, the bell above the door jingling with a hollow, cheerful sound that shamed the gravity left behind." | | 6 | "She pushed toward the exit, the damp air rushing in to meet her, stripping away the ghost of the courtroom, the arguments, and the boy who had never learned to …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |