| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2470 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 83.81% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2470 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "weight" | | 1 | "charged" | | 2 | "trembled" | | 3 | "pawn" | | 4 | "calculate" |
| |
| 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 | 122 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 122 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 227 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 33 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2470 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 55 | | wordCount | 1448 | | uniqueNames | 12 | | maxNameDensity | 1.52 | | worstName | "Silas" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Golden | 1 | | Empress | 1 | | Soho | 2 | | Europe | 1 | | London | 1 | | Rory | 20 | | Cardiff | 2 | | Carter | 2 | | Silas | 22 | | Thursdays | 1 |
| | persons | | 0 | "Raven" | | 1 | "Rory" | | 2 | "Carter" | | 3 | "Silas" |
| | places | | 0 | "Soho" | | 1 | "Europe" | | 2 | "London" | | 3 | "Cardiff" |
| | globalScore | 0.74 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 114 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like the man behind the counter" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2470 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 227 | | matches | | 0 | "pushed that glass" | | 1 | "seen that grin" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 136 | | mean | 18.16 | | std | 18.98 | | cv | 1.045 | | sampleLengths | | 0 | 93 | | 1 | 6 | | 2 | 75 | | 3 | 42 | | 4 | 1 | | 5 | 1 | | 6 | 59 | | 7 | 4 | | 8 | 4 | | 9 | 3 | | 10 | 4 | | 11 | 5 | | 12 | 56 | | 13 | 7 | | 14 | 22 | | 15 | 3 | | 16 | 9 | | 17 | 32 | | 18 | 7 | | 19 | 4 | | 20 | 28 | | 21 | 10 | | 22 | 21 | | 23 | 8 | | 24 | 6 | | 25 | 6 | | 26 | 42 | | 27 | 2 | | 28 | 10 | | 29 | 21 | | 30 | 13 | | 31 | 39 | | 32 | 8 | | 33 | 23 | | 34 | 7 | | 35 | 3 | | 36 | 18 | | 37 | 54 | | 38 | 3 | | 39 | 17 | | 40 | 4 | | 41 | 6 | | 42 | 7 | | 43 | 12 | | 44 | 54 | | 45 | 4 | | 46 | 5 | | 47 | 5 | | 48 | 12 | | 49 | 4 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 122 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 214 | | matches | (empty) | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 227 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 883 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 16 | | adverbRatio | 0.01812004530011325 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 227 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 227 | | mean | 10.88 | | std | 6.46 | | cv | 0.594 | | sampleLengths | | 0 | 26 | | 1 | 22 | | 2 | 16 | | 3 | 9 | | 4 | 20 | | 5 | 6 | | 6 | 16 | | 7 | 13 | | 8 | 19 | | 9 | 14 | | 10 | 13 | | 11 | 8 | | 12 | 12 | | 13 | 14 | | 14 | 8 | | 15 | 1 | | 16 | 1 | | 17 | 11 | | 18 | 9 | | 19 | 10 | | 20 | 29 | | 21 | 4 | | 22 | 4 | | 23 | 3 | | 24 | 4 | | 25 | 5 | | 26 | 11 | | 27 | 8 | | 28 | 12 | | 29 | 14 | | 30 | 11 | | 31 | 7 | | 32 | 22 | | 33 | 3 | | 34 | 9 | | 35 | 11 | | 36 | 15 | | 37 | 6 | | 38 | 7 | | 39 | 4 | | 40 | 12 | | 41 | 6 | | 42 | 10 | | 43 | 10 | | 44 | 21 | | 45 | 8 | | 46 | 6 | | 47 | 6 | | 48 | 9 | | 49 | 12 |
| |
| 35.90% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 32 | | diversityRatio | 0.16740088105726872 | | totalSentences | 227 | | uniqueOpeners | 38 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 121 | | matches | (empty) | | ratio | 0 | |
| 97.69% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 121 | | matches | | 0 | "She kicked the door shut" | | 1 | "He filled the space at" | | 2 | "Her straight black hair hung" | | 3 | "Her bright blue eyes stayed" | | 4 | "He set the glass down" | | 5 | "His limp dragged through the" | | 6 | "He stopped a pace from" | | 7 | "Her fingers brushed dust and" | | 8 | "She stood and tucked the" | | 9 | "He poured amber liquid into" | | 10 | "He poured water into a" | | 11 | "She wrapped her hand around" | | 12 | "His right hand trembled around" | | 13 | "He covered the tremor with" | | 14 | "He worked around her glass" | | 15 | "Its spines leaned against each" | | 16 | "He reached under the counter" | | 17 | "He opened the notebook to" | | 18 | "His own handwriting slanted across" | | 19 | "He turned the page back" |
| | ratio | 0.306 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 118 | | totalSentences | 121 | | matches | | 0 | "Rory pushed through the side" | | 1 | "She kicked the door shut" | | 2 | "The flat above" | | 3 | "A man stood behind the" | | 4 | "He filled the space at" | | 5 | "A silver signet ring caught" | | 6 | "Maps curled at the edges" | | 7 | "Silas lifted his hazel eyes" | | 8 | "Rory dropped the delivery bag" | | 9 | "Keys struck the wood beside" | | 10 | "Her straight black hair hung" | | 11 | "Her bright blue eyes stayed" | | 12 | "He set the glass down" | | 13 | "His limp dragged through the" | | 14 | "The left knee gave him" | | 15 | "He stopped a pace from" | | 16 | "Rory bent down and fished" | | 17 | "Her fingers brushed dust and" | | 18 | "She stood and tucked the" | | 19 | "The bar smelled of lemons" |
| | ratio | 0.975 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 121 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 78 | | technicalSentenceCount | 2 | | matches | | 0 | "She thought of the room behind it and the maps inside and the men who had sat in the dark with Silas while she delivered noodles to bar staff on Thursdays." | | 1 | "The maps curled overhead and a photograph caught her eye: a young Silas stood beside a woman at this counter with his arm around her shoulders and a grin that s…" |
| |
| 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 | |