NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-10-05-01M46B7Q82E629TXJZ7A896T5W
Run Details
Model:
GPT-6.1 Sol (Reasoning, Medium)
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
1m 20s
Cost:
$0.029816
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
72.29%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
86.14%
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)
83.33%
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)
95.00%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
99.88%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
43.54%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
28.00%
Pronoun-first sentence starts
(details)
63.33%
Subject-first sentence starts
(details)
66.67%
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)
91.2729%
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="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="4415" name="Lucien Moreau" aliases="Lucien, Luc, the Frenchman" pronouns="he/him" species="Half-Demon" storyRole="Ally"> <eyeColor>heterochromatic — one amber, one black</eyeColor> <hair>slicked-back platinum blond</hair> <height>5'11"</height> <age>32</age> <cane>ivory-handled cane that conceals a thin blade</cane> <dress>tailored charcoal suits</dress> <description>An impeccably dressed fixer and information broker in London's supernatural underworld. He speaks four languages fluently.</description> <backstory>Born in Marseille to a human mother and a demon father from the realm of Avaros.</backstory> </character> <location id="858" name="Eva's Flat" aliases="Eva's place, the flat on Brick Lane" realm="Earth"> <cat>tabby cat named Ptolemy</cat> <security>three deadbolts on the front door</security> <description>A cramped one-bedroom flat above a curry house on Brick Lane, East London. Every surface is covered with books, scrolls, and research notes.</description> </location> </codex> Write a fully fleshed out scene of at least 1000 words in the romance genre. Two people who parted on complicated terms are forced together again when one shows up unannounced at the other's flat. There's history between them — attraction, hurt, and things left unsaid. Write the scene from the moment the door opens. 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 door opened as far
as the chain allowed, and Lucien Moreau stood on the other side with rain shining on the shoulders of his charcoal suit.
Rory’s first thought was that
he looked tired. She resented herself for noticing. “No,”
she said, and pushed the
door shut.
His cane caught it before
the latch met the frame.
Not the ivory handle, but the narrow black shaft, held between two fingers
. “Rory.”
She looked down at the
cane, then up at him. He withdrew it immediately. That, at least, was new. Through the gap, his amber eye caught the weak landing light.
The black one gave nothing
back.
His platinum hair, usually slicked
into ruthless order, had come loose at one temple. “Eva isn’t here,” Rory said. “I know.” “Then you’ve made a wasted journey.” “I came to see you.” Under other circumstances, those words might have undone her. Six weeks ago, she would have let him in before he finished saying her name.
She would have taken his
wet coat, put the kettle on, and pretended not to watch his hands.
Now she kept one foot
behind the door. “How did you know I was here?” “Silas told me you were looking after the cat.” “Silas needs to learn the phrase ‘none of your business.’” “I suspect he knows it. He used it several times before telling me.” Behind her, Ptolemy began dragging his claws down the side of a cardboard box.
He had spent the evening
ignoring her until she opened the door, at which point he had apparently remembered his obligations as Eva’s tiny, striped landlord. Lucien glanced past her. “Is he destroying something valuable?” “Possibly a seventeenth-century manuscript. Possibly an electricity bill. Eva’s filing system is ambitious.”
The corner of his mouth
moved. She hated that, too.
The familiar shape of an
almost-smile.
The instant, traitorous answer in
her own chest. “What do you want?” He reached into his coat. Rory went still. His hand stopped.
Slowly, he brought it back
out, empty. “An envelope,” he said. “Inside pocket. May I?” She nodded once. He produced a cream envelope, rain-softened at one corner, and held it through the gap.
Her name was written on
the front in his neat, slanting hand. “What’s this?” “The truth.” “Bit small for six weeks’ worth.” “Yes.” No deflection. No polished little joke. That disturbed her more than an excuse would have.
She took the envelope, intending
to close the door. Behind her, something crashed. Rory turned. Ptolemy stood on the kitchen counter among the fragments of a mug, his tail upright and his expression untroubled. “Oh, you absolute bastard.” Lucien said nothing. “That was directed at the cat.” “I wasn’t certain.” She almost laughed.
It arrived painfully, like feeling
returning to a numb limb. Ptolemy stepped towards the broken ceramic. “Don’t move.” Rory slipped the chain free and pulled the door open. “Stay there.” She crossed the narrow room, scooped the cat off the counter, and deposited him on a chair piled with research notes. Curry rose through the floorboards, warm with cumin and fried onions. Rain ticked against the window. On the table, Eva’s books formed precarious towers around the remains of Rory’s dinner. When she glanced back, Lucien still stood on the landing. She could make him leave.
He had hurt her; he
did not get admission simply because his hair was wet and he had finally remembered how to apologise. But she wanted to hear him. That was the inconvenient truth she had been avoiding for six weeks. “Come in,” she said. “Mind the papers.” He stepped over the threshold and shut the door without
being asked
. Rory watched him turn all three deadbolts. The small, domestic gesture brought back another door, another night: his hand braced above her head, his mouth close
enough that she
had felt his breath before the kiss. She looked away. “There’s a dustpan under the sink.” He took off his coat, laid it over the back of the unoccupied chair, and went to find it. “You don’t have to do that,” she said. “You told me where it was.” “I was informing you of its existence.” “A valuable distinction.” He crouched to collect the larger pieces. His trousers probably cost more than her month’s wages from the Golden Empress. She took an unreasonable amount of satisfaction in watching the knees touch Eva’s grubby linoleum. Rory opened the envelope. Inside was a single sheet, folded around a small brass key. “What does this open?” “A deposit box in Clerkenwell. The address is there.” She unfolded the paper. An address, a number, and a list of names. Some she recognised. Most she didn’t. At the bottom was an instruction authorising Aurora Carter to collect the contents, followed by Lucien’s signature. “What contents?” “Everything I have concerning the arrangement I made with Vale.” The name tightened something beneath her ribs. She could still see Lucien outside the club in Soho, immaculate under the red awning, telling her the meeting
was cancelled
.
Still hear his voice when
she asked whether he had given Vale her name. Yes, he had said. And then, worse: You don’t understand what you’re
involved
in.
As if ignorance were something
wrong with her, rather than something he had
carefully
maintained. “You said there were no records.” “I lied.” Lucien set a piece of broken handle in the dustpan. Rory gripped the paper. “You’re doing a lot better with short sentences tonight.” “I’ve had time to practise.” “Lucky you.” He looked up at that, but she couldn’t read his expression. She put the key on the table. It clicked against the wood. “Why now?” “Because you asked me to leave you alone, and I mistook obeying that for making amends.” “You did obey it.” “In the easiest possible way.” He finished sweeping, emptied the dustpan into the bin, and washed his hands. Rory watched the water run over his long fingers. She remembered those fingers fastening a borrowed necklace at the back of her neck. He had lifted her hair
gently
, without making a joke about how
very
still she stood. She wished memory had the courtesy to arrive in order. The hurt should have come first. Lucien dried his hands on a tea towel printed with aggressively cheerful lemons. “I gave Vale your name,” he said. “I told myself it was a
calculated
risk. That I could control what happened afterwards.” “You sent me into that room.” “Yes.” “Knowing he needed a human witness.” “Yes.” “And you knew what it would cost me if he got the oath out of me.” His jaw tightened. “I knew.” She had wondered whether hearing him admit it would help. It did, a little. It also made her want to throw something. “Then why?” “Because I wanted the ledger he was holding. Because it contained the names of people I had promised to find. Because I thought, if I went with you, nothing would happen that I couldn’t stop.” “You weren’t there when the doors locked.” “No.” The rain filled the
silence
. Rory folded the paper along its original crease, then opened it again. “I spent three hours wondering whether you’d meant it,” she said. “All of it. Every time you came to see me. Every ridiculous excuse to order food from the restaurant when you could have sent someone. I wondered when you’d decided I might be useful.” His face changed. Not dramatically; Lucien seldom allowed himself that. But she saw the effort it took him to remain still. “Never like that.” “You understand why that’s difficult to believe.” “Yes.” She waited. He did not dress it up. “I wanted you,” he said at last. “I enjoyed being with you. Neither of those things stopped me from doing something unforgivable.” Rory looked down at the list. His honesty had come much too late, but she found herself leaning towards it anyway. “What’s in the box that isn’t on this page?” “The ledger. Copies of my correspondence with Vale. A statement of exactly what I offered him and what he offered me.” “You’ve put your own deals in writing?” “Yes.” “Someone could use that against you.” “You should have something besides my word.” For the first time that evening, she had no answer ready. Ptolemy jumped down from the chair and wound himself around Lucien’s ankle. Lucien looked at the cat as if this were a negotiation for which he had received no briefing. “Don’t be flattered,” Rory said. “He likes expensive fabric.” “I’ll endeavour to remain humble.” She sat on the edge of Eva’s bed, the only clear place in the room. The mattress dipped beneath her. She
was tired
suddenly
, tired of keeping her anger sharpened so she could hold it between herself and everything else. Lucien remained by the kitchen. “You can sit,” she said. He moved a stack of journals from the chair to the floor,
carefully
preserving their order, and sat. Ptolemy immediately climbed into his lap. Rory rubbed her left wrist, her thumb following the little crescent scar. “I won’t be managed,” she said. “I’ve done enough of that.” His gaze
flicked
to her hand and returned to her face. He knew some of it. Not all. She had told him about Evan one night above Silas’s bar, when it had
seemed impossible that Lucien could become another man whose decisions she had to survive
. “I know.” “No. I need you to understand. You don’t get to decide what I can bear, or what I need to know. If something is dangerous, tell me. If you’re frightened, say so. Don’t make it my job to discover it after you’ve put me in the middle.” “I was frightened,” he said. She hadn’t expected that. “Of Vale?” “Of losing the people in that ledger. Of failing them.” He looked down at Ptolemy, who had begun kneading one immaculate thigh. “And afterwards, of this conversation.” “You should be. I’m
very
intimidating.” “Extremely.” Her mouth betrayed her at last.
Only a small smile, but
he saw it. She knew he saw it because he
carefully
did not smile back. That restraint hurt in a different way. “Why didn’t you kiss me?” she asked. He lifted his head. “The last night,” she said. “Before all of it. You walked me home. We stood outside the bar for twenty minutes discussing a broken streetlight.” “I remember.” “I’d rather die than discuss a streetlight that long again.” “I thought if I kissed you, I would tell you everything.” “You should have.” “Yes.” She stood and crossed the small space between them. Lucien moved the cat
gently
onto the neighbouring pile of journals and rose. Up close, she could see a fine nick beneath his jaw. His collar sat
slightly
crooked. She had missed him with an indignity that still annoyed her. “I’m still angry,” she said. “I know.” “I might be angry tomorrow.” “I expect so.” “And this isn’t settled because you’ve given me a key.” “No.” She touched his lapel. Just the edge of it, between finger and thumb. He stayed still. “You can ask,” she said. His breath caught
softly
. “May I kiss you?” Rory considered him for a moment longer than kindness required. “Yes.” He bent towards her
slowly
enough that she
could have changed her mind. His mouth brushed hers, warm and tentative, and the ache of recognising him almost stopped her breathing. She caught his jacket and kissed him again. His hand settled at her waist, light at first. She stepped closer.
Only then did he draw
her in, and she let herself have it: the solid
warmth
of him, the faint smell of rain in his hair, the way he paused when she did. When she pulled back, he rested his forehead against hers. Neither spoke. Ptolemy knocked a journal onto the floor. Rory closed her eyes. “He’s charging you rent.” Lucien’s laugh was quiet, startled out of him. She felt it where her hand lay against his chest. She stepped away before wanting could make decisions for her. “I’m going to collect that box tomorrow.” “I’ll arrange—” His mouth stopped. Rory raised an
eyebrow
. He tried again. “Would you like me to come with you?” She picked up the brass key and closed her fingers around it. “Yes,” she said. “But I’m carrying this.” “Of course.” “And tonight you can make tea.” He glanced towards the kettle. “Is that permission to stay?” “For tea.” “For tea,” he agreed. Rory sat at the table and moved Eva’s notes out of the way. Behind her, the tap ran, then stopped. The kettle clicked on. When Lucien asked where Eva kept the mugs, Rory pointed to the cupboard and watched him open it. There would be other questions. Tomorrow she would read his correspondence, and perhaps find fresh reasons to be furious. For now, he set a mug in front of her and waited to be told how she took it. She
liked that he
asked.
created_at
"2026-10-05T15:34:36.557Z"
10/5/2026, 3:34:36 PM
model
"openai/gpt-6.1-sol-20260929"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
9038
moderation_latency
(null)
generation_time
79826
tokens_prompt
788
tokens_completion
3552
native_tokens_prompt
753
native_tokens_completion
2831
native_tokens_completion_images
0
native_tokens_reasoning
55
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.029816
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.21.0; linux; x64))"
http_referer
(null)
request_id
"req-1791214476-mZ2dWOycEbeHnD6Cpr8O"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1791214476-uC7mn0O76s9xEnyxTRe9"
upstream_id
"resp_09d7b3f2235a9ec8016ac3c38cb12087d184177d1e00cbea6c"
provider_responses
0
endpoint_id
"dfb9d5c3-63f9-4263-8b78-4fa97dcb3d5e"
id
"resp_09d7b3f2235a9ec8016ac3c38cb12087d184177d1e00cbea6c"
is_byok
false
latency
651
model_permaslug
"openai/gpt-6.1-sol-20260929"
provider_name
"OpenAI"
status
200
total_cost
0.029816
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
19
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
111
tagDensity
0.171
leniency
0.342
rawRatio
0
effectiveRatio
0
72.29%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2165
totalAiIsmAdverbs
12
found
0
adverb
"slowly"
count
2
1
adverb
"carefully"
count
3
2
adverb
"gently"
count
2
3
adverb
"very"
count
2
4
adverb
"suddenly"
count
1
5
adverb
"slightly"
count
1
6
adverb
"softly"
count
1
highlights
0
"slowly"
1
"carefully"
2
"gently"
3
"very"
4
"suddenly"
5
"slightly"
6
"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)
86.14%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2165
totalAiIsms
6
found
0
word
"familiar"
count
1
1
word
"calculated"
count
1
2
word
"silence"
count
1
3
word
"flicked"
count
1
4
word
"warmth"
count
1
5
word
"eyebrow"
count
1
highlights
0
"familiar"
1
"calculated"
2
"silence"
3
"flicked"
4
"warmth"
5
"eyebrow"
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
171
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
171
filterMatches
(empty)
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
263
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
47
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2165
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
31
unquotedAttributions
0
matches
(empty)
83.33%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
58
wordCount
1493
uniqueNames
14
maxNameDensity
1.27
worstName
"Rory"
maxWindowNameDensity
2.5
worstWindowName
"Lucien"
discoveredNames
Lucien
16
Moreau
1
Ptolemy
7
Eva
6
Rory
19
Golden
1
Empress
1
Aurora
1
Carter
1
Soho
1
Vale
1
You
1
Evan
1
Silas
1
persons
0
"Lucien"
1
"Moreau"
2
"Ptolemy"
3
"Eva"
4
"Rory"
5
"Aurora"
6
"Carter"
7
"You"
8
"Evan"
9
"Silas"
places
0
"Golden"
1
"Soho"
globalScore
0.864
windowScore
0.833
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
104
glossingSentenceCount
2
matches
0
"h point he had apparently remembered his obli"
1
"seemed impossible that Lucien could become another man whose decisions she had to survive"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
1
per1kWords
0.462
wordCount
2165
matches
0
"Not the ivory handle, but the narrow black shaft, held between two fingers"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
3
totalSentences
263
matches
0
"was that he"
1
"enough that she"
2
"liked that he"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
187
mean
11.58
std
11.12
cv
0.96
sampleLengths
0
27
1
8
2
5
3
8
4
23
5
1
6
10
7
4
8
5
9
31
10
5
11
2
12
6
13
5
14
42
15
8
16
7
17
9
18
10
19
13
20
40
21
9
22
13
23
6
24
18
25
4
26
5
27
3
28
10
29
8
30
3
31
15
32
12
33
2
34
2
35
6
36
1
37
15
38
13
39
21
40
4
41
3
42
6
43
3
44
13
45
6
46
2
47
12
48
51
49
10
95.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
5
totalSentences
171
matches
0
"was written"
1
"being asked"
2
"was cancelled"
3
"involved"
4
"was tired"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
293
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
2
flaggedSentences
2
totalSentences
263
ratio
0.008
matches
0
"He had hurt her; he did not get admission simply because his hair was wet and he had finally remembered how to apologise."
1
"Not dramatically; Lucien seldom allowed himself that."
99.88%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1495
adjectiveStacks
0
stackExamples
(empty)
adverbCount
60
adverbRatio
0.04013377926421405
lyAdverbCount
23
lyAdverbRatio
0.015384615384615385
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
263
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
263
mean
8.23
std
6.55
cv
0.795
sampleLengths
0
27
1
8
2
5
3
8
4
10
5
13
6
1
7
10
8
4
9
5
10
11
11
6
12
14
13
5
14
2
15
6
16
5
17
9
18
15
19
18
20
8
21
7
22
9
23
10
24
13
25
14
26
26
27
4
28
5
29
13
30
6
31
4
32
6
33
8
34
4
35
5
36
3
37
3
38
7
39
4
40
4
41
3
42
15
43
12
44
2
45
2
46
6
47
1
48
2
49
4
43.54%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
17
diversityRatio
0.2623574144486692
totalSentences
263
uniqueOpeners
69
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
5
totalSentences
150
matches
0
"Slowly, he brought it back"
1
"Still hear his voice when"
2
"Only a small smile, but"
3
"Just the edge of it,"
4
"Only then did he draw"
ratio
0.033
28.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
72
totalSentences
150
matches
0
"She resented herself for noticing."
1
"she said, and pushed the"
2
"His cane caught it before"
3
"She looked down at the"
4
"He withdrew it immediately."
5
"His platinum hair, usually slicked"
6
"She would have taken his"
7
"He had spent the evening"
8
"She hated that, too."
9
"He reached into his coat."
10
"His hand stopped."
11
"She nodded once."
12
"He produced a cream envelope,"
13
"Her name was written on"
14
"She took the envelope, intending"
15
"She almost laughed."
16
"It arrived painfully, like feeling"
17
"She crossed the narrow room,"
18
"She could make him leave."
19
"He had hurt her; he"
ratio
0.48
63.33%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
119
totalSentences
150
matches
0
"The door opened as far"
1
"Rory’s first thought was that"
2
"She resented herself for noticing."
3
"she said, and pushed the"
4
"His cane caught it before"
5
"She looked down at the"
6
"He withdrew it immediately."
7
"That, at least, was new."
8
"The black one gave nothing"
9
"His platinum hair, usually slicked"
10
"She would have taken his"
11
"He had spent the evening"
12
"Lucien glanced past her."
13
"The corner of his mouth"
14
"She hated that, too."
15
"The familiar shape of an"
16
"The instant, traitorous answer in"
17
"He reached into his coat."
18
"Rory went still."
19
"His hand stopped."
ratio
0.793
66.67%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
2
totalSentences
150
matches
0
"Now she kept one foot"
1
"As if ignorance were something"
ratio
0.013
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
68
technicalSentenceCount
1
matches
0
"As if ignorance were something wrong with her, rather than something he had carefully maintained."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
19
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
18
fancyCount
1
fancyTags
0
"he agreed (agree)"
dialogueSentences
111
tagDensity
0.162
leniency
0.324
rawRatio
0.056
effectiveRatio
0.018
91.2729%