NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-10-27-01M5YEDB5J55C1Q76QSC03XPY3
Run Details
Model:
GPT-6.1 Terra (Reasoning, Medium)
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
44.4s
Cost:
$0.017043
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
85.75%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
83.71%
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)
50.00%
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)
99.38%
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)
48.00%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
64.59%
Pronoun-first sentence starts
(details)
39.62%
Subject-first sentence starts
(details)
0.00%
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)
89.0350%
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
Rory opened the door as
far as the chain allowed and found Lucien Moreau on the landing, rain shining on the shoulders of his charcoal coat. For a moment, she thought she had imagined him. She had done it before, on crowded pavements and in the dark window of the Golden Empress: a glimpse of platinum hair, the clean line of a suit, and her heart making a fool of itself before her mind caught up.
Then his gaze dropped to
the chain. “Good,” he said. “You used it.”
Rory put her hand against
the door. “I’m about to use it to shut this.” “Someone followed me here.” “That sounds like your problem.” “It became yours when they saw which door I approached.”
He stood very still, one
hand wrapped around the ivory head of his cane.
The other was pressed to
his side.
Blood had seeped between his
fingers and darkened the cuff of his glove. Rory looked past him.
The narrow stairs down to
Brick Lane were empty. From the curry house below came the clatter of dishes and the warm smell of cumin and frying onions. Someone laughed in the street. Ordinary sounds, all of them, and none made her
feel
safer. “Where’s Eva?” Lucien asked. “Out.” “Rory.” “She’s out, and she doesn’t know you’re here. What happened to you?” “I was careless.” “That would make a lovely change.” His mouth tightened. He did not deny it.
A scrape sounded from the
stairs.
Rory leaned closer to the
gap. At the bottom, a man in a dark raincoat had stopped with one foot on the first step.
His face was turned up
toward them, but the light behind him left it in shadow. Lucien glanced back. “Please.”
She had heard him say
the word before. Not often, and never quite like that.
Rory shut the door, slid
the chain free, and opened it again.
Lucien came inside without brushing
against her, though the hall was barely wide enough for them both.
She closed the door and
shot home all three deadbolts. “Eva installed those after the thing with the postman,” she said. Lucien watched her. “The thing?” “He turned out to be a ghoul.” “I see.” “He was
very
polite about it.” A dull knock came at the door. Rory stepped back. Lucien drew his cane closer, his thumb resting along the join below the ivory handle. “Can he get through?” she asked. “Not
quickly
.” “That wasn’t the question.” “I don’t know.” Another knock, harder. Ptolemy appeared from the bedroom, tail puffed, and stared at the door
as if deciding whether the visitor was worth his attention
. Lucien’s gaze went to the cat. “You have a cat.” “Eva has a cat. I’m feeding him while she’s away.” “Where?” “Still not telling you.” A faint sound came from the other side of the door: metal rubbing metal. Rory pictured the man crouched on the landing, trying the lock. Lucien moved to the window in the sitting room. Papers covered the sill, the table beneath it, and most of the floor. Eva’s books had colonised the sofa too, leaving a single cushion clear. Lucien lifted the curtain with two fingers and looked down toward Brick Lane. “There’s another one across the street,” he said. “Friends of yours?” “No.” “Enemies, then. You’ll have to narrow it down.” He let the curtain fall.
His face was pale beneath
the immaculate sweep of his hair, and there was blood on the rug where he stood. Rory fetched a tea towel from the kitchen and held it out. “Press this against it.” “I’m fine.” “You’re dripping on Eva’s research.” He accepted the towel. His bare fingers touched hers, cool and damp, and she withdrew her hand before he could close it around them.
He pressed the folded cloth
to his side. “The men downstairs work for a collector. He’s looking for a ledger Eva borrowed.” “Borrowed from whom?” “The collector.” “Did she tell him she was borrowing it?” “No.” “That sounds more like Eva.” Lucien watched her closely.
His eyes had always made
that difficult to bear: one amber, one black, both intent on her face.
She used to like the
feeling that he saw more than other people did. Later she had discovered how much he could see and still choose not to say. “What’s in it?” she asked. “Names. Debts. Agreements made by people who would rather those agreements remained private.” “And how did you find out he was coming here?” “He asked me to find Eva.” Rory felt the
familiar
, unwelcome shift beneath her ribs. “Did you?” “No.” “You found me.” “I knew she’d asked you to look after the flat.”
She had mentioned it weeks
ago, before everything went wrong. A stray detail over a late dinner, when she had still believed his attention was a gift rather than a means of taking inventory. “I followed one of the collector’s men here,” Lucien said. “The other saw me.” “And stabbed you?” “He tried to search my pockets first. I objected.” Something struck the front door. Ptolemy vanished beneath the sofa. Rory looked toward the hall. “Can we get out the back?” “The window opens onto a fire escape. The man across the street can see it.” “Then we need a reason for him to look somewhere else.” Lucien lowered the towel to inspect his wound. The cut through his shirt was narrow but ugly. “There may be another way.” “Go on.” “The collector will call his men off if he believes the ledger is no longer here.” “Is it?” “I don’t know.” Rory did, unfortunately. Eva had shown her the ledger before leaving, though she had neglected to
mention that anyone
might come looking for it.
She had slid it into
a flour tin in the kitchen and said, with the solemnity of a woman making a sacred bequest, “Don’t let Ptolemy eat it.” Rory went into the kitchen, opened the cupboard, and took down the tin. The ledger inside was small and plain, bound in cracked red leather. Lucien remained in the sitting room doorway.
He did not reach for
it. “You could have told me,” he said. “I could have. I was deciding whether you’d try to take it.” “Would you believe me if I said no?” “Not without some effort.”
She found Eva’s phone number
and called.
It rang six times before
going to voicemail. Rory left a message describing the men, the ledger, and Lucien’s unfortunate arrival, then put the phone down. “Can you call the collector?” she asked. “Yes.” “Will he believe you?” “He has before.” “Comforting.” Lucien took out his phone. “What do you want me to tell him?” She looked at the ledger. “That I’ve got it.” “Rory—” “You said he wants it moved. Fine. He can meet me somewhere public tomorrow, and I’ll tell him what I want in return.” “He’ll assume you’ve read it.” “Have you?” “No.” She weighed the book in her hand. “Then he can wonder.” Another heavy blow shook the door. Lucien made the call. When the collector answered, Lucien spoke in French, his voice low and even. Rory waited until he paused. “English, please.” His eyes
flicked
to hers. Then he changed languages. “Miss Carter has the ledger,” he said. “She’s willing to discuss its return tomorrow. Your men will leave this building now, or she’ll arrange for the contents to reach everyone named in it.” Rory raised her eyebrows. It was a better threat than the one she had supplied. Lucien listened. “No. She chooses the place.” He listened again, then covered the phone. “He wants proof.” Rory opened the ledger at random. Two columns of names and figures filled the page in a cramped hand. She chose the first name she saw and gave it to Lucien. He repeated it into the phone. After a moment, he ended the call. “He’ll have them withdraw,” he said. “You trust him?” “No. But he wants the ledger intact, and he knows I can identify his men. We’ll check before either of us goes outside.” “We?” “I would prefer not to leave you alone with it.” “Because you’re worried about me, or because you want the book?” His fingers tightened around the phone. “Both.” She appreciated the answer more than she wanted to. From the landing came a soft thud, followed by
footsteps
descending the stairs. Rory waited until the sound had faded before she moved. She put the ledger back in the flour tin, returned it to the cupboard, and came out to find Lucien leaning against the wall. The tea towel had soaked through. “You need stitches,” she said. “I’ve had worse.” “I’m sure you’ve kept a list. Sit down.” She cleared the books from the sofa and fetched Eva’s first-aid box. Lucien sat where she indicated, his cane resting against his knee. When she knelt beside him and began unbuttoning his waistcoat, his hand closed around her wrist. Not hard. Still, she froze. He released her immediately. “I’m sorry.” Rory sat back on her heels. The crescent scar on her wrist showed white against her skin. She rubbed it once with her thumb, then reached for the buttons again. “I need to see the cut,” she said. He let her work. Beneath the waistcoat and shirt, the wound ran along his ribs, shallow at one end and deeper at the other. She cleaned it while he gripped the edge of the sofa. “You should go to a hospital,” she said. “I know someone who can stitch it.” “Someone who won’t ask questions?” “Someone who has already asked all of them.” She taped a dressing in place. Lucien’s skin was warm now, and she
could feel
the careful restraint in him as she worked. She remembered his hands at the small of her back in his kitchen, the way he had kissed her there while a pan boiled dry behind them. Remembered, too, standing in that same kitchen a week later with his phone in her hand. She capped the antiseptic. “How long were you going to wait before telling me about Evan?” Lucien’s breath left him
slowly
. Three months had passed since Rory found the message. Evan had come to London looking for her. Lucien had learned about it and sent him away, using means he had declined to explain. He had told her none of it. “I was going to tell you when I knew he wouldn’t come back,” he said. “You didn’t tell me when you knew that, either.” “No.” “He knew where I worked, Lucien.” “I know.” “Did you tell him where I lived?” His head came up
sharply
. “No.” She held his gaze. “I need you to say it plainly.” “I did not tell him where you lived. He never had that address from me.” The tightness in her chest eased a fraction. She had asked him the same question before, and he had answered it then, but some fears required repetition before they loosened their grip. “You decided I couldn’t handle knowing he was here,” she said. “I decided I could make him leave before he frightened you.” “He did frighten me. Finding out afterward was frightening too.” “I know that now.” “You knew it when I told you.” “Yes.” His voice roughened. “I knew it then.” Rory put the used gauze into the bin. She had rehearsed this conversation in her head often enough to expect satisfaction from it.
Instead she felt tired, and
conscious of how close he was, his shirt open beneath her hand. “I kept thinking about calling,” he said. “Why didn’t you?” “You asked me not to.” She glanced up. “You’ve always been good at following instructions after the damage is done.” A brief, rueful smile touched his mouth. “Not always.” “No. You’re here.” “I am.” Rain ticked against the window. Ptolemy emerged from under the sofa and approached Lucien’s cane, sniffing the ivory handle. Lucien held
perfectly
still until the cat rubbed his cheek against it. “Traitor,” Rory told him. Ptolemy ignored her. Lucien looked down at the cat, then back at her. “I missed you.” The simplicity of it hurt. She had missed him in inconvenient, persistent ways: reaching for her phone when she heard a song he might like, turning toward the door when she came home with something funny to tell him. Missing him had not made her any less angry. “I missed you too,” she said. He did not move. She could see him resisting the impulse, and
was grateful
for it. “But I’m still angry.” “I know.” “I don’t want you deciding what I can bear.” “I won’t.” “That’s easy to say tonight.” “Yes.” He glanced at the dressing. “I suspect you’ll have opportunities to test it.” Despite herself, Rory smiled. It faded when he lifted his hand, stopping halfway between them. “May I?” he asked. She looked at his hand. Long fingers, a small cut across one knuckle. She knew how they felt against her cheek. “Yes.” He touched her
gently
, his thumb resting just below her ear. Rory leaned into his palm before she could think better of it. His expression changed, the control in it giving way to something open and almost startled. She put her hand over his. “This doesn’t mean everything’s fixed.” “I wouldn’t expect it to.” “You might hope.” “I do.” She leaned forward and kissed him. His mouth was warm,
familiar
, and for a second he remained still, letting her set the pace. Then he kissed her back, his fingers sliding into her hair. Rory felt the pull of him all the way down to her
stomach
, the old
desire
made sharper by the months without it. She broke the kiss when he drew a sudden breath. “Your side?” “A little.” “That’s what you get for being stabbed on someone else’s landing.” “I’ll try to choose a more convenient location next time.” “There had better not be a next time.” He smiled, and she kissed him again, briefly, because she wanted to.
Then she rose and offered
him her hand. He took it, careful as he got to his feet. At the window, Rory shifted the curtain and checked the street. The man in the raincoat
was gone
. Across the road, a couple stood beneath a shop awning, sharing a cigarette; neither looked toward the flat. She would wait a little longer before trusting the view. Her phone buzzed on the kitchen counter. Eva’s name lit the screen. “Good,” Rory said. “Now we can find out what she’s stolen.” Lucien leaned against the wall beside her, close enough that his sleeve brushed hers. Rory picked up the phone and, before answering, reached back to take his hand.
created_at
"2026-10-27T10:27:34.716Z"
10/27/2026, 10:27:34 AM
model
"openai/gpt-6.1-terra-20261026"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
3105
moderation_latency
(null)
generation_time
44366
tokens_prompt
788
tokens_completion
3808
native_tokens_prompt
753
native_tokens_completion
3258
native_tokens_completion_images
0
native_tokens_reasoning
112
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.017043
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.22.1; linux; x64))"
http_referer
(null)
request_id
"req-1793096854-qaB2bBMiSHsyQmLdnPLH"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1793096854-UxladktuJ992NCUasSbl"
upstream_id
"resp_0d1b734033f16272016ae07c96e98487d1ae6048edfb5fc9f9"
provider_responses
0
endpoint_id
"2d2ad10f-098e-4bbf-aa95-11f705b2b9a2"
id
"resp_0d1b734033f16272016ae07c96e98487d1ae6048edfb5fc9f9"
is_byok
false
latency
838
model_permaslug
"openai/gpt-6.1-terra-20261026"
provider_name
"OpenAI"
status
200
total_cost
0.017043
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
24
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
145
tagDensity
0.166
leniency
0.331
rawRatio
0
effectiveRatio
0
85.75%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2456
totalAiIsmAdverbs
7
found
0
adverb
"very"
count
2
1
adverb
"quickly"
count
1
2
adverb
"slowly"
count
1
3
adverb
"sharply"
count
1
4
adverb
"perfectly"
count
1
5
adverb
"gently"
count
1
highlights
0
"very"
1
"quickly"
2
"slowly"
3
"sharply"
4
"perfectly"
5
"gently"
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)
83.71%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2456
totalAiIsms
8
found
0
word
"familiar"
count
2
1
word
"comforting"
count
1
2
word
"flicked"
count
1
3
word
"footsteps"
count
1
4
word
"could feel"
count
1
5
word
"stomach"
count
1
6
word
"desire"
count
1
highlights
0
"familiar"
1
"comforting"
2
"flicked"
3
"footsteps"
4
"could feel"
5
"stomach"
6
"desire"
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
1
narrationSentences
179
matches
0
"was grateful"
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
0
narrationSentences
179
filterMatches
0
"feel"
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
300
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
41
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2456
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
45
unquotedAttributions
1
matches
0
"When the collector answered, Lucien spoke in French, his voice low and even."
50.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
74
wordCount
1659
uniqueNames
12
maxNameDensity
1.69
worstName
"Lucien"
maxWindowNameDensity
3.5
worstWindowName
"Lucien"
discoveredNames
Lucien
28
Moreau
1
Golden
1
Empress
1
Rory
27
Brick
2
Lane
2
Eva
5
French
1
London
1
Ptolemy
4
Despite
1
persons
0
"Lucien"
1
"Moreau"
2
"Rory"
3
"Eva"
4
"Ptolemy"
places
0
"Brick"
1
"Lane"
2
"French"
3
"London"
globalScore
0.656
windowScore
0.5
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
117
glossingSentenceCount
1
matches
0
"as if deciding whether the visitor was worth his attention"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
2456
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
1
totalSentences
300
matches
0
"mention that anyone"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
192
mean
12.79
std
13.03
cv
1.018
sampleLengths
0
26
1
50
2
7
3
6
4
15
5
4
6
5
7
10
8
34
9
48
10
4
11
1
12
1
13
12
14
3
15
6
16
8
17
46
18
4
19
15
20
39
21
11
22
5
23
7
24
2
25
6
26
7
27
18
28
6
29
2
30
4
31
3
32
25
33
10
34
10
35
1
36
4
37
25
38
47
39
8
40
3
41
1
42
8
43
26
44
16
45
2
46
5
47
24
48
22
49
3
99.38%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
3
totalSentences
179
matches
0
"was pressed"
1
"was turned"
2
"was gone"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
312
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
1
flaggedSentences
1
totalSentences
300
ratio
0.003
matches
0
"Across the road, a couple stood beneath a shop awning, sharing a cigarette; neither looked toward the flat."
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1660
adjectiveStacks
0
stackExamples
(empty)
adverbCount
51
adverbRatio
0.03072289156626506
lyAdverbCount
10
lyAdverbRatio
0.006024096385542169
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
300
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
300
mean
8.19
std
6.03
cv
0.736
sampleLengths
0
26
1
9
2
41
3
7
4
3
5
3
6
7
7
8
8
4
9
5
10
10
11
14
12
7
13
13
14
4
15
9
16
19
17
5
18
11
19
4
20
1
21
1
22
12
23
3
24
6
25
3
26
5
27
6
28
6
29
18
30
16
31
3
32
1
33
8
34
7
35
12
36
17
37
10
38
11
39
3
40
2
41
7
42
2
43
6
44
7
45
3
46
15
47
6
48
2
49
4
48.00%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
6
diversityRatio
0.25
totalSentences
300
uniqueOpeners
75
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
5
totalSentences
157
matches
0
"Then his gaze dropped to"
1
"Then he changed languages."
2
"Instead she felt tired, and"
3
"Then he kissed her back,"
4
"Then she rose and offered"
ratio
0.032
64.59%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
61
totalSentences
157
matches
0
"She had done it before,"
1
"He stood very still, one"
2
"His mouth tightened."
3
"He did not deny it."
4
"His face was turned up"
5
"She had heard him say"
6
"She closed the door and"
7
"He let the curtain fall."
8
"His face was pale beneath"
9
"He accepted the towel."
10
"His bare fingers touched hers,"
11
"He pressed the folded cloth"
12
"His eyes had always made"
13
"She used to like the"
14
"She had mentioned it weeks"
15
"She had slid it into"
16
"He did not reach for"
17
"She found Eva’s phone number"
18
"It rang six times before"
19
"She looked at the ledger."
ratio
0.389
39.62%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
132
totalSentences
157
matches
0
"Rory opened the door as"
1
"She had done it before,"
2
"Rory put her hand against"
3
"He stood very still, one"
4
"The other was pressed to"
5
"Blood had seeped between his"
6
"Rory looked past him."
7
"The narrow stairs down to"
8
"Someone laughed in the street."
9
"His mouth tightened."
10
"He did not deny it."
11
"A scrape sounded from the"
12
"Rory leaned closer to the"
13
"His face was turned up"
14
"Lucien glanced back."
15
"She had heard him say"
16
"Rory shut the door, slid"
17
"Lucien came inside without brushing"
18
"She closed the door and"
19
"Lucien watched her."
ratio
0.841
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
157
matches
(empty)
ratio
0
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
71
technicalSentenceCount
0
matches
(empty)
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
24
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
22
fancyCount
1
fancyTags
0
"She had (have)"
dialogueSentences
145
tagDensity
0.152
leniency
0.303
rawRatio
0.045
effectiveRatio
0.014
89.0350%