| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 13 | | tagDensity | 0.385 | | leniency | 0.769 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 83.37% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1503 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slowly" | | 1 | "carefully" | | 2 | "slightly" | | 3 | "sharply" | | 4 | "precisely" |
| |
| 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) | |
| 43.45% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1503 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "measured" | | 1 | "flickered" | | 2 | "scanned" | | 3 | "resolve" | | 4 | "tracing" | | 5 | "glint" | | 6 | "etched" | | 7 | "magnetic" | | 8 | "weight" | | 9 | "footfall" | | 10 | "echoing" | | 11 | "methodical" | | 12 | "chill" | | 13 | "whisper" | | 14 | "standard" |
| |
| 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 | 72 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 72 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 80 | | 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 | 1498 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 34 | | wordCount | 1180 | | uniqueNames | 14 | | maxNameDensity | 0.93 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Harlow | 1 | | Quinn | 11 | | Camden | 1 | | Tube | 1 | | Metropolitan | 1 | | Police | 1 | | Tate | 6 | | Morris | 2 | | Kowalski | 1 | | Eva | 5 | | British | 1 | | Museum | 1 | | London | 1 | | Oxford | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tate" | | 3 | "Morris" | | 4 | "Kowalski" | | 5 | "Eva" | | 6 | "Museum" |
| | places | | 0 | "Metropolitan" | | 1 | "London" | | 2 | "Oxford" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 65 | | 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.668 | | wordCount | 1498 | | matches | | 0 | "not toward magnetic north but toward the bricked tunnel, quivering as though pulled by an" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 80 | | matches | (empty) | |
| 81.42% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 17 | | mean | 88.12 | | std | 38.33 | | cv | 0.435 | | sampleLengths | | 0 | 135 | | 1 | 98 | | 2 | 120 | | 3 | 60 | | 4 | 70 | | 5 | 140 | | 6 | 56 | | 7 | 138 | | 8 | 86 | | 9 | 68 | | 10 | 38 | | 11 | 110 | | 12 | 146 | | 13 | 43 | | 14 | 113 | | 15 | 37 | | 16 | 40 |
| |
| 76.02% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 72 | | matches | | 0 | "were etched" | | 1 | "been found" | | 2 | "were turned" | | 3 | "been sealed" | | 4 | "been confronted" | | 5 | "been open" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 189 | | matches | | |
| 71.43% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 80 | | ratio | 0.025 | | matches | | 0 | "The market schedule flashed in her thoughts—locations changed with the full moon, always beneath the city’s forgotten stations." | | 1 | "Quinn knew the clique Eva moved within—two years in London, research assistant in the archives, master’s from Oxford—yet the girl’s knowledge of these specific symbols sat too precisely on the crime." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1188 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 41 | | adverbRatio | 0.034511784511784514 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.013468013468013467 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 80 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 80 | | mean | 18.73 | | std | 11.21 | | cv | 0.599 | | sampleLengths | | 0 | 25 | | 1 | 21 | | 2 | 28 | | 3 | 39 | | 4 | 22 | | 5 | 12 | | 6 | 23 | | 7 | 63 | | 8 | 18 | | 9 | 18 | | 10 | 16 | | 11 | 26 | | 12 | 20 | | 13 | 22 | | 14 | 4 | | 15 | 47 | | 16 | 9 | | 17 | 7 | | 18 | 63 | | 19 | 18 | | 20 | 19 | | 21 | 21 | | 22 | 13 | | 23 | 17 | | 24 | 15 | | 25 | 17 | | 26 | 20 | | 27 | 9 | | 28 | 11 | | 29 | 8 | | 30 | 4 | | 31 | 24 | | 32 | 18 | | 33 | 33 | | 34 | 15 | | 35 | 16 | | 36 | 18 | | 37 | 27 | | 38 | 11 | | 39 | 8 | | 40 | 29 | | 41 | 27 | | 42 | 22 | | 43 | 12 | | 44 | 25 | | 45 | 31 | | 46 | 5 | | 47 | 33 | | 48 | 9 | | 49 | 17 |
| |
| 59.58% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.3875 | | totalSentences | 80 | | uniqueOpeners | 31 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 70 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 70 | | matches | | 0 | "She paused at the bottom" | | 1 | "He looked up as she" | | 2 | "His face was slack, thirtyish" | | 3 | "She crouched, brown eyes tracing" | | 4 | "She pointed to faint scorch" | | 5 | "She stepped closer to the" | | 6 | "She lifted it carefully between" | | 7 | "She slipped the compass into" | | 8 | "She left it for now," | | 9 | "She tucked a stray curl" | | 10 | "She gestured toward the scorched" | | 11 | "She shifted her weight, boots" | | 12 | "She rose and returned to" | | 13 | "she murmured, almost to herself" | | 14 | "She let the scene breathe" | | 15 | "Her deduction settled like a" |
| | ratio | 0.229 | |
| 31.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 60 | | totalSentences | 70 | | matches | | 0 | "Detective Harlow Quinn descended the" | | 1 | "The air pressed in thick" | | 2 | "She paused at the bottom" | | 3 | "DS Tate waited near the" | | 4 | "He looked up as she" | | 5 | "Quinn crossed to the body," | | 6 | "The dead man lay on" | | 7 | "His face was slack, thirtyish" | | 8 | "She crouched, brown eyes tracing" | | 9 | "The air immediately above the" | | 10 | "She pointed to faint scorch" | | 11 | "Tate rubbed the back of" | | 12 | "Quinn rose slowly, gaze drifting" | | 13 | "The bricks were newer than" | | 14 | "She stepped closer to the" | | 15 | "A glint of metal caught" | | 16 | "The small brass compass rested" | | 17 | "The needle twitched, not toward" | | 18 | "She lifted it carefully between" | | 19 | "The weight was solid, not" |
| | ratio | 0.857 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 70 | | matches | (empty) | | ratio | 0 | |
| 19.23% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 52 | | technicalSentenceCount | 9 | | matches | | 0 | "She paused at the bottom step, adjusting the worn leather watch on her left wrist without needing to read it, and scanned the scene with the same precision that…" | | 1 | "He looked up as she approached, shoulders loose in the way of a man who had filed too many cases that simply ended." | | 2 | "The dead man lay on his back, arms loose at his sides as though someone had arranged him." | | 3 | "The air immediately above the body felt cooler than it should, as if the cold had pooled there and refused to rise." | | 4 | "The needle twitched, not toward magnetic north but toward the bricked tunnel, quivering as though pulled by an unseen current." | | 5 | "The mortar showed hairline fractures along one edge, as though something heavy had pressed from the other side." | | 6 | "Eva Kowalski emerged into the light, her curly red hair pulled into a loose ponytail that refused to stay tidy, round glasses fogged at the edges from the damp." | | 7 | "The victim had used it as entry, traded for the compass or been confronted over it, and the confrontation had opened something that did not close cleanly." | | 8 | "The same symbols that had appeared in Morris’s final case notes, dismissed as coincidence." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 2 | | matches | | 0 | "Eva said, voice steady but pitched low for the echoing space" | | 1 | "she murmured, almost to herself" |
| |
| 73.08% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 13 | | tagDensity | 0.231 | | leniency | 0.462 | | rawRatio | 0.333 | | effectiveRatio | 0.154 | |