| 75.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 2 | | adverbTags | | 0 | "Silas said quietly [quietly]" | | 1 | "He drank finally [finally]" |
| | dialogueSentences | 32 | | tagDensity | 0.469 | | leniency | 0.938 | | rawRatio | 0.133 | | effectiveRatio | 0.125 | |
| 91.99% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1248 | | 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) | |
| 83.97% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1248 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "electric" | | 1 | "familiar" | | 2 | "comfortable" | | 3 | "tenderness" |
| |
| 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 | 42 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 42 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 58 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 83 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1254 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 71.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 766 | | uniqueNames | 9 | | maxNameDensity | 1.57 | | worstName | "Silas" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Silas" | | discoveredNames | | Silas | 12 | | Tuesday | 1 | | Soho | 2 | | Daniel | 1 | | Frost | 12 | | Service | 1 | | Talisker | 1 | | Greek | 1 | | Street | 1 |
| | persons | | 0 | "Silas" | | 1 | "Daniel" | | 2 | "Frost" | | 3 | "Service" |
| | places | | | globalScore | 0.717 | | windowScore | 0.833 | |
| 63.79% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 29 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like anyone he knew" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.797 | | wordCount | 1254 | | matches | | 0 | "not a confession but a leave-taking, a man clearing his accounts before the light" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 58 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 41.8 | | std | 32.93 | | cv | 0.788 | | sampleLengths | | 0 | 69 | | 1 | 34 | | 2 | 78 | | 3 | 12 | | 4 | 51 | | 5 | 81 | | 6 | 5 | | 7 | 12 | | 8 | 4 | | 9 | 80 | | 10 | 7 | | 11 | 6 | | 12 | 65 | | 13 | 7 | | 14 | 109 | | 15 | 85 | | 16 | 8 | | 17 | 3 | | 18 | 95 | | 19 | 1 | | 20 | 84 | | 21 | 29 | | 22 | 42 | | 23 | 36 | | 24 | 68 | | 25 | 64 | | 26 | 35 | | 27 | 6 | | 28 | 23 | | 29 | 55 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 42 | | matches | (empty) | |
| 57.14% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 140 | | matches | | 0 | "was wiping" | | 1 | "was like hearing" | | 2 | "was listening" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 1 | | flaggedSentences | 5 | | totalSentences | 58 | | ratio | 0.086 | | matches | | 0 | "He took the stool nearest the wall, his back angled so he could see the door, and Silas felt something tighten in his chest at the sight of it — that old reflexive geometry, the arithmetic of exits and sightlines that the Service taught you and never let you forget." | | 1 | "Silas was not, in fact, pouring himself anything; he had given that up the year he bought the place, when he understood that a man who drank alone in his own bar was a man telling the truth to no one." | | 2 | "Silas looked at his old friend — and Frost had been his friend, that was the thing the years had nearly buried, they had been young and frightened together in a dozen cities and had each, at least once, held the other's life in his hands like a sparrow — and felt the strange flatness that comes when a long-awaited absolution arrives and finds the wound already closed over something else." | | 3 | "\"You couldn't have. You weren't ready to need me to forgive you. You're only ready now because you're frightened of something.\" Silas studied him — the thinness, the new carefulness, the way the man had checked the exits." | | 4 | "Frost laughed — a small, wrecked sound — and wiped his eyes with the heel of one hand, the way he never would have allowed himself to in any of the cities of their youth." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 764 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 30 | | adverbRatio | 0.03926701570680628 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.014397905759162303 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 58 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 58 | | mean | 21.62 | | std | 19.03 | | cv | 0.88 | | sampleLengths | | 0 | 25 | | 1 | 44 | | 2 | 34 | | 3 | 13 | | 4 | 32 | | 5 | 18 | | 6 | 5 | | 7 | 6 | | 8 | 4 | | 9 | 7 | | 10 | 5 | | 11 | 12 | | 12 | 22 | | 13 | 17 | | 14 | 2 | | 15 | 50 | | 16 | 12 | | 17 | 17 | | 18 | 5 | | 19 | 12 | | 20 | 4 | | 21 | 41 | | 22 | 39 | | 23 | 7 | | 24 | 6 | | 25 | 24 | | 26 | 41 | | 27 | 7 | | 28 | 7 | | 29 | 83 | | 30 | 19 | | 31 | 3 | | 32 | 11 | | 33 | 71 | | 34 | 8 | | 35 | 3 | | 36 | 53 | | 37 | 42 | | 38 | 1 | | 39 | 27 | | 40 | 57 | | 41 | 8 | | 42 | 10 | | 43 | 4 | | 44 | 7 | | 45 | 38 | | 46 | 4 | | 47 | 16 | | 48 | 20 | | 49 | 50 |
| |
| 67.24% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.46551724137931033 | | totalSentences | 58 | | uniqueOpeners | 27 | |
| 92.59% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 36 | | matches | | 0 | "Somewhere out on Greek Street" |
| | ratio | 0.028 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 9 | | totalSentences | 36 | | matches | | 0 | "He noticed it now only" | | 1 | "He was wiping down the" | | 2 | "His left knee announced itself" | | 3 | "He took the stool nearest" | | 4 | "He had thought himself the" | | 5 | "He said it flatly, the" | | 6 | "He drank, finally, and let" | | 7 | "He pressed it flat against" | | 8 | "he said, He refilled both" |
| | ratio | 0.25 | |
| 71.11% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 28 | | totalSentences | 36 | | matches | | 0 | "The green neon sign buzzed" | | 1 | "He noticed it now only" | | 2 | "He was wiping down the" | | 3 | "Silas knew him by the" | | 4 | "The face had aged the" | | 5 | "That was the first thing." | | 6 | "The eyes used to be" | | 7 | "Silas set down the cloth" | | 8 | "His left knee announced itself" | | 9 | "He took the stool nearest" | | 10 | "He had thought himself the" | | 11 | "Silas was not, in fact," | | 12 | "Frost said, when he had" | | 13 | "The careful eyes came up" | | 14 | "He said it flatly, the" | | 15 | "The neon hummed." | | 16 | "Silas looked at his old" | | 17 | "Silas said quietly" | | 18 | "Frost went still." | | 19 | "He drank, finally, and let" |
| | ratio | 0.778 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 36 | | matches | | 0 | "Now they were careful." | | 1 | "To see it in another" |
| | ratio | 0.056 | |
| 30.08% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 19 | | technicalSentenceCount | 3 | | matches | | 0 | "Silas was not, in fact, pouring himself anything; he had given that up the year he bought the place, when he understood that a man who drank alone in his own ba…" | | 1 | "Silas looked at his old friend — and Frost had been his friend, that was the thing the years had nearly buried, they had been young and frightened together in a…" | | 2 | "And the green sign hummed, and the rain came down on Soho, and the two old men sat in the lit cave of the bar with all the years standing around them like patie…" |
| |
| 91.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 1 | | matches | | 0 | "Silas set, as though it might break, as though he might" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 32 | | tagDensity | 0.281 | | leniency | 0.563 | | rawRatio | 0 | | effectiveRatio | 0 | |