Run: 2026-03-06-01KK1HHXKYWV3S99E7XETYYFCD

Run Details

Duration:
1m 24s
Cost:
$0.045180
Provider:
OpenAI

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="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> Continue the story using the following instructions: <instructions> 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. </instructions>

Model response

AI
Rain needled off the rooftops and struck the pavement hard enough to raise a mist. Soho shone like wet film: yellow lamps smeared across black stone, red brake lights dragged into long wounds on the road, every doorway breathing stale heat and cigarette smoke. Detective Harlow Quinn cut through it all with her coat open and plastered to her frame, one hand clamped round the radio on her shoulder, the other low near the inside of her jacket. Up ahead, the suspect vaulted a stack of bin bags behind a takeaway and clipped a metal fire escape hard enough to set it rattling. “Control, suspect still moving east off Greek Street,” Quinn snapped. “Male, dark jacket, grey hood, carrying a satchel. I need units cutting Camden routes now.” Static crackled. Then a clipped voice. “Units tied up on a collision in Fitzrovia. Nearest car ten minutes.” “Ten minutes.” Quinn bared her teeth and rounded the alley mouth. The man glanced back. Sodium light hit half his face. Young. Hollow cheeks. Rain streaming off his brow. He saw how close she had got and lunged forward with fresh panic, boots skidding on painted lane markings as he burst into the road between a bus and a taxi. Horns blared. A driver leaned out and shouted. The suspect vanished into moving traffic. Quinn did not slow. She crossed in his wake, one hand braced on the bonnet of the taxi as it slewed to a halt, and heard the driver hammer the horn behind her. “Police,” she threw over her shoulder. The word vanished in the storm. She had first seen him outside The Raven’s Nest forty seconds after midnight, standing under the green neon sign like a man who had no business waiting in the open. The Nest’s windows had sweated amber onto the pavement. Old maps and faded photographs lined the walls inside, and the drinkers had kept their heads low when she walked in. She had not gone there for a pint. She had gone because an informant promised a courier would collect a package tied to a string of disappearances in Camden and Kentish Town, and because the dead man from last Tuesday had bone dust under his nails and old Underground grease on his cuffs. She had watched the handoff through rain-dappled glass. A barman passed a wrapped parcel down the counter. The courier tucked it into a canvas satchel. Then he looked up and clocked her reflection in the mirror behind the bottles. Now he ran. Quinn tore down a side street lined with shuttered boutiques and overflowing planters. Her shoes hit standing water and sent cold up her trouser legs. Her breath came harsh and measured. Eighteen years on the job had taught her how to chase without wasting motion. Her body kept the rhythm. Her mind worked elsewhere, tallying angles, exits, habits. The suspect hugged walls instead of open centre line. Street runner, not athlete. Scared enough to risk bad choices. Good. He cut left through a narrow passage between a tattoo studio and a closed florist, shoulder-checking a gate so hard it banged back on its hinges. Quinn reached it three seconds later and shoved through into a service yard slick with rainwater and oil. The smell shifted: wet brick, rotting cardboard, fryer grease from somewhere nearby. At the far end, the suspect scrambled over a chain-link fence topped with loops of blunt wire. Quinn seized the mesh, planted a foot, and hauled herself up. The wire snagged her sleeve. She ripped free and dropped into a lane running behind a row of Georgian terraces. The impact jarred up through her knees. Ahead, the man stumbled, nearly went down, then drove on. “Stop. Police.” He flung something behind him without looking. Not the satchel. Loose debris. Glass shattered at her feet. A bottle burst against the wall and sprayed her with sour beer. Quinn kept coming. He burst out onto Charing Cross Road, swerved round a cluster of drenched theatre-goers under umbrellas, then darted down toward Tottenham Court Road station before veering again, erratic now, head snapping side to side as though he followed directions only he could hear. Quinn saw the pattern a moment later. He was hunting cameras, sightlines, police presence. He stayed away from busier junctions. He knew the city too well to be random. Her radio hissed again. “Quinn, status?” “Still on foot. He’s heading north. Alert British Transport Police.” “On what grounds?” “On the grounds I’m telling you to.” She ducked under a scaffold pole draped in flapping blue tarpaulin. “If he goes underground, I want gates watched.” No answer for a beat. Then: “Copy.” She turned into a street market stripped bare for the night, stall frames standing like skeletons under sheets of rain. The suspect was fifty feet ahead, slipping between folded trestle tables, one hand on the satchel, the other stretched for balance. He looked back again. His face had changed. Not panic now. Calculation. He had decided something. That tightened a knot low in Quinn’s spine. Three years earlier, DS Morris had worn that same look in a warehouse by the river when he realised the men they had cornered were not the only thing moving in the dark. He had gone through a door she had reached one breath too late. Quinn still heard the bolt slam. Still saw blood slipping under it in a narrow red thread that the Thames fog had not managed to hide. She ground the memory flat and ran harder. The suspect cut across an empty bus lane and plunged into Camden’s back streets, where fried chicken shops sat beside pawnbrokers and betting shops, their signs bleeding colour over puddles. Music thumped behind basement grilles. A drunk couple lurched out of a kebab place and flattened themselves to the wall as the suspect brushed past. Quinn flashed her warrant card at them without breaking stride. “Which way?” The woman pointed with a dripping hand. “Stairs. He went down those stairs.” Concrete steps dropped between two buildings into a sunken service court littered with pallets, soggy cardboard, and rusting trolleys. A corrugated awning rattled overhead. At the bottom, the suspect yanked at a chained gate, swore, spun, and vanished through a steel door hanging ajar in a wall coated with old posters. Quinn slowed for the first time. The doorway breathed cold air, rank with mildew and iron. Somewhere below, she caught the groan of trains, though the nearest active platform lay streets away. A disused line, then. Or maintenance access. Her radio had gone dead a block back. Too much concrete already. She drew her torch but did not switch it on yet. Light would announce her. Rain hammered the awning above, loud enough to cover smaller sounds. She edged to the threshold and listened. Footsteps. Rapid. Descending metal stairs. Then another sound rode up from below, thin and strange, swallowed before it reached shape. Voices. Many voices. Trading, arguing, laughing. A crowd, deep underground. Quinn looked back up the stairwell to the slice of city behind her: wet brick, smeared graffiti, the silver curtain of rain. Back there, the rules still pretended to hold. Warrants, backup, chain of command. Down here, those things felt like paper held to a flame. She stepped inside. The steel door led to a narrow stair with grated treads. Water dripped through cracks overhead and pinged off the metal. Her boots rang despite her care. She paused after the first landing and finally clicked on her torch, cupping the beam with her palm to keep it tight. The walls sweated. Electrical cables ran in clotted bundles along the ceiling, some dead, some humming. Faded roundel tiles showed through grime on the lower walls. The station had been abandoned decades ago. The city had forgotten it. Something else had not. At the bottom, the corridor widened and the noise grew teeth. She killed the torch and moved toward a dirty amber glow ahead. The passage opened onto an old platform transformed beyond sense. Tarpaulins hung from iron columns to make stalls. Hurricane lamps and naked bulbs ran off stolen power. Ancient advertising boards had been painted over with symbols she did not know. The tracks below were hidden beneath patched timber planks, crates, cages, and low tables stacked with goods no legal market would touch. Bottles of liquid that seemed to hold their own light. Bundles of dried herbs tied with red thread. Knives with blackened blades. Masks stitched from what looked too much like skin. The air carried spice, wet wool, hot metal, animal musk, and the faint copper edge of blood. People filled the platform shoulder to shoulder. Some looked ordinary at first glance: market traders in waxed coats, kids in parkas, women with shopping trolleys, men in suits gone shiny at the cuffs. Then a blink caught what the first look missed. Eyes reflecting too much light. Fingers jointed wrong. Teeth filed to points. A woman in a velvet hat whose throat moved under the skin as if something swam there. A boy no older than twelve holding a cage covered with cloth that rocked on its own. Quinn stayed in the shadow of the entry arch and scanned for the satchel. Bone token, she thought, though she had never seen one. She had heard the phrase twice in witness statements nobody at the Yard had taken seriously. One dead addict spoke of a market under Camden where you paid in finger bones and favours. Another witness, drunk and bleeding from the scalp, had sworn an old ticket barrier opened when a man fed it a carved vertebra. Quinn had filed both statements because filing cost nothing. Now the platform below her throbbed with the proof she had not wanted. A broad man in a butcher’s apron stood near the archway, one eye milk-white, the other fixed on her face. He held a string of coins or teeth in his fist. “You’re late.” Quinn met his stare. “Police.” The milk-white eye did not blink. “No police down here.” “Then you’ve got a problem.” His mouth bent. Not a smile. Assessment. He looked at her coat, her stance, the hand near her inside holster. “You walked in without a token.” “Someone I’m after came through this door thirty seconds ahead of me. Grey hood. Canvas satchel.” The butcher’s gaze slid past her shoulder, gauging whether she was alone. “Plenty of grey hoods.” Quinn stepped closer. The crowd noise folded around them, thick enough to hide a scream. “He stole evidence in an active murder inquiry. You point him out, I walk him out, and I forget your face.” The butcher lifted the string in his hand. Vertebrae, polished smooth and drilled through. “You don’t forget a face from the Veil Market.” There it was, plain as brass. Quinn let her eyes travel beyond him. The platform curved away into old tunnel dark. Stalls packed both sides. A tea vendor poured from a dented copper kettle into cups that smoked blue. A woman behind a glass case arranged rings set with things that looked like tiny yellow teeth. Two men argued over a crate of stoppered vials while a third watched with his tongue pressed against the inside of his cheek. At the far end, near a dead escalator packed with rubbish, she caught a flash of grey hood slipping through the crowd. “There.” She moved. The butcher’s arm barred her chest. “Entry without leave is one thing. Chase is another.” Quinn slapped his forearm aside and drove through the gap before he reset his balance. Voices rose at once, sharp and hostile. People turned. A trader snatched his wares off the edge of a table. Someone laughed. Someone else spat. Quinn pushed deeper into the market, eyes pinned on the grey hood weaving between bodies. The suspect looked back and swore when he saw her still coming. He knocked over a stand of hanging charms. Bone and brass clattered across the boards. A woman shrieked and swiped at him with a hooked stick. He ducked, shoved past a man leading a limping goat with painted horns, and sprinted down the centre aisle. “Move.” Quinn shouldered through a knot of onlookers. Hands grabbed at her coat. One brushed the leather watch on her wrist. Another tugged at her sleeve and came away when she twisted free. She drove an elbow into a rib cage, felt the breath leave someone, kept going. The platform dipped where old repairs had buckled. Water gleamed in the cracks. To her left, a section of track still lay exposed, rusted rails descending into blackness. From that blackness came a low metallic knocking, measured as a pulse. The suspect reached the dead escalator and scrambled onto the side where the steps had been boarded over to make a ramp. He slipped, caught himself on one hand, then looked over his shoulder with a face gone white. “Don’t make me drag you out of here,” Quinn called. He fumbled inside his coat while backing up the ramp. Quinn’s hand closed round her pistol under the jacket but did not draw. Too many bodies. Too many unknowns. One bad shot and the whole station could erupt. “Hands where I can see them.” Instead, he yanked out a small object pale as old ivory and jammed it toward a rusted service gate at the top of the escalator. The gate shuddered. Something clicked behind the wall. A murmur rolled through the crowd around Quinn, not fear, not surprise. Recognition. The gate began to open.
created_at"2026-03-06T12:21:59.045Z" 3/6/2026, 12:21:59 PM
model"openai/gpt-5.4-20260305"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency375
moderation_latency(null)
generation_time84060
tokens_prompt1140
tokens_completion3477
native_tokens_prompt984
native_tokens_completion2848
native_tokens_completion_images0
native_tokens_reasoning0
native_tokens_cached0
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"completed"
usage0.04518
router(null)
provider_responses
0
endpoint_id"9ff5625c-403f-4d7f-b895-58ac7295062c"
id"resp_07fcd9d242b0e9a70169aac6e718d08195aa4816c58e7a76d6"
is_byokfalse
latency140
model_permaslug"openai/gpt-5.4-20260305"
provider_name"OpenAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer(null)
api_type"completions"
id"gen-1772799719-7VZJrlcq3tSpqMRQZIF4"
upstream_id"resp_07fcd9d242b0e9a70169aac6e718d08195aa4816c58e7a76d6"
total_cost0.04518
cache_discount(null)
upstream_inference_cost0
provider_name"OpenAI"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags6
adverbTagCount0
adverbTags(empty)
dialogueSentences28
tagDensity0.214
leniency0.429
rawRatio0
effectiveRatio0
100.00% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2263
totalAiIsmAdverbs0
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)
77.91% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2263
totalAiIsms10
found
0
word"streaming"
count1
1
word"measured"
count2
2
word"shattered"
count1
3
word"lurched"
count1
4
word"footsteps"
count1
5
word"velvet"
count1
6
word"scanned"
count1
7
word"throbbed"
count1
8
word"pulse"
count1
highlights
0"streaming"
1"measured"
2"shattered"
3"lurched"
4"footsteps"
5"velvet"
6"scanned"
7"throbbed"
8"pulse"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches0
maxInWindow0
found(empty)
highlights(empty)
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells0
narrationSentences205
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount1
hedgeCount4
narrationSentences205
filterMatches
0"watch"
hedgeMatches
0"managed to"
1"tended to"
2"seemed to"
3"began to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences227
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen45
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2263
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions1
unquotedAttributions0
matches(empty)
90.22% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions53
wordCount2091
uniqueNames21
maxNameDensity1.2
worstName"Quinn"
maxWindowNameDensity2
worstWindowName"Quinn"
discoveredNames
Harlow1
Quinn25
Static1
Raven1
Nest2
Camden3
Kentish1
Town1
Tuesday1
Underground1
Georgian1
Charing1
Cross1
Road2
Tottenham1
Court1
Morris1
Thames1
Yard1
Rain3
One3
persons
0"Harlow"
1"Quinn"
2"Static"
3"Nest"
4"Tuesday"
5"Morris"
6"Yard"
7"Rain"
8"One"
places
0"Raven"
1"Camden"
2"Kentish"
3"Town"
4"Georgian"
5"Charing"
6"Cross"
7"Road"
8"Tottenham"
9"Court"
10"Thames"
globalScore0.902
windowScore1
95.26% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences137
glossingSentenceCount3
matches
0"felt like paper held to a flame"
1"liquid that seemed to hold their own light"
2"looked like tiny yellow teeth"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2263
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences227
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs88
mean25.72
std28.03
cv1.09
sampleLengths
078
125
225
36
412
511
663
733
86
96
10113
1139
123
1377
141
1556
1617
1748
182
1929
203
2172
224
232
2410
253
2626
276
281
2957
308
3172
328
3365
342
357
366
3751
386
3933
4012
4133
425
4325
4446
453
4691
4711
4812
49110
98.42% Passive voice overuse
Target: ≤2% passive sentences
passiveCount4
totalSentences205
matches
0"been abandoned"
1"been painted"
2"were hidden"
3"been boarded"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount1
totalVerbs374
matches
0"was hunting"
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount0
flaggedSentences0
totalSentences227
ratio0
matches(empty)
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2097
adjectiveStacks0
stackExamples(empty)
adverbCount55
adverbRatio0.026227944682880304
lyAdverbCount5
lyAdverbRatio0.002384358607534573
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences227
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences227
mean9.97
std7.77
cv0.78
sampleLengths
015
129
234
325
410
515
62
74
812
911
104
116
121
132
145
1531
162
176
186
194
2029
216
226
2330
249
2521
268
2745
288
299
308
3114
323
3313
3412
356
3614
375
388
399
404
416
421
4326
4418
4512
4617
4711
485
4915
63.73% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats12
diversityRatio0.41409691629955947
totalSentences227
uniqueOpeners94
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount10
totalSentences186
matches
0"Then a clipped voice."
1"Then he looked up and"
2"Still saw blood slipping under"
3"Somewhere below, she caught the"
4"Too much concrete already."
5"Then another sound rode up"
6"Then a blink caught what"
7"Too many bodies."
8"Too many unknowns."
9"Instead, he yanked out a"
ratio0.054
100.00% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount42
totalSentences186
matches
0"He saw how close she"
1"She crossed in his wake,"
2"she threw over her shoulder"
3"She had first seen him"
4"She had not gone there"
5"She had gone because an"
6"She had watched the handoff"
7"Her shoes hit standing water"
8"Her breath came harsh and"
9"Her body kept the rhythm."
10"Her mind worked elsewhere, tallying"
11"He cut left through a"
12"She ripped free and dropped"
13"He flung something behind him"
14"He burst out onto Charing"
15"He was hunting cameras, sightlines,"
16"He stayed away from busier"
17"He knew the city too"
18"Her radio hissed again."
19"She ducked under a scaffold"
ratio0.226
86.34% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount139
totalSentences186
matches
0"Rain needled off the rooftops"
1"Soho shone like wet film:"
2"Detective Harlow Quinn cut through"
3"Quinn bared her teeth and"
4"The man glanced back."
5"Sodium light hit half his"
6"He saw how close she"
7"A driver leaned out and"
8"The suspect vanished into moving"
9"Quinn did not slow."
10"She crossed in his wake,"
11"she threw over her shoulder"
12"The word vanished in the"
13"She had first seen him"
14"The Nest’s windows had sweated"
15"She had not gone there"
16"She had gone because an"
17"She had watched the handoff"
18"A barman passed a wrapped"
19"The courier tucked it into"
ratio0.747
80.65% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount3
totalSentences186
matches
0"Now he ran."
1"Now the platform below her"
2"To her left, a section"
ratio0.016
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences85
technicalSentenceCount2
matches
0"He burst out onto Charing Cross Road, swerved round a cluster of drenched theatre-goers under umbrellas, then darted down toward Tottenham Court Road station be…"
1"The suspect cut across an empty bus lane and plunged into Camden’s back streets, where fried chicken shops sat beside pawnbrokers and betting shops, their signs…"
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags6
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags2
fancyCount1
fancyTags
0"Quinn snapped (snap)"
dialogueSentences28
tagDensity0.071
leniency0.143
rawRatio0.5
effectiveRatio0.071
96.4172%