NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-03-18-01KM07T9KVB7WXAY2KVM8KS6TH
Run Details
Model:
GPT-5.4 Mini (Reasoning, Low)
Test:
Bad Writing Habits
Scenario:
Literary fiction: old friends reunite
Duration:
18.0s
Cost:
$0.015348
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
93.44%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
89.06%
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)
0.00%
Name drop frequency
(details)
68.48%
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)
94.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
45.27%
Sentence opener variety
(details)
51.28%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
0.00%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
81.28%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
84.0936%
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="4412" name="Aurora Carter" aliases="Rory, Laila, Aurora, Carter, Malphora" pronouns="she/her" species="Human" storyRole="Protagonist"> <eyeColor>bright blue</eyeColor> <hair>straight shoulder-length black</hair> <height>5'6"</height> <age>25</age> <scar>small crescent-shaped scar on her left wrist from a childhood accident</scar> <description>Aurora, referred to by her friends as Rory, is cool-headed, intelligent, and known for quick out-of-the-box thinking.</description> <backstory>Born in Cardiff to an Irish barrister father (Brendan Carter) and Welsh teacher mother (Jennifer Carter née Ellis), Rory reluctantly pursued Pre-Law at Cardiff University. She fled to London at the behest of her childhood friend Eva after leaving an abusive ex named Evan. By day, Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant. She lives in a flat above Silas' bar.</backstory> </character> <character id="4413" name="Silas Blackwood" aliases="Silas, Si, the Spymaster" pronouns="he/him" species="Human" storyRole="Mentor"> <eyeColor>hazel</eyeColor> <hair>grey-streaked auburn</hair> <height>6'1"</height> <age>58</age> <beard>neatly trimmed, matching his grey-streaked auburn hair</beard> <limp>slight limp in his left leg from an old knee injury</limp> <signetRing>silver signet ring, always worn on his right hand</signetRing> <description>Silas is a retired intelligence operative turned bar owner. He carries himself with quiet authority.</description> <backstory>Former MI6 field agent who retired after a botched operation in Prague left him with a permanent knee injury. He opened "The Raven's Nest" bar in Soho as a front for his network of contacts.</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> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the literary fiction genre. Two old friends who haven't seen each other in years run into each other unexpectedly at a bar. One of them has changed significantly. Through their conversation and the tension between who they were and who they've become, reveal the weight of time and unspoken regret. 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 green neon over The
Raven’s Nest buzzed against the wet Soho night, washing the pavement in a sickly emerald glow.
Rory shoved the door with
her shoulder, rain still clinging to the ends of her black hair, and the warm bar air hit her in the face with gin, polish, and old wood.
Someone had cranked the music
low enough to let the chatter carry. Silas stood behind the bar, one hand on a glass, his silver ring flashing when he turned it.
His limp showed more when
he came around the counter, careful with the bad leg. “You’re late.”
Rory slipped her delivery bag
off one shoulder. “You’re charming as ever.”
His mouth twitched, nearly a
smile. “Kitchen’s on your side tonight. Yu-Fei rang. She’s furious.” “Then I’ll avoid eye contact and live.”
He angled his chin towards
the crowd. “You’ve got company.”
Rory followed his gaze, expecting
one of the regulars with a complaint or a tab or both.
Instead, she caught on a
woman in a dark coat standing half-turned near the back shelves, one hand wrapped around a glass she
wasn’t drinking
from.
The overhead lights cut across
her face.
Rory stopped so hard the
strap of her bag slid down her arm. “Tamsin?” The woman looked up. For one beat, nothing moved in the room.
Then Tamsin’s face changed in
little flickers, surprise first, then something raw and unguarded that vanished just as fast. She set the glass down. “Rory Carter.” Rory stared. “Jesus.”
Tamsin let out a breath
that sounded half laugh, half choke.
She had the same sharp
jaw Rory remembered, the same pale eyes, but the rest of her had
been overhauled
.
Her hair, once a wild
dark curtain she kept sticking pencil pens through at Cardiff, had been cut into a glossy blunt line that brushed her chin.
She wore a fitted coat
and boots without a scuff on them. No rings. No ripped sleeves. No cheap charity-shop scarf from winter nights stumbling back from the library.
She looked like she belonged
in a glass tower, not a sticky-floored bar tucked under a crooked neon sign. “You look like you’ve got a private driver,” Rory said.
Tamsin’s mouth lifted at one
corner. “And you look like you’ve been dragged through weather and won.”
Silas cleared his throat behind
Rory. “Old friends?” “Old,” Rory muttered. Tamsin’s gaze
flicked
to Silas. “You still looked after strays, then.” Silas tipped his head, assessing. “Some of them.” “Does that mean I’m one of the dangerous ones?” Tamsin asked. “It means I’m still deciding.” Rory snorted despite herself, and the sound cracked something open.
She stepped closer, slow enough
to
feel
the distance between them. “When did you get back?” “Tonight.” “From where?” “New York.” Rory blinked. “Of course it was.” Tamsin’s eyes searched her face with a care that made Rory’s neck tighten. “You didn’t know.” “No,” Rory said. “I didn’t even know you were alive.” Tamsin flinched. “That’s fair.” Silas set the glass down and wandered off along the bar, leaving them with the jukebox hum and the low murmur of strangers pretending not to listen. Rory leaned her hip against a table, fingers curling against the worn wood. “You vanished after graduation.” “I know.” “You said you were taking a week in Brighton. A week.” Rory tilted her head. “That turned into what, seven years?” “Six and a half.” “Do you want a prize for precision?” Tamsin looked at the floor, then back up. “I deserved that.” Rory laughed once, flat and dry. “That’s your whole comeback?” “No.” Tamsin picked up the untouched drink, then put it back down. “I got a job. I moved twice. I stopped thinking I’d come back before I knew where back was.” Rory pushed off the table. “And you never picked up a phone?” Tamsin’s jaw worked. “I did.” “Funny. Mine never rang.” “It rang.”
Her voice dropped
. “I hung up.” Rory went still. The clink of glasses from behind the bar came too loud. A couple near the window burst into laughter. Someone opened the door and cold air slid in, carrying rain and taxi fumes and the taste of the city. Rory wrapped her arms around herself, not from cold. “Why?” she asked. Tamsin looked at her hands as if they belonged to someone else. “Because I heard your voice and I couldn’t take it.” Rory stared. “That’s nonsense.” “It was easier than saying I left you.” “You did leave me.” Tamsin’s face tightened. “I know.” Rory felt the old Cardiff streets under her feet, wet pavements, campus paths, the pub on Salisbury Road where they’d shared chips out of the paper and planned futures with reckless mouths. Tamsin had once sworn she’d never end up trapped in an office. Rory had once said she’d never go to law because she hated arguing for a living. They had both been wrong, though in different directions. Rory pressed her tongue to the back of her teeth. “You could’ve written.” “I started.” “Then what?” “Then I tore them up.” “Very brave.” Tamsin gave a tiny, pained smile. “You always did hate cowardice in other people.” “In other people? That’s generous.” Tamsin’s eyes held hers, and Rory saw the person she had known at nineteen, all elbows and opinions and laughing in the face of bad weather. The face had changed, but some angles were still there, buried under the years. “What happened to you?” Rory asked. Tamsin barked a quiet laugh without humour. “That’s a big question in a small bar.” “Answer the small version.”
She looked away towards the
maps pinned to the walls, the black-and-white photographs of old London, old men, old streets. “I got tired of being the clever one with no money, no plan, and no future. I took an internship in Edinburgh. Then London. Then New York. Then I stayed because people there wanted me useful.” “You weren’t useful here?” “Here I was always someone’s student. Someone’s flatmate. Someone who borrowed change and missed deadlines and said things I couldn’t back up.” Tamsin’s fingers tapped once on the glass. “There, I became the version of me that never hesitated.” Rory folded her arms harder. “And was that better?” Tamsin met her eyes. “No.” The answer landed clean. No wobble. No polite escape. Rory looked at her for a long moment, then sat down opposite, the chair legs scraping the floor. “So what brings you to Soho, then? Besides your dramatic entrance.” Tamsin dragged a hand through her cut hair, a small
gesture that seemed to irritate her
. “I’m working on a project here.” “In London.” “Yes.” “In a bar you happened to wander into.” Her mouth tightened. “I didn’t know you worked here.” Rory barked out a laugh. “I don’t, not properly. I deliver food, I live upstairs, and Silas robs me for rent in a friendly way.” “Still living under the Spymaster, then.” Rory glanced towards Silas, who had pretended to stop listening with the skill of a man who had spent a career hearing what people refused to say. “He’s not a spymaster.” Tamsin’s brow arched. “He hates that.” “Then it’s probably true.” Rory couldn’t help it. A grin tugged at her mouth and vanished when Tamsin noticed. “You still do that,” Tamsin said. “Do what?” “Flash your teeth like you’re about to bite someone and then decide not to.” Rory’s hand drifted to her wrist, thumb brushing the small crescent scar there without thinking. “Old habits.” Tamsin watched the motion. “That from when you were six?” “Eight. The swing set won.” Rory tucked her hand away. “You remembered.” “I remembered a lot.” Rory gave her a look. “Enough to forget me, apparently.” Tamsin’s shoulders sank by a fraction. “You moved, Rory. Cardiff, then London. You vanished from the map before I had the courage to ask where you went.” “That’s rich.” “I know.” Silas appeared at Rory’s elbow with a clean glass and a fresh pour of something amber.
He set it down without
ceremony. “On the house,” he said. “For the reunion.” Rory glanced up. “You’re softening.” “No.” His gaze shifted to Tamsin, cool and direct. “I’m curious.”
He walked off before either
of them could answer. Tamsin watched him go. “He always spoke like that?” “Only when he wanted to make people sweat.” “He’s good at it.” “He learned from better villains.” That got a real laugh out of her, brief but bright, and for a second the years slipped. Rory saw Cardiff again, damp pavement shining under streetlamps, Tamsin with her sleeves rolled up and a campus library card jammed in her mouth while she searched for a pen. She saw herself younger, thinner, hungrier, thinking friendships lasted because they had to. The laugh faded. Tamsin rubbed her thumb over the condensation on her glass. “You look well.” Rory huffed. “I have two jobs, a landlord with a limp, and a fridge that sounds like it’s dying. Don’t start lying to me now.” “I meant it.” Rory studied her. “You don’t look well.” Tamsin didn’t dodge. “I’m not.” The honesty made the room
feel
smaller. Rory leaned back, chair creaking beneath her. “What’s that supposed to mean?” “It means I spent a long time pretending I’d become the exact woman I meant to be.” Tamsin’s mouth flattened. “Turns out I only became
very
good at hiding the parts that didn’t fit.” Rory
let that sit
between them. Outside, a bus hissed past the window. A siren dopplered somewhere in the distance and died. “You could’ve said any of this years ago,” Rory said. “I know.” “You could’ve come to my flat. You knew where I was.” Tamsin’s eyes lifted. “Would you have let me in?” Rory opened her mouth, shut it, and
hated that the
answer didn’t come
quickly
. Tamsin gave a small nod, as if she had heard the
silence
with
perfect
clarity. “That’s why I stayed away.” “That wasn’t your call.” “No.”
Her voice sharpened
. “It was mine. That was the problem. Everything important was.” Rory stared at her. “You make it sound noble.” “It wasn’t noble.” Tamsin pushed the untouched drink aside. “I was frightened. Of you being angry. Of seeing you and knowing I’d thrown away something I didn’t understand until it was gone.” Rory’s throat tightened, annoyance and grief crossing in a hard knot. “We weren’t that dramatic.” Tamsin’s
eyes narrowed
. “Rory.” “What?” “We were always that dramatic.” That drew a reluctant grin from Rory, though it hurt more than it should have.
She looked down at the
scar on her wrist again, at the pale crescent that had outlasted every version of her. “You remember my father’s awful tea?” Tamsin’s face shifted at once, a memory tugging at the corners. “The one that tasted like boiled pennies?” “He was proud of that kettle.” “He looked offended when I poured milk in it.” “You did pour milk in it.” “You said it needed help.” Rory laughed, and this time it came easier. “I did.” Tamsin smiled, and for a moment neither of them spoke. The bar breathed around them. Glasses knocked. The bass from the music thudded through the floorboards. On the wall behind Tamsin, a black-and-white photograph showed a street in Soho from decades ago, men in hats and women in dark coats moving under the fog. Rory
traced
the rim of her glass with one finger. “Why come here tonight?” Tamsin’s smile faded.
She took a breath, then
another,
as if deciding whether to let the answer out
. “Because I wanted to see the city before morning. Because I didn’t know if I’d come. Because I knew if I walked in anywhere public, I’d have to keep myself together.” “That sounds awful.” “It was.” Tamsin glanced at her. “And because this was the only place I could think of where someone like Silas would let me sit alone with my panic and not call it that.” Rory looked across the bar at Silas, who
was polishing
a glass with the patience of a man who had buried worse things than awkward reunions. “He’s got a soft spot,” Rory said. “For you, maybe.” “For anyone who looks like they might break.” Tamsin’s gaze returned to Rory’s face, steady and searching. “Did you break?” The question landed somewhere old and raw. Rory’s fingers tightened around the glass. She thought of Evan’s hands, of Cardiff rain, of the flat above the bar, of nights when the ceiling seemed too low and the whole city pressed in around her ribs. She tipped her chin, not giving Tamsin the easiest answer. “I bent,” she said. “Then I kept going.” Tamsin’s eyes shone, but she didn’t blink it away. “That sounds like you.” Rory gave a short nod. “And you?” Tamsin looked down at her hands again. “I kept going too.” “Badly, by the sound of it.” A small breath of laughter escaped her. “Yes.” Rory stared at her for a beat, then shoved the glass towards her across the table. “Drink.” Tamsin looked at it. “What is it?” “Silas’s choice. Which means expensive and suspicious.” “That’s not
comforting
.” “You’ve had worse.” Tamsin’s mouth quirked. She picked up the glass, still watching Rory as if she expected the room to shift under her. “To old friends, then.” Rory lifted her own glass but didn’t touch it to hers. “To not disappearing quite so neatly next time.” Tamsin held her gaze, and this time she nodded once, slow and plain. The bar noise rolled on around them, but the space at their table held still, full of everything neither of them had said for years, full of the shape of what had
been lost
and what remained stubbornly, inconveniently alive.
created_at
"2026-03-18T10:28:15.11Z"
3/18/2026, 10:28:15 AM
model
"openai/gpt-5.4-mini-20260317"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
1235
moderation_latency
(null)
generation_time
17843
tokens_prompt
1094
tokens_completion
3819
native_tokens_prompt
982
native_tokens_completion
3247
native_tokens_completion_images
0
native_tokens_reasoning
115
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.015348
router
(null)
provider_responses
0
endpoint_id
"9ee065b2-3d1c-43bc-bdd7-28af3b148282"
id
"resp_02e20f022c8de51a0169ba7e3f2db88195b1f37f0280a62ec9"
is_byok
false
latency
199
model_permaslug
"openai/gpt-5.4-mini-20260317"
provider_name
"OpenAI"
status
200
user_agent
"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer
(null)
api_type
"completions"
id
"gen-1773829695-yAosBiSTR6oRSwYhQ59H"
upstream_id
"resp_02e20f022c8de51a0169ba7e3f2db88195b1f37f0280a62ec9"
total_cost
0.015348
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
21
adverbTagCount
1
adverbTags
0
"Tamsin’s fingers tapped once [once]"
dialogueSentences
147
tagDensity
0.143
leniency
0.286
rawRatio
0.048
effectiveRatio
0.014
93.44%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2285
totalAiIsmAdverbs
3
found
0
adverb
"very"
count
2
1
adverb
"quickly"
count
1
highlights
0
"very"
1
"quickly"
100.00%
AI-ism character names
Target: 0 AI-default names (16 tracked, −20% each)
codexExemptions
0
"Blackwood"
found
(empty)
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
89.06%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2285
totalAiIsms
5
found
0
word
"flicked"
count
1
1
word
"silence"
count
1
2
word
"perfect"
count
1
3
word
"traced"
count
1
4
word
"comforting"
count
1
highlights
0
"flicked"
1
"silence"
2
"perfect"
3
"traced"
4
"comforting"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
2
maxInWindow
1
found
0
label
"let out a breath"
count
1
1
label
"eyes widened/narrowed"
count
1
highlights
0
"let out a breath"
1
"eyes narrowed"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
149
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
3
narrationSentences
149
filterMatches
0
"feel"
hedgeMatches
0
"seemed to"
1
"tended to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
275
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
40
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2285
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
21
unquotedAttributions
0
matches
(empty)
0.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
121
wordCount
1445
uniqueNames
11
maxNameDensity
3.81
worstName
"Rory"
maxWindowNameDensity
6.5
worstWindowName
"Rory"
discoveredNames
Raven
1
Nest
1
Soho
2
Tamsin
46
Rory
55
Cardiff
4
Silas
8
Salisbury
1
Road
1
London
1
Evan
1
persons
0
"Raven"
1
"Nest"
2
"Tamsin"
3
"Rory"
4
"Silas"
5
"Evan"
places
0
"Soho"
1
"Cardiff"
2
"Salisbury"
3
"Road"
4
"London"
globalScore
0
windowScore
0
68.48%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
92
glossingSentenceCount
3
matches
0
"looked like she belonged in a glass tower"
1
"gesture that seemed to irritate her"
2
"as if deciding whether to let the answer out"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
2285
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
2
totalSentences
275
matches
0
"let that sit"
1
"hated that the"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
160
mean
14.28
std
15.71
cv
1.1
sampleLengths
0
66
1
33
2
2
3
12
4
15
5
7
6
10
7
50
8
13
9
1
10
4
11
32
12
2
13
3
14
106
15
10
16
17
17
8
18
3
19
11
20
8
21
11
22
5
23
26
24
1
25
2
26
2
27
6
28
16
29
10
30
4
31
27
32
17
33
2
34
21
35
4
36
7
37
11
38
10
39
31
40
12
41
5
42
4
43
8
44
3
45
48
46
3
47
22
48
4
49
8
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
2
totalSentences
149
matches
0
"been overhauled"
1
"been lost"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
2
totalVerbs
254
matches
0
"wasn’t drinking"
1
"was polishing"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
275
ratio
0
matches
(empty)
94.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1452
adjectiveStacks
1
stackExamples
0
"younger, thinner, hungrier, thinking"
adverbCount
45
adverbRatio
0.030991735537190084
lyAdverbCount
5
lyAdverbRatio
0.003443526170798898
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
275
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
275
mean
8.31
std
7.32
cv
0.881
sampleLengths
0
21
1
33
2
12
3
18
4
15
5
2
6
8
7
4
8
6
9
9
10
7
11
7
12
3
13
17
14
26
15
7
16
13
17
1
18
4
19
8
20
19
21
5
22
2
23
2
24
1
25
11
26
20
27
27
28
12
29
2
30
3
31
12
32
19
33
10
34
6
35
11
36
6
37
2
38
3
39
5
40
6
41
5
42
3
43
11
44
5
45
10
46
11
47
5
48
1
49
2
45.27%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
13
diversityRatio
0.2109090909090909
totalSentences
275
uniqueOpeners
58
51.28%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
2
totalSentences
130
matches
0
"Instead, she caught on a"
1
"Then Tamsin’s face changed in"
ratio
0.015
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
23
totalSentences
130
matches
0
"His limp showed more when"
1
"His mouth twitched, nearly a"
2
"He angled his chin towards"
3
"She set the glass down."
4
"She had the same sharp"
5
"Her hair, once a wild"
6
"She wore a fitted coat"
7
"She looked like she belonged"
8
"She stepped closer, slow enough"
9
"Her voice dropped"
10
"They had both been wrong,"
11
"She looked away towards the"
12
"Her mouth tightened."
13
"He set it down without"
14
"His gaze shifted to Tamsin,"
15
"He walked off before either"
16
"She saw herself younger, thinner,"
17
"Her voice sharpened"
18
"She looked down at the"
19
"She took a breath, then"
ratio
0.177
0.00%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
122
totalSentences
130
matches
0
"The green neon over The"
1
"Rory shoved the door with"
2
"Someone had cranked the music"
3
"Silas stood behind the bar,"
4
"His limp showed more when"
5
"Rory slipped her delivery bag"
6
"His mouth twitched, nearly a"
7
"He angled his chin towards"
8
"Rory followed his gaze, expecting"
9
"The overhead lights cut across"
10
"Rory stopped so hard the"
11
"The woman looked up."
12
"She set the glass down."
13
"Tamsin let out a breath"
14
"She had the same sharp"
15
"Her hair, once a wild"
16
"She wore a fitted coat"
17
"She looked like she belonged"
18
"Tamsin’s mouth lifted at one"
19
"Silas cleared his throat behind"
ratio
0.938
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
130
matches
(empty)
ratio
0
81.28%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
58
technicalSentenceCount
5
matches
0
"Her hair, once a wild dark curtain she kept sticking pencil pens through at Cardiff, had been cut into a glossy blunt line that brushed her chin."
1
"Tamsin’s eyes searched her face with a care that made Rory’s neck tighten."
2
"Tamsin dragged a hand through her cut hair, a small gesture that seemed to irritate her."
3
"Rory glanced towards Silas, who had pretended to stop listening with the skill of a man who had spent a career hearing what people refused to say."
4
"Rory looked across the bar at Silas, who was polishing a glass with the patience of a man who had buried worse things than awkward reunions."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
21
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
11
fancyCount
1
fancyTags
0
"Rory muttered (mutter)"
dialogueSentences
147
tagDensity
0.075
leniency
0.15
rawRatio
0.091
effectiveRatio
0.014
84.0936%