NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-09-23-01M36RA748PXAXZ0QNJES6K5TM
Run Details
Model:
GPT-6 Luna (Reasoning, High)
Test:
Bad Writing Habits
Scenario:
Thriller: chase through city streets
Duration:
1m 1s
Cost:
$0.002455
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
92.15%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
84.30%
AI-ism word frequency
(details)
100.00%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
100.00%
Filter word density
(details)
100.00%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
100.00%
Missing dialogue indicators (quotation marks)
(details)
64.27%
Name drop frequency
(details)
100.00%
Narrator intent-glossing
(details)
100.00%
"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)
43.40%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
60.00%
Subject-first sentence starts
(details)
85.71%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
83.33%
Dialogue tag variety (said vs. fancy)
(details)
93.7724%
Overall
Model input
System
You are an expert novelist with a gift for vivid, immersive prose. You write in tight third-person limited point of view with a strong narrative voice. Your prose is clean, precise, and engaging — you favor strong verbs, concrete details, and natural-sounding dialogue. You will be given a story bible (codex) containing canonical details about characters, locations, items, and lore. Use these details to ground your writing in the established world. Stay consistent with the codex. Write only the prose of the scene. Do not include titles, chapter headings, markdown formatting, or any commentary before or after the scene.
User/Human
<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="4417" name="Tomás Herrera" aliases="Tommy, Tomás, Herrera" pronouns="he/him" species="Human" storyRole="Support"> <eyeColor>warm brown</eyeColor> <hair>short curly dark brown</hair> <height>5'10"</height> <age>29</age> <skinTone>olive skin</skinTone> <scar>scar running along his left forearm from a knife attack</scar> <medallion>Saint Christopher medallion around his neck</medallion> <birthplace>Seville, Spain</birthplace> <description>A former paramedic who provides off-the-books medical care for the clique.</description> <backstory>Born in Seville, Spain. He moved to London to work for the NHS but lost his license after administering unauthorized treatments to supernatural patients.</backstory> </character> <location id="854" name="The Raven's Nest" aliases="the Nest, Raven, Silas' bar" realm="Earth"> <signColor>distinctive green neon sign above the entrance</signColor> <secretRoom>hidden back room accessible through a bookshelf, used for clandestine meetings</secretRoom> <description>A dimly lit bar in Soho, London. The walls are covered with old maps and black-and-white photographs.</description> </location> <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> </codex> Write a fully fleshed out scene of at least 1000 words in the thriller genre. A detective is pursuing a suspect through rain-soaked city streets at night. The chase takes them from the street level down into an underground market. The detective must decide whether to follow the suspect into unfamiliar and potentially dangerous territory. 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.
Model response
Messages
Meta
AI
The man came out of
the Raven’s Nest at 11:17, carrying nothing in his hands and something heavy in the way he moved.
Quinn watched from beneath the
green neon sign across the street.
Rain silvered the pavement and
ran in thin streams along the kerb. Behind the bar’s dark windows, old maps and black-and-white photographs crowded the walls.
The door swung shut behind
the man.
He tugged his coat closed
and looked once to his left, once to his right.
Then he saw her in
the reflection of a parked car. He ran.
Quinn was moving before the
rain had time to blur him. “Police! Stop!” He cut across the street, forcing a cab to brake hard enough to blare its horn.
Quinn went after him between
two rows of headlights, her shoes skidding on the wet paint.
The man glanced back, saw
she was still there, and veered into a narrow lane.
She kept her eyes on
his shoulders.
People filled the pavements in
Soho, hunched beneath umbrellas, bright coats streaking past in the rain.
He shoved through them without
apology.
Quinn followed, using the openings
he made. A woman shouted after him.
Someone cursed as Quinn clipped
an umbrella aside. At the mouth of the lane, the man vaulted a stack of crates.
Quinn took the gap beside
them, palm striking the brick for balance.
Her left wrist flashed beneath
her cuff: worn leather
watch
, hands ticking steadily on.
She had run worse in
worse shoes. Eighteen years had taught her to save her breath and
watch
the corners.
The man was fast, but
not disciplined.
He ran as if he
thought the city belonged to him.
He burst out onto Tottenham
Court Road. A bus hissed past, white spray kicking over the kerb. Quinn lost sight of him behind it. For a second there was only rain, diesel stink, and the red blur of taillights.
Then a dark coat flickered
across the far pavement. Quinn raised her radio as she ran. “Control, Detective Quinn. Foot pursuit, male suspect, northbound from Soho toward Camden. Request assistance.” Static crackled in her ear. A reply came thin and distant, asking for the exact location.
She gave it and crossed
behind the bus, eyes on the gap where the man had gone. The traffic held her for a few precious seconds.
By the time she reached
the other side, he was halfway up the block. He looked back again.
His face was narrow and
pale under the streetlamps. A cut marked one cheek, fresh enough that rain had not washed the blood away. Quinn had seen him earlier inside the Nest, leaning close to a man she suspected of moving stolen goods for the clique.
She had not heard what
passed between them.
She had seen the envelope
change hands.
Now the suspect ran as
if the envelope had been a warning.
He shot between two delivery
vans and into a side street. Quinn followed, lungs tightening. The rain came down harder, drumming against shop shutters and the plastic hoods of bicycles. Water ran under her collar. She heard her radio again, then lost the voice in a burst of static. At the end of the street, the man ducked through a gap in a construction fence. Quinn caught the fence with both hands and hauled herself through. The loose panel snapped back behind her, rattling against its frame. The city thinned around them. Bright shopfronts gave way to shuttered businesses and brick walls glazed black with rain. A siren rose somewhere behind her, far enough away to belong to someone else. “Stop!” she called. He didn’t.
He cut north through a
narrow passage and came out near Euston Road. Quinn slowed at the curb, checked the traffic, and sprinted across when the signal changed. A cyclist swore as she passed. She kept moving. The suspect was ahead, limping now, one hand pressed to his side.
He left no trail except
the blood on his cheek and the sharp, uneven slap of his shoes. The radio hissed. Quinn raised it again. “Control, I’m approaching Camden. Suspect on foot. I need units to—” A truck roared past, swallowing her words. When it cleared, the man had vanished. Quinn stopped beneath the shallow shelter of a closed takeaway. She listened. Rain ticked against the metal awning. Traffic murmured beyond the buildings.
Somewhere nearby, a train clattered
over tracks.
She looked at the streets
branching ahead. The suspect had run hard.
He had nowhere to go
but forward—or underground. A movement caught her eye across the road: the dark coat disappearing down a flight of stone steps between a boarded-up shop and a row of locked garages. No sign. No light.
Only a narrow passage descending
into shadow. Quinn crossed. She paused at the top of the steps and keyed her radio. “Quinn to Control. I’m entering a service access south of Camden High Street. Suspect may be below ground. Send units to my last location.” This time the reply was a smear of static. The steps were slick. She took them one at a time, one hand on the cold rail. At the bottom, a steel door stood in a brick arch, its surface furred with rust. There was no handle, only a round plate set at chest height, dark as old blood. The man had slipped through. Quinn could hear his shoes striking stairs beyond it. She reached for the door. A pale object lay in the water by her boot. Quinn crouched. A sliver of bone, carved into a disk about the size of a coin. Its surface
was scored
with tiny marks. Not a button or a key. Not anything she wanted to find in a wet alley at midnight. From beyond the door came a muffled thud, then
silence
. She rose and examined the plate. A shallow groove ran through its centre, too narrow for a key. The bone disk fit it almost exactly. Quinn glanced back up the steps. Rain shivered at the opening, silver under the streetlights. Behind her were the city, the radio, the waiting units—if they could hear her. In front of her was a door that should not have opened and a suspect who had just disappeared through it. Her thumb found the seam of her jacket pocket. No weapon there. No certainty, either. She could hold the entrance for backup. She could turn the man’s face over in her mind, recall the envelope, write the report, wait for someone with a better answer. She could also lose him. If he
was carrying
evidence, it would be gone before the first marked car reached the street. For a moment she saw Morris’s last case file in her head, its pages full of careful observations that led nowhere. She remembered the official language: unexplained circumstances. A phrase designed to close a drawer. Quinn had never trusted closed drawers. She set the bone disk into the groove. The plate took it with a dry click. Something moved inside the door. The seam opened a finger’s width, then widened, letting out a breath of air cold enough to raise the hair along her arms. It smelled of damp stone, smoke, and something sharp and bitter, like chemicals spilled in a hospital sink. Quinn pulled the disk free and pocketed it. She listened once more. Below, the stairs descended into darkness. The suspect was somewhere beyond them. She went in.
The door swung shut behind
her. The city’s noise vanished as if someone had cupped a hand over it. Quinn stood still until her eyes adjusted, then took out her torch. Its beam picked out tiled walls, a rusted handrail, and a line of old station lettering half buried beneath grime. Camden. The stairwell dropped farther than she expected. Her steps
echoed
down the passage. At the bottom, a platform opened beneath a vaulted ceiling, its edges crumbling into shadow. No trains had run here in years, perhaps decades. Dust filmed the rails. Water dripped from the roof into black puddles. A
flicker
of warm light moved at the far end. Quinn lowered her torch and followed it. Voices reached her before the market did: low bargains, laughter, a child crying and
quickly
hushed. The platform opened into a wide concourse cluttered with stalls. Canvas awnings hung from iron posts. Lanterns burned behind coloured glass, throwing red and green shadows across the old tiles. People moved between the tables in hoods and heavy coats, shoulders turned, faces hidden or
carefully
blank. At the nearest stall, glass bottles stood in neat rows. Something smoke-grey swirled inside one of them, twisting against the direction of gravity. Beside it lay small packets of powder and several metal instruments Quinn could not identify. At another table, a woman held up a tarnished silver mirror. Its surface showed a bright summer sky, though the roof above her was stone. Quinn slowed. She had expected a service tunnel, a bolt-hole, perhaps a drug den. She had not expected a market. The air was crowded with smells: wet wool, candle smoke, copper, anise. Beneath them ran the bitter chemical edge she’d noticed at the door. The people here watched her with the quiet attention of dogs that had heard a gate open. Her badge was under her coat. She did not reach for it. Her hand stayed low beside her thigh, empty. A man in a leather apron stood behind a stall displaying rows of black teeth. “You’re lost,” he said. “I’m looking for someone.” “Then buy something.” “I’m police.” The man’s face did not change. A woman beside him covered a tray of glass vials with a cloth. Someone farther down the concourse muttered, “Not here.” Quinn
scanned
the crowd. The suspect had left a dark smear of blood on the tiled wall near the far archway. It led past a stall selling bundles of dried roots and bottles of red liquid. She moved toward it. A broad-shouldered woman stepped into her path. Her hood
was pinned
with a dozen small bones. “Badge won’t help you here,” the woman said. Quinn held her gaze. “I’m not asking it to.” The woman studied her for a beat, then leaned close enough that Quinn could smell cloves on her breath. “The Veil Market doesn’t forgive people who bring trouble through the door.” “Then it shouldn’t have opened the door.” The woman gave a humourless smile. “You think the door opened for you?” Quinn looked past her. At the far end of the concourse, the suspect had reached an archway marked by a faded Underground roundel. He
was watching
her. Blood tracked down his cheek to his jaw. One hand clutched his coat, where the envelope might have been. The crowd closed around him in layers of hoods and shadow. He lifted his chin, almost an invitation. Quinn’s
pulse
beat hard against her throat. She could call for backup, but the radio had gone silent. She could back out and wait on the steps, trusting the market to keep him from disappearing. The thought lasted only long enough to measure the distance between them.
Then the suspect turned and
ran. Quinn moved after him. The woman in bones let her pass, laughing
softly
as the crowd opened in front of the detective and closed behind her.
Somewhere overhead, far above stone
and rain, a siren wailed and faded. Quinn followed the blood into the dark.
created_at
"2026-09-23T09:07:28.021Z"
9/23/2026, 9:07:28 AM
model
"openai/gpt-6-luna-20260922"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
4818
moderation_latency
(null)
generation_time
61067
tokens_prompt
888
tokens_completion
3348
native_tokens_prompt
810
native_tokens_completion
4749
native_tokens_completion_images
0
native_tokens_reasoning
2375
native_tokens_cached
0
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
num_fetches
(null)
web_search_engine
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"completed"
service_tier
"default"
usage
0.0024555
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.21.0; linux; x64))"
http_referer
(null)
request_id
"req-1790154448-d1cqOTWd638qrOjYyD7f"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1790154448-paTpJZCjBufY7T4fyEqc"
upstream_id
"resp_0178c961edb9a5b7016ab396d035f887d195178e0a3d992fec"
provider_responses
0
endpoint_id
"05e94e02-b9c2-4bbb-ba55-4082ee9ad687"
id
"resp_0178c961edb9a5b7016ab396d035f887d195178e0a3d992fec"
is_byok
false
latency
1787
model_permaslug
"openai/gpt-6-luna-20260922"
provider_name
"OpenAI"
status
200
total_cost
0.0024555
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
response_cache_source_id
(null)
data_region
"global"
workspace_id
"97e315e5-d303-487d-83c1-83180e8a13d4"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
4
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
15
tagDensity
0.267
leniency
0.533
rawRatio
0
effectiveRatio
0
92.15%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1911
totalAiIsmAdverbs
3
found
0
adverb
"quickly"
count
1
1
adverb
"carefully"
count
1
2
adverb
"softly"
count
1
highlights
0
"quickly"
1
"carefully"
2
"softly"
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)
84.30%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1911
totalAiIsms
6
found
0
word
"flickered"
count
1
1
word
"silence"
count
1
2
word
"echoed"
count
1
3
word
"flicker"
count
1
4
word
"scanned"
count
1
5
word
"pulse"
count
1
highlights
0
"flickered"
1
"silence"
2
"echoed"
3
"flicker"
4
"scanned"
5
"pulse"
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
186
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
0
narrationSentences
186
filterMatches
0
"watch"
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
197
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
29
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
1909
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
5
unquotedAttributions
0
matches
(empty)
64.27%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
45
wordCount
1808
uniqueNames
11
maxNameDensity
1.71
worstName
"Quinn"
maxWindowNameDensity
3
worstWindowName
"Quinn"
discoveredNames
Raven
1
Nest
2
Soho
1
Quinn
31
Tottenham
1
Court
1
Road
2
Euston
1
Morris
1
Underground
1
Rain
3
persons
0
"Raven"
1
"Quinn"
2
"Morris"
3
"Rain"
places
0
"Nest"
1
"Soho"
2
"Tottenham"
3
"Court"
4
"Road"
5
"Euston"
globalScore
0.643
windowScore
0.667
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
147
glossingSentenceCount
0
matches
(empty)
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
1909
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
197
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
73
mean
26.15
std
20.17
cv
0.771
sampleLengths
0
23
1
58
2
11
3
2
4
13
5
47
6
49
7
59
8
18
9
39
10
9
11
21
12
56
13
65
14
12
15
49
16
38
17
33
18
3
19
2
20
67
21
18
22
14
23
30
24
20
25
39
26
38
27
9
28
63
29
5
30
10
31
41
32
10
33
25
34
50
35
15
36
52
37
35
38
6
39
8
40
54
41
24
42
3
43
51
44
1
45
49
46
10
47
7
48
63
49
63
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
2
totalSentences
186
matches
0
"was scored"
1
"was pinned"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
2
totalVerbs
299
matches
0
"was carrying"
1
"was watching"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
2
semicolonCount
0
flaggedSentences
2
totalSentences
197
ratio
0.01
matches
0
"He had nowhere to go but forward—or underground."
1
"Behind her were the city, the radio, the waiting units—if they could hear her."
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1816
adjectiveStacks
0
stackExamples
(empty)
adverbCount
54
adverbRatio
0.02973568281938326
lyAdverbCount
11
lyAdverbRatio
0.006057268722466961
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
197
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
197
mean
9.69
std
5.26
cv
0.543
sampleLengths
0
23
1
11
2
12
3
13
4
7
5
15
6
11
7
2
8
11
9
2
10
16
11
16
12
15
13
7
14
16
15
6
16
7
17
5
18
8
19
13
20
12
21
14
22
7
23
13
24
7
25
11
26
7
27
10
28
7
29
15
30
9
31
7
32
14
33
5
34
11
35
17
36
9
37
14
38
4
39
9
40
15
41
22
42
8
43
7
44
12
45
11
46
4
47
15
48
5
49
14
43.40%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
13
diversityRatio
0.25380710659898476
totalSentences
197
uniqueOpeners
50
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
6
totalSentences
175
matches
0
"Then he saw her in"
1
"Then a dark coat flickered"
2
"Somewhere nearby, a train clattered"
3
"Only a narrow passage descending"
4
"Then the suspect turned and"
5
"Somewhere overhead, far above stone"
ratio
0.034
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
49
totalSentences
175
matches
0
"He tugged his coat closed"
1
"He cut across the street,"
2
"She kept her eyes on"
3
"He shoved through them without"
4
"Her left wrist flashed beneath"
5
"She had run worse in"
6
"He ran as if he"
7
"He burst out onto Tottenham"
8
"She gave it and crossed"
9
"He looked back again."
10
"His face was narrow and"
11
"She had not heard what"
12
"She had seen the envelope"
13
"He shot between two delivery"
14
"She heard her radio again,"
15
"He cut north through a"
16
"She kept moving."
17
"He left no trail except"
18
"She looked at the streets"
19
"He had nowhere to go"
ratio
0.28
60.00%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
140
totalSentences
175
matches
0
"The man came out of"
1
"Quinn watched from beneath the"
2
"Rain silvered the pavement and"
3
"The door swung shut behind"
4
"He tugged his coat closed"
5
"Quinn was moving before the"
6
"He cut across the street,"
7
"Quinn went after him between"
8
"The man glanced back, saw"
9
"She kept her eyes on"
10
"People filled the pavements in"
11
"He shoved through them without"
12
"Quinn followed, using the openings"
13
"A woman shouted after him."
14
"Someone cursed as Quinn clipped"
15
"Quinn took the gap beside"
16
"Her left wrist flashed beneath"
17
"She had run worse in"
18
"The man was fast, but"
19
"He ran as if he"
ratio
0.8
85.71%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
3
totalSentences
175
matches
0
"By the time she reached"
1
"Now the suspect ran as"
2
"If he was carrying evidence,"
ratio
0.017
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
85
technicalSentenceCount
3
matches
0
"In front of her was a door that should not have opened and a suspect who had just disappeared through it."
1
"For a moment she saw Morris’s last case file in her head, its pages full of careful observations that led nowhere."
2
"The city’s noise vanished as if someone had cupped a hand over it."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
4
uselessAdditionCount
0
matches
(empty)
83.33%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
4
fancyCount
1
fancyTags
0
"the concourse muttered (mutter)"
dialogueSentences
15
tagDensity
0.267
leniency
0.533
rawRatio
0.25
effectiveRatio
0.133
93.7724%