NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-07-09-01KX41DSVNF9S01W122XTDQTTG
Run Details
Model:
GPT-5.6 Sol (Reasoning)
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
1m 21s
Cost:
$0.131745
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
82.68%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
82.68%
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)
66.67%
Name drop frequency
(details)
100.00%
Narrator intent-glossing
(details)
100.00%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
100.00%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
100.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
46.61%
Sentence opener variety
(details)
95.63%
Adverb-first sentence starts
(details)
69.18%
Pronoun-first sentence starts
(details)
66.56%
Subject-first sentence starts
(details)
100.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)
93.6668%
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 six inches, stopped against the chain, and revealed one amber eye, one black eye, and a face Aurora had spent three months training herself not to remember.
Lucien Moreau looked through the
gap at her as if she were the unexpected one. For one ridiculous second, neither of them spoke.
Curry smoke climbed the stairwell
from the restaurant below, rich with cumin and scorched onion.
Rain ticked against the narrow
landing window.
Rory stood with her damp
hair stuck to her cheeks, a Golden Empress delivery jacket zipped to her throat and two paper bags cooling in her hands. Lucien wore charcoal, naturally.
His tailored suit remained offensively
immaculate despite the weather, his platinum hair slicked back without a strand out of place. One hand rested on the ivory head of his cane. The other held Eva’s door. “You,” Rory said.
His mouth moved at one
corner. Not quite a smile. “An astute opening.” She nearly stepped back. Pride locked her knees. “What are you doing in Eva’s flat?” “Bleeding on her carpet, principally.” Rory’s gaze dropped.
The chain hid most of
him, but not the dark stain spreading beneath his waistcoat.
Blood had reached his white
shirt, soaked the waistband of his trousers, and marked two of his fingers where he pressed them against his side. Her anger did not disappear.
It simply had to share
space with something colder. “Open the door.” “It is open.” “All the way, Lucien.” His gaze held hers. Three months ago, she had kissed him in a candlelit passage beneath Soho while something with antlers hunted them through the walls. Two hours later, in the cold back room of Silas’s bar, Lucien had told her the kiss had been a momentary lapse in judgment. His exact phrase.
As if she were a
spilled drink or a bad wager. He closed the door. The deadbolt scraped. Then the second. Then the third. The chain slid free. When the door opened again, Lucien stood straighter than any bleeding man had a right to. Ptolemy sat behind him among tottering stacks of books, washing one striped paw with the serene indifference of a creature accustomed to occult emergencies. Rory shoved the food bags into Lucien’s arms and stepped inside. He staggered.
Only half a step, quickly
corrected, but she saw it.
She kicked the door shut
and turned all three deadbolts. “Eva called the restaurant,” she said. “Said she was ill and wanted soup. Where is she?” “At the British Library.” “She ordered soup from the British Library?” “I ordered soup.” Rory turned. “Using Eva’s phone.” “It seemed unwise to give the Golden Empress my address.” “You know my mobile number.” “Yes.” Two small syllables, and there it was: the deliberate distance, polished to a shine. He could have called her. He had chosen not to.
She snatched the bags from
him. “Then why lure me here?” “Lure is an unkind word.” “Accurate words often are.” His expression tightened. Pain, perhaps. With Lucien, it was difficult to separate bodily suffering from wounded dignity. Rory set the bags on the only bare corner of Eva’s kitchen table. Books, scrolls, loose notes, and three chipped mugs occupied the rest. A circle had
been painted
on the floor in red chalk, partly obscured by a laundry basket. The flat smelled of old paper, cat fur, incense, and the curry house downstairs. She unzipped her delivery jacket. “Sit.” “I would rather stand.” “And I’d rather you hadn’t spent three months pretending I don’t exist. We’re both coping with disappointment.”
His black eye seemed to
drink the light. The amber one caught it. “Rory—” “Sit down before I make you.” Under other circumstances, his glance might have
been amused
.
Now his lips had gone
pale.
He lowered himself into Eva’s
sagging armchair, cane laid across his knees. Rory fetched the first-aid box from beneath the kitchen sink. Eva kept it beside a jar of salt, a silver bell, and a plastic tub labelled TEETH—ASSORTED. Rory decided not to investigate. “What did this?” she asked. “A knife.” She looked over her shoulder. “I had gathered that.” “Then we are making excellent progress.” “What kind of knife?” Lucien hesitated. Rory planted the box on a stack of books beside him. “Take off your jacket.” “Usually you buy me dinner first.” “Your dinner is congealing on the table.” “Still. The principle matters.” She reached for his lapel. He caught her wrist.
His fingers closed directly over
the small crescent scar on her left wrist. Everything in the room
seemed to
contract around that point of contact. His hand was cool. It had always surprised her, that coolness. The night beneath Soho, he had cupped her jaw with those same fingers. She remembered the ivory handle of his cane clattering to the stones. She remembered his mouth losing its practiced restraint. She remembered thinking, with
a rush of terror
sharper than the creature stalking them, that Lucien wanted her as badly as she wanted him.
Then he had made her
feel
foolish for believing it. “Let go,” she said. He released her at once. She stripped off his jacket herself, less
gently
than she might have. Lucien sucked in a breath when the fabric dragged across his wounded side. Beneath it, the expensive waistcoat
was ruined
. “Shirt too.” His brows lifted. “Don’t flatter yourself. I’ve seen men’s torsos before.” “I do not doubt it.” The words were mild. The effect was not. Jealousy flashed so briefly across his face she might have imagined it. Good, some small cruel part of her thought. Let him choke on it. Lucien unbuttoned his waistcoat, then his shirt. His movements grew slower near the bottom. Rory watched his long fingers work and told herself she
was assessing
his coordination. Nothing more. He opened the blood-soaked shirt. The wound lay beneath his ribs, a narrow puncture edged in grey. Dark veins branched from it across his skin like cracks in ice. His torso was lean and hard, marked by older scars: a white line beneath his collarbone, another along his abdomen, a puckered circle near his right hip. Rory’s anger shifted again, making room for fear. “That wasn’t an ordinary knife.” “No.” “What kind?” “Avarosi.” She looked up
sharply
. “Demon steel?” “My father’s realm does produce more than tedious aristocrats and sulphur.” “Can it kill you?” “Most sharp objects can, if applied with enthusiasm.” “Lucien.” His composure slipped. Just for a heartbeat. “Yes.” The word settled heavily between them. Rory crouched beside the chair and examined the wound. “Why come here?” “Eva has certain texts.” “Why send for me?” “I needed food.” “You’re a terrible liar.” “I am an exceptional liar.” “Not to me.” Silence. Rain whispered against the window. Below them, a pan clanged and someone in the curry house shouted an order. Ptolemy leaped onto the arm of the chair, sniffed Lucien’s discarded jacket, and recoiled as if personally offended. Rory opened sterile gauze. “What do I do?” “The blade’s influence must be drawn out before the wound closes.” “Drawn out how?” His gaze
flicked
toward the kitchen table. “Eva has powdered rowan in a blue jar. Alcohol. A silver needle.” Rory found the rowan beside a mummified lizard and the alcohol behind a pile of takeaway menus. The silver needle
was tucked
inside a
velvet
case with symbols scratched into the lid. When she returned, Lucien’s head rested against the chair. His eyes were closed. Fear tightened in her throat. “Luc.” His eyes opened immediately. She hated the relief that washed through her. Hated more that he noticed it. “Tell me what to do,” she said. He instructed her to mix the rowan and alcohol into a paste. She did, using the lid of Eva’s sugar bowl. Her hands stayed steady until she touched the mixture to his skin. Lucien’s whole body went rigid. The grey veins darkened. Smoke curled from the wound, thin and bitter-smelling. He made no sound, but his hand crushed the arm of the chair. “Sorry,” Rory whispered. “Not your fault.” “No. Apparently nothing is.” His eyes opened. “Is that what you think?” She concentrated on spreading the paste. “I think you were
very
clear.” “I was cruel. Clarity was not my success that evening.” Her hand stopped. Lucien looked away first. Rory set down the paste. “You don’t get to do this while half dead.” “Would you prefer I wait until the condition becomes permanent?” “Don’t joke.” “I am not.” “Then stop talking as if your death is an appointment you’re mildly inconvenienced by.” Something sharpened in his face. “Concern suits you poorly when worn over resentment.” “And arrogance suits you
perfectly
. Lucky us.” The smoke thickened. At the centre of the wound, something metallic glinted. “The needle,”
he said, voice rougher now
. “There is a fragment.” Rory sterilised the silver needle. “This will hurt.” “I had inferred as much.” She leaned closer. The open edges of his shirt brushed her knuckles. His skin smelled of expensive soap, rain, and the iron reek of blood. She slid the needle into the puncture. Lucien’s hand closed over her shoulder. Not to stop her. To hold on. Rory worked
carefully
,
jaw clenched
. The fragment resisted, lodged deep. She angled the needle, found its edge, and drew it upward. Lucien’s breath came hard against her hair. His fingers tightened. “Nearly,” she murmured. “Stay with me.” “Where else would I go?” “Knowing you? Somewhere dramatic.” A laugh escaped him, broken by pain. The fragment emerged with a wet black shine. It was no larger than a grain of rice. Rory dropped it into the alcohol, where it hissed and dissolved into oily smoke. The grey veins beneath his skin
began to
fade. She sat back on her heels. “Done.” Lucien did not release her shoulder. Nor did she move away. They remained like that in the cramped, cluttered flat, close enough that she could count the pale lashes around his amber eye. His polished mask had gone thin with exhaustion. Without it, he looked younger and far more dangerous to her. “Why?” she asked. His thumb shifted once against her shoulder. “Why what?” “Why did you say it was a lapse in judgment?” Pain crossed his face, and this time it had nothing to do with the wound. “Because it was easier than saying the truth.” Rory’s heart gave one hard, humiliating beat. “Which truth?” “That I had wanted to do it for months.” His voice was quiet. “That once I began, stopping was nearly beyond me. That you had already survived one man who mistook possession for love, and I had no intention of becoming another creature in your life who wanted more than he had the right to ask for.” The mention of Evan
chilled
her, but Lucien’s hand remained gentle on her shoulder. He had never gripped her in anger. Never blocked a door. Never demanded she surrender some piece of herself to soothe him. “You don’t get to decide what I can survive,” she said. “I know.” “Do you?” “I have had three months to consider the many varieties of my stupidity.” “Only three?” His mouth curved faintly. “The list is not yet complete.” Rory stood, forcing him to let her go. She gathered fresh gauze because practical things were safer than the look in his eyes. “So you thought hurting me first was noble.” “No. I thought it necessary.” “That’s worse.” “Yes.” She pressed the gauze to his side. He flinched, and she felt a grim spark of satisfaction. “You could have apologised.” “I wrote to you.” “You never sent anything.” “I did not say I sent them.” “How many?” “Seventeen.” Despite herself, she stared. Lucien looked faintly embarrassed. It was such an unfamiliar expression on him that her anger stumbled. “Seventeen apologies?” “Some were apologies. One was largely an argument concerning your habit of entering cursed buildings without adequate preparation.” “I had a torch.” “You had half a torch. The batteries failed.” “That letter sounds less apologetic.” “It was among the weaker drafts.” Rory wound the bandage around his torso.
To do it, she had
to lean across him, passing the roll behind his back. His breath touched her temple. Each turn drew them into a closeness neither could pretend was accidental. “Why tonight?” she asked. “The man who stabbed me knew Eva’s name. He knew yours as well.” Her hands froze. “What?” “I came to warn Eva. When I found her gone, I intended to leave a message.” He looked at the paper bags on the table. “Then I found myself bleeding rather more than anticipated.” “And you ordered soup.” “I was improvising.” “You could have called me directly.” “Yes.” “But you didn’t.” His gaze dropped to her mouth, then rose. “Cowardice takes peculiar forms.” Rory tied off the bandage. “You? A coward?” “Where you are concerned, apparently.” The honesty of it struck deeper than
charm
would have. Lucien could flatter a confession out of a priest and sell the secret before dawn. Yet here he sat shirtless and wounded in Eva’s dreadful armchair, admitting fear as though the word cost him blood. Rory rested her hands on her thighs. “Are we in danger now?” “Almost certainly.” “Immediate danger?” “No one followed me.” “Are you sure?” His expression cooled into the fixer’s certainty. “Yes.” “Good.” She stood and crossed to the door. Lucien watched as she checked the three deadbolts, the chain, then the narrow window above the radiator. No shadows moved on the landing. No unnatural shapes clung to the glass. When she turned back, he had started buttoning his shirt over the bandage. “Leave it open,” she said. That
eyebrow
again. “For the wound.” “Of course.” “Eat your soup.” He obeyed, which frightened her more than the demon steel had. Rory unpacked the containers. Eva’s order—Lucien’s order—contained hot-and-sour soup, steamed dumplings, and crispy chilli beef. Enough for two. She glanced at him. “You ordered my usual.” “I remember things.” “Yes,” she said. “That’s been part of the problem.” They ate at Eva’s buried table after shifting a stack of books onto the floor. Ptolemy installed himself between them and demanded pieces of beef, which Rory refused and Lucien secretly provided when he thought she
wasn’t looking
. The normality felt strange. Fragile. Outside, Brick Lane hissed beneath wet tyres. Neon light bled through the curtains and painted Lucien’s pale hair pink, then blue. Halfway through the soup, his spoon stilled. “I am sorry, Rory.” No clever phrasing. No elegant evasion. She looked at him across the clutter. “For which part?” “For making
desire
sound like regret. For using your past as an excuse not to risk a future. For failing to trust that you could choose for yourself.” His mismatched eyes did not leave hers. “And for requiring a near-fatal stabbing to develop the courage to say so.” “That last part was especially inconvenient.” “I suspected you might
feel
that way.” She set down her spoon. “You hurt me.” “I know.” “I spent weeks wondering whether I’d imagined it. What happened between us.” “You did not.” “And if I let you kiss me again, you don’t get to call it a mistake afterward.” Lucien went
utterly
still. The sounds from downstairs
seemed suddenly distant
. Even Ptolemy stopped chewing. “Is that a hypothetical condition?” Lucien asked
carefully
. Rory’s
pulse
beat at the base of her throat. “I haven’t decided.” “Ah.” “You’re disappointed.” “I am attempting not to bleed through a fresh bandage from the strain of restraint.” A laugh broke out of her before she could stop it. Lucien watched her with naked
warmth
, and that was worse than any of his smiles. She had missed him. The knowledge hurt, but no longer in the same place. She rose and carried their empty containers to the kitchen. Behind her, the cane tapped once against the floor. “Don’t you dare try to leave,” she said. “I was considering helping.” “You can help by remaining conscious.” “A narrow remit.” Rory turned from the sink. Lucien had stood anyway. One hand braced on the table, but his posture remained infuriatingly elegant. His shirt hung open over the white bandage. In the shifting neon, the old scars across his body appeared and vanished. She crossed the room before common sense could object. He watched her approach. “Rory.” “Don’t say anything polished.” “I had nothing polished prepared.” “That would be a first.” She stopped in front of him. Close, but not touching. His hand tightened on the ivory head of his cane. “Tell me to go,” he said, “and I will.” It
mattered that he
offered. It mattered more that he would mean it. Rory took the cane from his hand and leaned it against the table.
Then she caught the open
edges of his shirt and drew him down. The first touch of his mouth was careful enough to anger her. She kissed him harder. Lucien made a low sound, and restraint vanished. His hand slid to the back of her neck, cool fingers threading into her damp black hair. The other settled at her waist without pulling, waiting until she moved closer on her own. She did. The kiss tasted of chilli and rain and everything they had failed to say. Heat unfurled beneath her ribs. Lucien’s mouth softened against hers, then deepened, and for a few breathless seconds the cramped flat, the danger, the wasted months all fell away. His injured side brushed her hip. He hissed. Rory broke the kiss at once. “Idiot.” “Cruel timing,” he murmured, forehead resting against hers. “You were stabbed.” “I am aware.” “You need rest.” “I had hoped to negotiate.” “No.” “One admires your legal instincts.” “I quit Pre-Law.” “The instincts remain formidable.” She should have stepped away.
Instead, she kept hold of
his shirt. His thumb
traced
once along the nape of her neck, a touch so tender it stripped the humour from her. “This doesn’t fix it,” she said. “No.” “I’m still angry.” “You should be.” “And tomorrow, we talk about the man who knows my name.” “We do.” “No disappearing before I wake up.” His gaze searched hers. “Is that an invitation to remain?” “It’s an instruction not to drip demon poison down Eva’s stairs.” “Of course.” “Lucien.” His expression gentled. “I will be here in the morning.” Rory believed him. Not
completely
. Not yet. But enough to take his hand and guide him toward the sofa beneath the window. Ptolemy reached it first and sprawled across the centre cushion. Lucien regarded the cat. “We appear to have reached an impasse.” “Information broker, fixer, alleged exceptional liar. I’m sure you’ll think of something.” Ptolemy opened one green eye. Lucien sighed and sat
carefully
at the far end. Rory fetched a blanket from Eva’s bedroom, shook three books and a sock from it, and draped it over him. As she straightened, he caught her hand. Not her wrist. Her hand. “Seventeen letters?” she asked. “Eighteen, after tonight.” “Send this one.” His lips touched her knuckles, light and warm. “I intend to,” he said.
created_at
"2026-07-09T18:14:48.443Z"
7/9/2026, 6:14:48 PM
model
"openai/gpt-5.6-sol-20260709"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
2099
moderation_latency
(null)
generation_time
81063
tokens_prompt
808
tokens_completion
5592
native_tokens_prompt
753
native_tokens_completion
4266
native_tokens_completion_images
0
native_tokens_reasoning
61
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.131745
router
(null)
provider_responses
0
endpoint_id
"a54c5de0-89bf-4ad7-a212-cf977eed918a"
id
"resp_04a76506cf6cdc91016a4fe518890881908bff3a066768dabe"
is_byok
false
latency
185
model_permaslug
"openai/gpt-5.6-sol-20260709"
provider_name
"OpenAI"
status
200
user_agent
"langchainjs-openai/1.0.0 ((node/v24.18.0; linux; x64))"
http_referer
(null)
request_id
"req-1783620888-QJRIZ5patpIRlXHsH1ll"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1783620888-b5MlG2hPnwOBB5auj3ft"
upstream_id
"resp_04a76506cf6cdc91016a4fe518890881908bff3a066768dabe"
total_cost
0.131745
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
response_cache_source_id
(null)
data_region
"global"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
22
adverbTagCount
1
adverbTags
0
"Lucien asked carefully [carefully]"
dialogueSentences
192
tagDensity
0.115
leniency
0.229
rawRatio
0.045
effectiveRatio
0.01
82.68%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
3176
totalAiIsmAdverbs
11
found
0
adverb
"quickly"
count
1
1
adverb
"gently"
count
1
2
adverb
"sharply"
count
1
3
adverb
"very"
count
1
4
adverb
"perfectly"
count
1
5
adverb
"carefully"
count
3
6
adverb
"utterly"
count
1
7
adverb
"suddenly"
count
1
8
adverb
"completely"
count
1
highlights
0
"quickly"
1
"gently"
2
"sharply"
3
"very"
4
"perfectly"
5
"carefully"
6
"utterly"
7
"suddenly"
8
"completely"
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)
82.68%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
3176
totalAiIsms
11
found
0
word
"silence"
count
1
1
word
"flicked"
count
1
2
word
"velvet"
count
1
3
word
"jaw clenched"
count
1
4
word
"chilled"
count
1
5
word
"charm"
count
1
6
word
"eyebrow"
count
1
7
word
"desire"
count
1
8
word
"pulse"
count
1
9
word
"warmth"
count
1
10
word
"traced"
count
1
highlights
0
"silence"
1
"flicked"
2
"velvet"
3
"jaw clenched"
4
"chilled"
5
"charm"
6
"eyebrow"
7
"desire"
8
"pulse"
9
"warmth"
10
"traced"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
1
maxInWindow
1
found
0
label
"jaw/fists clenched"
count
1
highlights
0
"jaw clenched"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
2
narrationSentences
273
matches
0
"a rush of terror"
1
"r in anger"
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
3
narrationSentences
273
filterMatches
0
"feel"
hedgeMatches
0
"seemed to"
1
"began to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
442
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
44
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
3173
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
39
unquotedAttributions
0
matches
(empty)
66.67%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
89
wordCount
2206
uniqueNames
13
maxNameDensity
1.45
worstName
"Lucien"
maxWindowNameDensity
3
worstWindowName
"Lucien"
discoveredNames
Aurora
1
Moreau
1
Golden
1
Empress
1
Eva
9
Soho
2
Silas
1
Lucien
32
Rory
32
Evan
1
Brick
1
Lane
1
Ptolemy
6
persons
0
"Aurora"
1
"Moreau"
2
"Eva"
3
"Silas"
4
"Lucien"
5
"Rory"
6
"Evan"
7
"Ptolemy"
places
0
"Soho"
1
"Brick"
2
"Lane"
globalScore
0.775
windowScore
0.667
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
155
glossingSentenceCount
1
matches
0
"seemed suddenly distant"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
3173
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
1
totalSentences
442
matches
0
"mattered that he"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
285
mean
11.13
std
12.23
cv
1.099
sampleLengths
0
30
1
15
2
8
3
49
4
39
5
3
6
13
7
8
8
7
9
5
10
3
11
40
12
14
13
3
14
3
15
4
16
64
17
4
18
13
19
40
20
11
21
2
22
20
23
16
24
4
25
7
26
3
27
5
28
10
29
5
30
1
31
24
32
11
33
5
34
4
35
17
36
55
37
6
38
4
39
17
40
14
41
6
42
27
43
32
44
5
45
2
46
9
47
6
48
4
49
2
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
4
totalSentences
273
matches
0
"been painted"
1
"been amused"
2
"was ruined"
3
"was tucked"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
2
totalVerbs
400
matches
0
"was assessing"
1
"wasn’t looking"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
3
semicolonCount
0
flaggedSentences
2
totalSentences
442
ratio
0.005
matches
0
"Eva kept it beside a jar of salt, a silver bell, and a plastic tub labelled TEETH—ASSORTED."
1
"Eva’s order—Lucien’s order—contained hot-and-sour soup, steamed dumplings, and crispy chilli beef."
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
2214
adjectiveStacks
0
stackExamples
(empty)
adverbCount
78
adverbRatio
0.03523035230352303
lyAdverbCount
28
lyAdverbRatio
0.012646793134598013
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
442
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
442
mean
7.18
std
5.57
cv
0.776
sampleLengths
0
30
1
15
2
8
3
15
4
7
5
27
6
4
7
20
8
10
9
5
10
3
11
6
12
4
13
3
14
4
15
4
16
7
17
5
18
3
19
15
20
25
21
5
22
9
23
3
24
3
25
4
26
4
27
22
28
24
29
3
30
11
31
4
32
3
33
3
34
3
35
4
36
16
37
24
38
11
39
2
40
10
41
10
42
6
43
10
44
4
45
7
46
3
47
2
48
3
49
10
46.61%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
15
diversityRatio
0.2873303167420814
totalSentences
442
uniqueOpeners
127
95.63%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
7
totalSentences
244
matches
0
"Then the second."
1
"Then the third."
2
"Only half a step, quickly"
3
"Then he had made her"
4
"Just for a heartbeat."
5
"Then she caught the open"
6
"Instead, she kept hold of"
ratio
0.029
69.18%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
92
totalSentences
244
matches
0
"His tailored suit remained offensively"
1
"His mouth moved at one"
2
"She nearly stepped back."
3
"Her anger did not disappear."
4
"It simply had to share"
5
"His gaze held hers."
6
"His exact phrase."
7
"He closed the door."
8
"She kicked the door shut"
9
"He could have called her."
10
"He had chosen not to."
11
"She snatched the bags from"
12
"His expression tightened."
13
"She unzipped her delivery jacket."
14
"His black eye seemed to"
15
"He lowered himself into Eva’s"
16
"She looked over her shoulder."
17
"She reached for his lapel."
18
"He caught her wrist."
19
"His fingers closed directly over"
ratio
0.377
66.56%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
192
totalSentences
244
matches
0
"The door opened six inches,"
1
"Lucien Moreau looked through the"
2
"Curry smoke climbed the stairwell"
3
"Rain ticked against the narrow"
4
"Rory stood with her damp"
5
"Lucien wore charcoal, naturally."
6
"His tailored suit remained offensively"
7
"The other held Eva’s door."
8
"His mouth moved at one"
9
"She nearly stepped back."
10
"Rory’s gaze dropped."
11
"The chain hid most of"
12
"Blood had reached his white"
13
"Her anger did not disappear."
14
"It simply had to share"
15
"His gaze held hers."
16
"His exact phrase."
17
"He closed the door."
18
"The deadbolt scraped."
19
"The chain slid free."
ratio
0.787
100.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
5
totalSentences
244
matches
0
"As if she were a"
1
"Now his lips had gone"
2
"To hold on."
3
"To do it, she had"
4
"Even Ptolemy stopped chewing."
ratio
0.02
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
87
technicalSentenceCount
1
matches
0
"Yet here he sat shirtless and wounded in Eva’s dreadful armchair, admitting fear as though the word cost him blood."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
22
uselessAdditionCount
1
matches
0
"he said, voice rougher now"
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
20
fancyCount
3
fancyTags
0
"Rory whispered (whisper)"
1
"she murmured (murmur)"
2
"he murmured (murmur)"
dialogueSentences
192
tagDensity
0.104
leniency
0.208
rawRatio
0.15
effectiveRatio
0.031
93.6668%