| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 20 | | tagDensity | 0.3 | | leniency | 0.6 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1246 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 83.95% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1246 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "fluttered" | | 1 | "etched" | | 2 | "footsteps" | | 3 | "traced" |
| |
| 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 | 64 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 64 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 78 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1246 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 76.11% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 812 | | uniqueNames | 9 | | maxNameDensity | 1.48 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Harlow | 1 | | Quinn | 12 | | Met | 1 | | Veil | 1 | | Market | 1 | | Tube | 1 | | Camden | 1 | | Kowalski | 1 | | Eva | 6 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Met" | | 3 | "Market" | | 4 | "Kowalski" | | 5 | "Eva" |
| | places | (empty) | | globalScore | 0.761 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 53 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.803 | | wordCount | 1246 | | matches | | 0 | "not dried blood but a fine black powder" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 78 | | matches | (empty) | |
| 98.15% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 23 | | mean | 54.17 | | std | 26.74 | | cv | 0.494 | | sampleLengths | | 0 | 110 | | 1 | 33 | | 2 | 11 | | 3 | 31 | | 4 | 99 | | 5 | 50 | | 6 | 20 | | 7 | 78 | | 8 | 44 | | 9 | 49 | | 10 | 41 | | 11 | 22 | | 12 | 58 | | 13 | 84 | | 14 | 43 | | 15 | 82 | | 16 | 81 | | 17 | 53 | | 18 | 23 | | 19 | 49 | | 20 | 61 | | 21 | 33 | | 22 | 91 |
| |
| 99.78% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 64 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 132 | | matches | (empty) | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 1 | | flaggedSentences | 1 | | totalSentences | 78 | | ratio | 0.013 | | matches | | 0 | "“The hatch hasn’t been opened in years according to TfL records, yet the grime around it is soft, middle of the night soft.” She pressed her palm flat nearest the scratches; heat still clung there." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 815 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 23 | | adverbRatio | 0.02822085889570552 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.0049079754601227 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 78 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 78 | | mean | 15.97 | | std | 10.46 | | cv | 0.655 | | sampleLengths | | 0 | 19 | | 1 | 21 | | 2 | 21 | | 3 | 15 | | 4 | 10 | | 5 | 5 | | 6 | 19 | | 7 | 11 | | 8 | 17 | | 9 | 5 | | 10 | 11 | | 11 | 14 | | 12 | 17 | | 13 | 5 | | 14 | 27 | | 15 | 11 | | 16 | 10 | | 17 | 6 | | 18 | 40 | | 19 | 25 | | 20 | 16 | | 21 | 9 | | 22 | 6 | | 23 | 14 | | 24 | 6 | | 25 | 12 | | 26 | 3 | | 27 | 13 | | 28 | 25 | | 29 | 19 | | 30 | 16 | | 31 | 28 | | 32 | 7 | | 33 | 42 | | 34 | 17 | | 35 | 15 | | 36 | 5 | | 37 | 4 | | 38 | 22 | | 39 | 6 | | 40 | 6 | | 41 | 46 | | 42 | 16 | | 43 | 6 | | 44 | 7 | | 45 | 22 | | 46 | 10 | | 47 | 23 | | 48 | 14 | | 49 | 29 |
| |
| 77.78% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.47435897435897434 | | totalSentences | 78 | | uniqueOpeners | 37 | |
| 53.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 62 | | matches | | 0 | "Cryogenically sealed crates of banned" |
| | ratio | 0.016 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 13 | | totalSentences | 62 | | matches | | 0 | "She checked her worn leather" | | 1 | "Her worn leather satchel lay" | | 2 | "She looked up when Quinn’s" | | 3 | "She lifted one wrist: cool" | | 4 | "She turned the device over." | | 5 | "He held up an evidence" | | 6 | "She set it down and" | | 7 | "She pulled a scrap of" | | 8 | "She crouched again and sighted" | | 9 | "She beckoned Eva" | | 10 | "Its needle snapped hard left" | | 11 | "She pointed the torch full" | | 12 | "She pressed her palm flat" |
| | ratio | 0.21 | |
| 56.77% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 62 | | matches | | 0 | "The iron grate over the" | | 1 | "Detective Harlow Quinn ducked beneath" | | 2 | "The air carried the copper" | | 3 | "She checked her worn leather" | | 4 | "The Veil Market should have" | | 5 | "Uniforms stamped their feet at" | | 6 | "Quinn flashed her warrant card." | | 7 | "A thick-set sergeant with rain" | | 8 | "Quinn stepped under the tape." | | 9 | "The platform opened into a" | | 10 | "A single sheet covered the" | | 11 | "The shape under it looked" | | 12 | "Eva Kowalski crouched opposite the" | | 13 | "Her worn leather satchel lay" | | 14 | "She looked up when Quinn’s" | | 15 | "Quinn pulled on gloves and" | | 16 | "The wound edges were smooth" | | 17 | "The merchant’s eyes stayed open" | | 18 | "She lifted one wrist: cool" | | 19 | "The pathologist’s preliminary note, already" |
| | ratio | 0.806 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 62 | | matches | (empty) | | ratio | 0 | |
| 43.65% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 5 | | matches | | 0 | "Detective Harlow Quinn ducked beneath the rusted lip and started down, torch beam cutting the dust that hung thick as cloth." | | 1 | "The shape under it looked small, almost childlike, until she drew the cloth back and saw the compressed frame of an adult anima merchant, throat opened in a cle…" | | 2 | "Fingernails held dark residue under the free edge, not dried blood but a fine black powder that glittered when her torch hit it." | | 3 | "One crate lid bore a greasy hand-print that curved backwards, as though the hand that left it had been facing the opposite direction of travel." | | 4 | "Faint scratches marred the old paint around the handle, three parallel grooves that matched the width of human nails." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 20 | | tagDensity | 0.1 | | leniency | 0.2 | | rawRatio | 0.5 | | effectiveRatio | 0.1 | |