NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-19-01KHTY7TG86ANZASR8BFXH1KR4
Run Details
Model:
GPT-5
Test:
Bad Writing Habits
Scenario:
Mystery: examining a crime scene
Duration:
4m 16s
Cost:
$0.061111
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
100.00%
AI-ism adverb frequency
(details)
80.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
83.41%
AI-ism word frequency
(details)
100.00%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
98.77%
Filter word density
(details)
100.00%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
97.22%
Missing dialogue indicators (quotation marks)
(details)
100.00%
Name drop frequency
(details)
100.00%
Narrator intent-glossing
(details)
15.29%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
100.00%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
100.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
51.65%
Sentence opener variety
(details)
22.60%
Adverb-first sentence starts
(details)
76.27%
Pronoun-first sentence starts
(details)
93.90%
Subject-first sentence starts
(details)
50.85%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
88.9985%
Overall
Model input
System
You are an expert fiction writer. Always keep the following rules in mind: - Write in past tense and use General English spelling, grammar, and colloquialisms/slang. - Write in active voice - Always follow the "show, don't tell" principle. - Avoid adverbs and cliches and overused/commonly used phrases. Aim for fresh and original descriptions. - Convey events and story through dialogue. - Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. - Skip "he/she said said" dialogue tags and convey people's actions or face expressions through their speech - Avoid mushy dialog and descriptions, have dialogue always continue the action, never stall or add unnecessary fluff. Vary the descriptions to not repeat yourself. - Put dialogue on its own paragraph to separate scene and action. - Reduce indicators of uncertainty like "trying" or "maybe" When writing text: - NEVER conclude the scene on your own, follow the beat instructions very closely. - NEVER end with foreshadowing. - NEVER write further than what I prompt you with. - AVOID imagining possible endings, NEVER deviate from the instructions. - STOP EARLY if the continuation contains what was required in the instructions. You do not need to fill out the full amount of words possible.
User/Human
Take into account the following glossary of characters/locations/items/lore... when writing your response: <codex> <character id="4416" name="Detective Harlow Quinn" aliases="Quinn, Detective Quinn, Harlow" pronouns="she/her" species="Human" storyRole="Antagonist"> <eyeColor>brown</eyeColor> <hair>closely cropped salt-and-pepper</hair> <height>5'9"</height> <age>41</age> <jawline>sharp jaw</jawline> <watch>worn leather watch on her left wrist</watch> <bearing>military precision</bearing> <description>A Metropolitan Police detective with 18 years of decorated service who suspects the clique is involved in criminal activity.</description> <backstory>She lost her partner, DS Morris, during a case three years ago under unexplained circumstances that had supernatural origins she doesn't yet understand.</backstory> </character> <character id="4414" name="Eva Kowalski" aliases="Eva, Evie" pronouns="she/her" species="Human" storyRole="Best Friend"> <eyeColor>green</eyeColor> <hair>curly red</hair> <height>5'4"</height> <age>26</age> <glasses>round glasses</glasses> <satchel>worn leather satchel full of books</satchel> <freckles>freckled complexion</freckles> <nervousHabit>tucking hair behind her left ear</nervousHabit> <description>Aurora's childhood friend and an occult researcher.</description> <backstory>Moved to London two years before Aurora and works as a research assistant at the British Museum's restricted archives. She holds a master's degree in Ancient History from Oxford.</backstory> </character> <location id="856" name="The Veil Market" aliases="Veil Market, the Market, underground market" realm="Earth"> <currentLocation>abandoned Tube station beneath Camden</currentLocation> <entryRequirement>bone token</entryRequirement> <schedule>moves locations every full moon</schedule> <description>A hidden supernatural black market that sells enchanted goods, banned alchemical substances, and information.</description> </location> <item id="2004" name="Veil Compass" aliases="the Compass, shadow compass" type="Tool" origin="The Veil Market"> <casingMaterial>small brass compass</casingMaterial> <faceMarkings>face etched with protective sigils</faceMarkings> <needle>points toward the nearest supernatural rift or portal</needle> <patina>casing has a patina of verdigris</patina> <creator>crafted by a Shade artisan</creator> <description>A compass attuned to supernatural energy.</description> </item> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the mystery genre. A detective arrives at a crime scene in an unusual location. Something is wrong — the evidence doesn't add up. A colleague is present, offering a different interpretation. Through careful observation and deduction, the detective begins to see what others have missed. Use the codex entries above as your world reference for characters and setting. Only include the prose of the scene without any markdown or commentary. </instructions>
Model response
Messages
Meta
AI
The service gate yawned open
on a breath of damp air and rust. Lights threw hard cones along the abandoned platform, bleaching the old posters and the algae spreading like bruises along the tiles. Blue tape snapped in the draught.
Footsteps and murmurs bounced off
brick and iron until they blurred into a wet hiss.
Boots rang on steel behind
her. You took your time.
Harlow slipped under the tape
and checked her
watch
out of habit. The leather strap creaked. Nine minutes past three.
She looked past DS Patel
to the body by the edge of the platform, one arm draped over the pit like he planned a swim and changed his mind halfway through. Power’s off to the branch,
Patel
waved at the dark rails. Urban explorer cooked himself where he shouldn’t. We’ll bag up the toys, give the warning to the press. Don’t trespass, don’t play trains. City loves a neat line.
That what this looks like
to you. Looks like fried idiot, yeah.
Patel
nudged a rucksack with his boot.
Spray paint, pocket torch, stupid
grin on his face that won’t be going anywhere. Harlow moved past him. The air tasted metallic, skin-prickling, ozone threaded with
something like cloves that didn’t belong in
a tunnel.
The skin on the man’s
hand ran smooth under the glove where the palm had blackened, but the scorch tracked along the lifeline in a tidy ribbon. The fingers had curled in, not out. His trainers hadn’t burst.
The arcs at the fixings
on the rail looked clean, no recent bite on the steel.
She crouched and watched his
chest. Still. No ghost of air to chase. Eye corners creased, fresh grit ground there,
not from a tumble but from lying here a while
. A turn of breath would have dragged it differently. Urban explorer with a manicure,
Patel
came to lean over. Look at those hands. No calluses. Rich boy got bored of Camden Lock. He didn’t touch the rail.
We’ve got a scorch, we’ve
got a corpse, makes itself. Harlow slid her fingers under the body at the waist and felt for a line on the tile. No drag. No scuff from the pit lip. A crisp square of dust shadow under the shoulder.
He’d fallen from a short
height and stopped. Fallen in place.
You get any power readout
from Control. They’re checking logs. It tripped around midnight.
Patel
lifted his chin toward the far tunnel. Could have been rats. Could have been this clown. Could’ve been the old place groaning. The old place groaned, right. Harlow checked the man’s mouth. Not the grey foam of an overdose. Tongue clear of bites. A thin line of soot under the upper lip, like someone had
traced
there with a finger.
He went down with his
mouth open. Yelling for help,
Patel
shrugged. Or trying to be dramatic. They film themselves in here. Harlow
scanned
the floor. Chalk dust smeared near the far wall, a scuff of white on the brick. At first glance, the usual graffiti spores, curse words, names. Up close, the marks curved with intent. Not a tag. A looped knot flanked by short bars.
She’d seen that mark in
a folder in her desk that she didn’t show anyone.
She scraped a flake free
and pressed it between her glove and thumb. The grit
felt like bone ash
. SOCO crouched nearby, the camera’s shutter tapped rhythm on the stale air. Harlow jerked her chin toward the chalk. I want lifts on those, both sides of the marks. And a cast. Of chalk, Ma’am. Of the pressure points. Someone pressed hard here. Not a sweep. And pick up the powder along the grout.
Patel
rolled his eyes at the wall. This one drew a circle.
Maybe he worshipped the train
gods.
He didn’t draw that, she
ran her thumb over the body’s cuffs. The frayed thread at the wrist sat under the scorch.
He had his arms down
when whatever this was hit him. SOCO worked in. Harlow edged along the platform lip, peered down for a sign of a drop, any disturbance in the grease that always clung to the pit. No ripple broken. The soot under his trainers hadn’t ground in. How did he get here then.
Patel
rocked back on his heels. Door there. He walked in, got stupid, tripped the juice, cooked, drop curtain. End of play. Harlow followed his nod to a service door halfway up the platform, metal wrinkled and painted the sick green the Tube loved for utility. The lock wore scratch marks, not recent. The dust on the threshold lay undisturbed except for two steps that came in and never left. The steps ended half a stride from the door, small soles, cheap rubber from a trainer you could buy on the market stalls. The rest of the floor held patchy prints, belonging to three or four pairs of boots that had stood around and moved away. Officers and SOCO. No light drag of a body.
She went back to the
rucksack. She didn’t like to dig through the dead’s belongings like a magpie, but needs. A battered camera; it powered on with a whine and showed one bar. The last photo framed darkness and a curved wall washed in the harsh blast of a torch. In the corner, half-caught, a small brass circle hung on a cord.
Patel
leaned in until his breath fogged the screen. He went shopping before he died. Harlow dug deeper. A small brass compass lay at the bottom of the bag, verdigris lacing the edge, face
etched
with things that weren’t north or south. The needle lay steady and wrong, pointing
not toward the platform entrance but toward the far brick
where the chalk sat. A drop of dried something marred the glass, brown-black. She turned the dial a fraction. The needle fought, twitched, then eased back to the same brick. What’s that. A pilgrim’s toy. She rested it in her palm and watched the needle insist. The
weight
felt
familiar
. The lines on the face meant nothing if you read them like maps, everything if you didn’t.
Patel
chuckled, sharp and quick. And here was me thinking you’d decorate the office with it. Get me a proper photo of the face. And gloves on whoever bags it. She tucked it into a clear pouch herself and sealed it, eyes still on the wall the needle loved. The man’s trousers had a ripped pocket. She slid fingers into the inner lining and found a lump. Her glove hit caught edges and smoothed curves. She drew out a sliver of bone carved into an oval, a hole drilled at the top as if for a cord. Teeth marks scored the surface. It had been in his mouth, or he had clenched it awhile. Fantastic,
Patel
muttered. He brought snacks. You
know
what this is. I
know
we’re under Camden, and kids sell little bones on strings in the craft market. Neat, right. You going to start confiscating dreamcatchers too. This one belonged to a door. A door to what. Harlow lifted her eyes to the wall. Tile patches had
been hacked
out years back, old maintenance. New scrapes kissed the brick,
not horizontal like a crate had hit it but vertical, like something had swung in
and scraped out. She passed her glove along the mortar lines, found a warmer seam,
not from heat but from touch
. Her fingertips prickled through the nitrile. She looked at the chalk again. Bars. Loop. Not an artist’s flourish. A map for those who knew. Give me your torch.
Patel
handed it over with a chuff. Shine away. She cut the beam low, raked it along the bottom row of bricks. Dust glittered in a band that grew less dense near a certain mortar course. A draft she couldn’t hear pulled at it, slanting it inward. She shifted the beam up. A smudge of verdigris streaked the edge of a brick at shoulder height, like brass had knocked there. She held up the pouch with the compass and matched the colour. Our boy didn’t bring a compass for the Tube,
Patel
pinched the bridge of his nose. You
know
what this is, Harlow. Some strange cosplay night gone wrong. They dressed up. They played wizards. He touched something hot. Game over. Next of kin get a lecture. Harlow sucked a breath through her teeth. The scorch in the man’s palm wasn’t the blurt of a rail bite. It followed a line like a wire, but no wire lay. The singe in his hair curled toward his crown in an ancient cowlick he hadn’t owned, pulled as if by wind. Ozone, cloves, the taste of metal after a lightning strike that never happened. Who found him. Track crew doing inspections,
Patel
dropped his hand. They come down Tuesdays. This leg’s quiet. They called it in and went back up. Didn’t touch him, they reckon. She looked toward the stairs to the service exit. Footprint powder gleamed there where SOCO had dusted, heavy boots in and out. No light trainers, no drip of panic sweat or vomit on the risers.
Whoever came down and found
him hadn’t been scared, or had stood further back and watched. That lock’s been off a while. Patrol were honest. But the call came from a burner, not from crews on the list. Check it. I’m on it. Another SOCO hurried over with a bag. Found this under the bench. Thought it might be the deceased’s, but no wallet with it. Harlow took the satchel in gloved hands. Worn leather. The
weight
said books. She opened the flap. Spines of old texts in French and Latin, a notebook with careful handwriting. A library slip from the British Museum tucked inside, the restricted archive embossed in small letters. Her eyes snagged on a scribble in the margin: "Veil—market—bone token—entrances move full."
Patel
peered over, voice rough around a laugh. He came down to revise. That’s new. He wasn’t alone. You’re guessing now. I’m reading. She closed the satchel and set it by the body. He had something not everyone gets. She lifted the bone oval. He had the key. He was at the door. He opened it, or he thought he did, she gestured to the chalk, the scuffed brick. And someone was there with him. You got a witness I should go shake awake. In here, she tapped her temple. Look at the left shoe. The edge melted a touch, a kiss, not a bite. He
planted that foot
nearer the wall. He turned his head when the heat came. The soot line under the lip says he breathed it. You ever see a rail arc give you a neat moustache.
Patel
squinted. He didn’t chew his lip, he’s not that tough. It wasn’t bravado. SOCO called from the far end. We’ve got fibres on the chalk, dark thread, not from the deceased’s hoodie. Slight lycra stretch. Harlow nodded. Bag them. And print everything within a metre of that wall inside and out. Dust the mortar line. Inside and out. She looked back at the seam where the dust sifted by an invisible thought. Inside.
Patel
folded his arms.
Even if I sign off
an occult rave, we’ve got no suspects. We’ve got a corpse with crap taste and a hairdryer finish. You want to add fairies to the incident report while you’re at it. Tick the box that says unknown mechanism. She pushed herself up. Never liked ticking boxes,
Patel
. Start with the list from the British Museum. Whoever borrowed those texts. You
think
our lad read Latin. He ran with someone who did. Maybe he carried the bag. She glanced at the small neat handwriting in the margin visible through the satchel gap, the type of hand that drew thought, not noise. Our boy liked
being taken
places. He had the compass. They had the map. He’s not your son, Harlow. I’m not knitting him a jumper. She touched the bone oval to the brick seam. It clicked with a sound lower than it should, something like the crack of a knuckle in prayer. Every head within three metres turned at once though they’d pretend later they hadn’t heard.
Patel
swore under his breath. That was— Brick. She pocketed the token in the evidence pouch, sealed it, and felt her heartbeat climb to match the
watch
’s quiet tick. Check the date for me. You forgetting your calendar now too. Humour me.
Patel
glanced at his phone. Two days after the full moon. He looked at the chalk again, then at her. This place moves. It shouldn’t be here. Ah. Harlow crouched by the man once more, stared at his face. Young, yes, but lines at the mouth said he’d practised a grin in mirrors, learned where to leave it. Clove on the air
traced
a memory down the back of her neck, heatless and sharp. She pressed her knuckles into the tile to ground it. DS Morris had tracked a
whisper
of chalk once, three years back, out by an old slaughterhouse. Harlow had laughed and called it goat bones and bored kids until a door had opened where there wasn’t one and swallowed what it wanted. She let the breath go and wouldn’t
give that memory
more room than it demanded. We’ve got two stories floated here,
Patel
. Yours prints easy. Mine smudges. She tugged the evidence bag with the compass, held it between them so the needle sat there like a tongue pointing at sin. But this doesn’t lie in the same way. The compass liked the wall like a dog that found a buried bone.
Patel
watched it and pretended he didn’t. You
think
you can find… what. The place. I
think
whoever did this didn’t leave by the stairs. And I
think
they were tidy. Too tidy. No panic scratches here, no stumble, only this neat game of hopscotch with chalk and brass. He had someone who knew the way. You’re going to catch me making a face again in the press shot if you keep on. I won’t make you famous. Promise. Harlow turned. The black mouth of the tunnel tugged at attention,
not with movement but with
that same downward draw of dust. The adverts for seaside holidays peeled back from the wall in a curl that made them
look
like gills. Above, Camden heaved on with night lorries and last buses. Down here, a market had breathed once. It might have sighed out. It might have forgotten to fully close its mouth. She clapped twice to cut through the murmur, got the heads up she needed. Expand the cordon by fifteen metres. No one touches the wall near the chalk without me. I want the British Museum on the phone. Ask for whoever signs out restricted texts in Ancient History, give them the accession slip number from the satchel. And find me records on burners used near Camden in the last six hours. Trace the tangle. People always
think
their strings don’t knot.
Patel
pointed toward the stairs as his phone already glowed. Press are sniffing at the gate. You going to give them a neat line. Tell them a man died under a city that’s older than their shoes. Tell them to go home. Or buy a thicker pair. You do poetry now, Harlow. Walk me a poet and I’ll bag them too. She pushed her palm to her
watch
and felt the warm circle of it. She checked the brick again. The seam hid in plain sight. The man might have smiled when it opened, if it had opened. Or he’d have swallowed the bone token like a prayer and never felt anything else. She stood, every line of her body aligning without thought, that old academy habit that never left. The platform numbers looked wrong from this angle, reversed and useless. She straightened them in her head anyway. You’re going to hate me for this. Always do. Bring a dog. Not a narcotics mutt. One that tracks human. I want to see where it thinks the scent goes. Where it goes into the wall. Let’s find out where it stops.
created_at
"2026-02-19T12:33:16.817Z"
2/19/2026, 12:33:16 PM
model
"openai/gpt-5-2025-08-07"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
19019
moderation_latency
(null)
generation_time
256206
tokens_prompt
1149
tokens_completion
5272
native_tokens_prompt
1009
native_tokens_completion
5985
native_tokens_completion_images
0
native_tokens_reasoning
2560
native_tokens_cached
0
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"completed"
usage
0.06111125
router
(null)
provider_responses
0
endpoint_id
"7c2f859a-7890-4e8e-b1de-1cd1c0a800b4"
id
"resp_0ea3b7b79196b884016997030ceaa481948fb26f8d4101f056"
is_byok
false
latency
175
model_permaslug
"openai/gpt-5-2025-08-07"
provider_name
"OpenAI"
status
200
api_type
"completions"
id
"gen-1771504396-XduJG5AAppf3vNmMGwia"
upstream_id
"resp_0ea3b7b79196b884016997030ceaa481948fb26f8d4101f056"
total_cost
0.06111125
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
1
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
1
tagDensity
1
leniency
1
rawRatio
0
effectiveRatio
0
100.00%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2713
totalAiIsmAdverbs
0
found
(empty)
highlights
(empty)
80.00%
AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions
(empty)
found
0
"Patel"
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
83.41%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2713
totalAiIsms
9
found
0
word
"footsteps"
count
1
1
word
"traced"
count
2
2
word
"scanned"
count
1
3
word
"etched"
count
1
4
word
"weight"
count
2
5
word
"familiar"
count
1
6
word
"whisper"
count
1
highlights
0
"footsteps"
1
"traced"
2
"scanned"
3
"etched"
4
"weight"
5
"familiar"
6
"whisper"
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
324
matches
(empty)
98.77%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
10
hedgeCount
0
narrationSentences
324
filterMatches
0
"watch"
1
"know"
2
"think"
3
"look"
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
324
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
31
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2707
ratio
0
matches
(empty)
97.22%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
9
unquotedAttributions
1
matches
0
"Fantastic, Patel muttered."
100.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
84
wordCount
2703
uniqueNames
18
maxNameDensity
0.85
worstName
"Patel"
maxWindowNameDensity
1.5
worstWindowName
"Patel"
discoveredNames
Patel
23
Camden
4
Lock
1
Control
1
Ma
1
Tube
2
Harlow
19
Tuesdays
1
French
1
Latin
2
British
3
Museum
3
Brick
1
Morris
1
Ancient
1
History
1
You
16
Could
3
persons
0
"Patel"
1
"Lock"
2
"Tube"
3
"Harlow"
4
"Museum"
5
"Morris"
6
"History"
7
"You"
8
"Could"
places
0
"Control"
1
"French"
2
"British"
3
"Brick"
4
"Ancient"
globalScore
1
windowScore
1
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
202
glossingSentenceCount
3
matches
0
"something like cloves that didn’t belong in"
1
"felt like bone ash"
2
"something like the crack of a knuckle in pra"
15.29%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
5
per1kWords
1.847
wordCount
2707
matches
0
"not from a tumble but from lying here a while"
1
"not toward the platform entrance but toward the far brick"
2
"not horizontal like a crate had hit it but vertical, like something had swung in"
3
"not from heat but from touch"
4
"not with movement but with"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
4
totalSentences
324
matches
0
"seen that mark"
1
"draw that, she"
2
"planted that foot"
3
"give that memory"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
105
mean
25.78
std
23.03
cv
0.893
sampleLengths
0
55
1
6
2
4
3
51
4
39
5
7
6
26
7
75
8
39
9
23
10
5
11
10
12
46
13
7
14
30
15
38
16
7
17
15
18
60
19
19
20
19
21
13
22
3
23
19
24
18
25
33
26
39
27
6
28
22
29
103
30
62
31
15
32
74
33
2
34
35
35
16
36
33
37
65
38
6
39
5
40
25
41
6
42
4
43
82
44
4
45
9
46
61
47
12
48
46
49
65
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
2
totalSentences
324
matches
0
"been hacked"
1
"being taken"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
496
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
1
semicolonCount
1
flaggedSentences
2
totalSentences
324
ratio
0.006
matches
0
"A battered camera; it powered on with a whine and showed one bar."
1
"That was—"
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
2706
adjectiveStacks
0
stackExamples
(empty)
adverbCount
44
adverbRatio
0.016260162601626018
lyAdverbCount
3
lyAdverbRatio
0.0011086474501108647
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
324
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
324
mean
8.35
std
5.65
cv
0.676
sampleLengths
0
13
1
21
2
6
3
15
4
6
5
4
6
12
7
4
8
4
9
31
10
11
11
7
12
11
13
5
14
5
15
7
16
5
17
7
18
14
19
4
20
17
21
27
22
7
23
4
24
16
25
6
26
1
27
6
28
17
29
9
30
10
31
4
32
2
33
7
34
5
35
10
36
18
37
2
38
6
39
9
40
8
41
3
42
7
43
3
44
4
45
8
46
4
47
5
48
6
49
5
51.65%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
21
diversityRatio
0.3487654320987654
totalSentences
324
uniqueOpeners
113
22.60%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
2
totalSentences
295
matches
0
"Maybe he worshipped the train"
1
"Maybe he carried the bag."
ratio
0.007
76.27%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
106
totalSentences
295
matches
0
"You took your time."
1
"She looked past DS Patel"
2
"We’ll bag up the toys,"
3
"His trainers hadn’t burst."
4
"She crouched and watched his"
5
"He didn’t touch the rail."
6
"We’ve got a scorch, we’ve"
7
"He’d fallen from a short"
8
"You get any power readout"
9
"They’re checking logs."
10
"It tripped around midnight."
11
"He went down with his"
12
"They film themselves in here."
13
"She’d seen that mark in"
14
"She scraped a flake free"
15
"I want lifts on those,"
16
"He didn’t draw that, she"
17
"He had his arms down"
18
"He walked in, got stupid,"
19
"She went back to the"
ratio
0.359
93.90%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
216
totalSentences
295
matches
0
"The service gate yawned open"
1
"Footsteps and murmurs bounced off"
2
"Boots rang on steel behind"
3
"You took your time."
4
"Harlow slipped under the tape"
5
"The leather strap creaked."
6
"She looked past DS Patel"
7
"Power’s off to the branch,"
8
"We’ll bag up the toys,"
9
"City loves a neat line."
10
"That what this looks like"
11
"Looks like fried idiot, yeah."
12
"Patel nudged a rucksack with"
13
"Spray paint, pocket torch, stupid"
14
"Harlow moved past him."
15
"The air tasted metallic, skin-prickling,"
16
"The skin on the man’s"
17
"The fingers had curled in,"
18
"His trainers hadn’t burst."
19
"The arcs at the fixings"
ratio
0.732
50.85%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
3
totalSentences
295
matches
0
"Whoever came down and found"
1
"Even if I sign off"
2
"Whoever borrowed those texts."
ratio
0.01
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
109
technicalSentenceCount
5
matches
0
"Spray paint, pocket torch, stupid grin on his face that won’t be going anywhere."
1
"The air tasted metallic, skin-prickling, ozone threaded with something like cloves that didn’t belong in a tunnel."
2
"A small brass compass lay at the bottom of the bag, verdigris lacing the edge, face etched with things that weren’t north or south."
3
"Dust glittered in a band that grew less dense near a certain mortar course."
4
"The adverts for seaside holidays peeled back from the wall in a curl that made them look like gills."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
1
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
0
88.9985%