Run: 2026-10-27-01M5YESBYN14XWK81V5SGCGC52

Run Details

Duration:
48.2s
Cost:
$0.017223
Provider:
OpenAI

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

AI
The door opened on Lucien Moreau, his platinum hair wet with rain and his hand wrapped around the ivory head of his cane. For a moment, Rory thought she had imagined him. She had done that often enough in the six weeks since she’d last seen him: in the dark window of a bus, in the reflection behind a bar, once in the polished side of a takeaway container. But the man on Eva’s landing smelled faintly of rain and expensive soap, and his mismatched eyes moved past her to the narrow hall. “May I come in?” he asked. “No.” She started to close the door. He caught it with his palm. “Rory. Someone followed me here.” “You followed me here first.” “Yes.” Rainwater slid from his coat cuff onto the floor. “I’m sorry. Please let me explain inside.” She looked down the stairs. The landing bulb lit only the first few steps; beyond them, the stairwell dropped into shadow. From the curry house below came the clatter of pans and the smell of fried onions. Someone laughed in the street. Lucien’s gaze flicked toward the stairs. “The thing following me is called a tallyman. It has a claim on a name I gave away.” Cold crept up Rory’s arms. “My name?” “Yes.” For one satisfying second, she considered leaving him on the landing to deal with the consequences. Then Ptolemy wound around her ankles, meowing at the open door, and Rory remembered that Eva would be home from her shift in an hour. She stepped back. “Inside. Don’t touch anything.” Lucien slipped past her. Rory shut the door and fastened all three deadbolts, though she had no idea whether deadbolts would stop a tallyman. She kept her hand on the last one. “Does it know I’m here?” “It knows I’m here. It has been looking for you.” He glanced at the locks. “Those will slow it.” “How reassuring.” His mouth moved, almost a smile, but it didn’t last. He followed her into the sitting room, where Eva’s books occupied the sofa, the chairs, the mantelpiece, and most of the floor. Lucien chose an open patch near the window and stood there, careful not to disturb a leaning stack of papers. Ptolemy sat on a scroll and regarded him with narrowed eyes. Rory folded her arms. “Start at the beginning. You can leave out any part where you congratulate yourself.” Six weeks ago, Lucien had told a broker named Vale that Rory could identify a stolen ledger. He had been right: she’d seen it during a delivery to a client who had apparently enjoyed ordering noodles and collecting forbidden things. Lucien had wanted the ledger kept out of Vale’s hands, and giving up Rory’s name had bought him time to find it first. He had explained all of that afterward, standing in the alley behind the Golden Empress while Rory’s delivery bag cooled against her hip. He had also explained that Vale’s people would not hurt her. They had cornered her outside her own front door the next night. They hadn’t hurt her, but only because Silas had come out of the bar before she finished telling them to leave. “I thought Vale’s claim ended when I recovered the ledger,” Lucien said now. “It didn’t. He sold the claim before I could destroy it.” “You said you’d handled it.” “I believed I had.” “You could have told me it existed.” “Yes.” He didn’t dress the answer up. It made her angrier than an excuse might have. She moved a pile of notes from the armchair and sat, partly because her knees had begun to feel unsteady and partly because she refused to stand there as though waiting for him to dismiss her. “What does a tallyman do with a claim?” “Collects what it’s owed. In this case, your knowledge of the ledger.” “I told you everything I remembered.” “That may not matter to it. A tallyman can take a memory by force. The more it has to search for it, the more it takes.” Rory pictured the neat rows of entries in the ledger, a name written in green ink, the greasy paper bag she’d carried out of that house. She also pictured her mother at the kitchen table in Cardiff, bent over a stack of schoolbooks, and Eva at twelve, daring Rory to climb a fence that was plainly too high. She pressed her thumb into the small crescent scar on her left wrist. “How do we stop it?” “I can buy the claim back.” “With what?” Lucien’s fingers tightened around his cane. “A name of equal value.” “Whose?” “Mine.” She stared at him. “And what would that let it take?” “Whatever knowledge the holder demands.” “You’re an information broker.” “Yes.” “So everything.” “Possibly.” Rory leaned forward. “Absolutely not.” Surprise showed briefly on his face. She resented that, too. “I’m not doing this because I’ve forgiven you,” she said. “I’m doing it because I don’t trust a creature that steals memories with a man who knows where half of London’s secrets are buried.” “A practical objection.” “It’s an excellent one. Have you got another plan?” A sound came from the front door: a slow scrape, like a coin drawn down wood. Ptolemy’s ears flattened. Lucien turned toward the hall, and Rory rose so quickly that Eva’s notes slid from the chair onto the carpet. “There is one possibility,” he said. “The claim was made against Aurora Carter. It needs you to acknowledge it before it can collect.” “I acknowledge all sorts of things. That doesn’t make them true.” “In this case, it gives the claim force.” The scrape came again, followed by a soft knock. Rory looked at Eva’s crowded shelves. “Can we get rid of the claim?” “If we can see it. The holder has to present the written terms when asked.” “And if there’s a flaw?” Lucien looked at her. “You studied law.” “Pre-law. Long enough to know people put nonsense in writing and expect nobody to read it.” The knock sounded a third time. Ptolemy bolted beneath the sofa. Lucien drew the blade from his cane. It slid free with a small, clean whisper, too fine-looking to be much use against anything solid. Rory went to Eva’s desk, pushed aside a stack of research notes, and found a brass letter opener shaped like a fish. Lucien glanced at it. “That may not—” “I’m not planning to stab it. It’s for the paper.” He inclined his head. They went into the hall together. Rory stopped at the door, her fingers hovering over the top bolt. “You should stand behind me,” Lucien said. “No.” “Rory.” “You’ve done enough deciding where I should stand.” He stepped aside. It was a small movement, but she felt it all the way down to her clenched hand. She undid the three bolts and opened the door a few inches. The figure on the landing wore a dark coat buttoned to its throat. Its face looked ordinary at first: pale skin, close-set eyes, thin lips. Then Rory noticed that its features seemed to shift whenever she tried to focus on them, as though she were looking through disturbed water. “Good evening,” it said. Its voice had the dry rustle of paper. “I have business with Aurora Carter.” “Show me the terms.” Its gaze settled on her. “Do you acknowledge that you are Aurora Carter?” “I asked to see the terms.” For a moment, the thing stood motionless. Then it reached into its coat and produced a folded sheet of yellowish paper. Rory took it through the gap. The paper felt warm, almost damp. Lines of cramped writing covered both sides, some in English, some in symbols that made her eyes water. Lucien leaned close enough for her to feel the heat of him at her shoulder. “The English is binding,” he murmured. “The rest identifies the parties.” She read quickly. The claim named Vale, the original holder, and a second name she couldn’t pronounce. It described the ledger in extravagant detail: its leather cover, its clasp, the mark burned into the spine. It described the information to be collected. Then it named her. Aurora Carter of Cardiff, daughter of Brendan Carter and Jennifer Carter. Rory read the line again. “What is it?” Lucien asked. Her pulse had started to race. “My mother’s name.” The tallyman watched her through the gap. “The name is correct.” “It’s incomplete.” Rory kept her voice even. “She was Jennifer Ellis before she married. You’ve identified my father, but you haven’t properly identified my mother.” The tallyman’s face seemed to settle, its eyes growing darker. “The woman is known by the name given.” “Which woman?” Rory asked. “Jennifer Carter isn’t exactly a rare name.” Lucien’s shoulder brushed hers as he studied the line. “The identifying terms are required to distinguish the subject without ambiguity,” he said quietly. “Vale was careless.” The tallyman put its hand against the door. Its fingers were too long, the joints bending in the wrong places. Rory lifted the letter opener. “Can I tear it?” “Not yet,” Lucien said. “The holder must concede the flaw, or the claim remains active.” The creature pushed. The door moved an inch inward, and Rory shoved it back with her hip. “There is no flaw,” it said. “Then you can tell me which Jennifer Carter you mean,” Rory said. “Where was she born?” The thing’s mouth opened. No words came out. Rory’s arm trembled against the door. Lucien put his free hand above hers, holding it steady without moving her out of the way. “Her occupation?” Rory asked. The tallyman’s fingers tightened on the wood. A crack ran through the paint. “Her name before she married?” The creature made a sound like a sheet of paper being crumpled. “The identification is insufficient.” “Now,” Lucien said. Rory drove the letter opener into the claim and dragged it down. The paper resisted, stretching around the blunt edge before it split. A gust of hot, stale air rushed through the gap in the door. The tallyman recoiled, its features running together. Lucien pulled the door shut. Rory shot the bolts home, one after another, and stood with her palm flat against the wood. On the other side came a dry flutter. Then silence. For several seconds, neither of them moved. “Will it come back?” she asked. “Not for that claim.” She turned. Lucien still held his blade, though the hand around it had begun to shake. A thin cut crossed his palm where he had braced the door. “You’re bleeding.” He looked down as if mildly surprised. “It’s nothing.” “Eva has plasters. Sit down before you drip on her notes.” He obeyed, settling on the cleared armchair while Rory fetched the first-aid tin from the kitchen. Ptolemy emerged from beneath the sofa and jumped onto the windowsill, where he began washing one paw with an air of injured dignity. Rory cleaned Lucien’s hand with a damp cloth. He watched her, quiet now, his coat open and his hair no longer quite so immaculate. A strand had fallen over his forehead. She had once pushed it back for him while he stood at her kitchen counter, laughing at her attempt to make coffee in a saucepan. She had missed him with a persistence she found humiliating. She had missed his dry remarks, the way he listened when she spoke, the unexpected gentleness of his hands. She had also remembered the alley behind the restaurant every time she reached for her phone. “You should have warned me,” she said. “I know.” “Not just tonight. Before Vale’s people came. Before you gave him my name.” Lucien’s gaze dropped to their hands. “I thought if I told you, you would refuse to be involved.” “I might have.” “And I wanted the ledger badly enough to make the decision for you.” He drew a breath. “I told myself I was keeping you safe. The truth is less flattering.” She pressed a plaster over the cut. “I can’t have that happen again.” “It won’t.” She looked up. “You can’t promise the world won’t get dangerous.” “No. But I can promise not to trade your safety for what I want.” His voice roughened slightly. “And if I fail you again, you will hear it from me first.” Rory sat back on her heels. It was not a perfect promise. She trusted it more for that. Outside, a siren passed along Brick Lane. The smell of spices drifted up through the floorboards, and somewhere in the flat Eva’s old boiler gave a protesting knock. “I came here because I didn’t want to be alone tonight,” Rory said. “Eva’s been trying to get me to stay over for weeks, and I finally said yes. She had to pick up an extra shift, so I let myself in.” Lucien glanced at the books piled around them. “I’m sorry I brought this to her door.” “You can tell her that when she gets home. She’ll want to know why her letter opener smells burnt.” He looked at the brass fish in Rory’s hand. Its tail had blackened. “I’ll replace it.” “Good luck finding one exactly like it.” A smile touched his mouth. This time, despite herself, she smiled back. He lifted his bandaged hand, then let it rest on his knee. “May I ask you something?” “You may ask.” “Do you want me to leave?” She could have said yes. He would go; she believed that now. But the thought of the door closing behind him made the room feel abruptly colder. “Not yet,” she said. His shoulders eased. He reached for her slowly enough that she could move away, and when his fingers touched her wrist, he avoided the scar without seeming to notice it was there. Rory turned her hand and laced her fingers through his. “I was furious with you,” she said. “I noticed.” “I’m still furious.” “That seems fair.” She leaned in and kissed him before he could say anything clever. His mouth was warm, and for a moment he stayed very still. Then his free hand came to her cheek, light enough to let her pull away. She didn’t. She kissed him again, more slowly, feeling the last of the fear leave her in small, uneven breaths. When she drew back, Lucien rested his forehead against hers. “Eva will be home soon,” she murmured. “Should I be afraid?” “She’s very fond of that letter opener.” “I’ll confess everything.” Rory laughed, and he kissed the corner of her mouth. Ptolemy jumped down from the windowsill and inserted himself between their knees, demanding attention with a loud, indignant meow. Lucien scratched behind the cat’s ears. Rory stayed where she was, her hand still in his, while the three of them waited for Eva to come home.
created_at"2026-10-27T10:34:08.735Z" 10/27/2026, 10:34:08 AM
model"openai/gpt-6.1-terra-20261026"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency2978
moderation_latency(null)
generation_time48188
tokens_prompt788
tokens_completion3937
native_tokens_prompt753
native_tokens_completion3294
native_tokens_completion_images0
native_tokens_reasoning136
native_tokens_cached0
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
num_fetches(null)
web_search_engine(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"completed"
service_tier"default"
usage0.017223
router(null)
user_agent"langchainjs-openai/1.0.0 ((node/v24.22.1; linux; x64))"
http_referer(null)
request_id"req-1793097248-Sc61aUcGaGaC28saa5Mm"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1793097248-rTGWQjWQLdGtuxDJQ8iY"
upstream_id"resp_089850ae708240bc016ae07e20d00087d19007b48931caf7ce"
provider_responses
0
endpoint_id"2d2ad10f-098e-4bbf-aa95-11f705b2b9a2"
id"resp_089850ae708240bc016ae07e20d00087d19007b48931caf7ce"
is_byokfalse
latency317
model_permaslug"openai/gpt-6.1-terra-20261026"
provider_name"OpenAI"
status200
total_cost0.017223
cache_discount(null)
upstream_inference_cost0
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
totalTags26
adverbTagCount2
adverbTags
0"he said quietly [quietly]"
1"His voice roughened slightly [slightly]"
dialogueSentences119
tagDensity0.218
leniency0.437
rawRatio0.077
effectiveRatio0.034
85.81% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2466
totalAiIsmAdverbs7
found
0
adverb"quickly"
count2
1
adverb"slightly"
count1
2
adverb"slowly"
count2
3
adverb"very"
count2
highlights
0"quickly"
1"slightly"
2"slowly"
3"very"
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.78% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2466
totalAiIsms8
found
0
word"flicked"
count1
1
word"absolutely"
count1
2
word"whisper"
count1
3
word"pulse"
count1
4
word"race"
count1
5
word"trembled"
count1
6
word"silence"
count1
7
word"perfect"
count1
highlights
0"flicked"
1"absolutely"
2"whisper"
3"pulse"
4"race"
5"trembled"
6"silence"
7"perfect"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches0
maxInWindow0
found(empty)
highlights(empty)
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells0
narrationSentences171
matches(empty)
92.73% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount1
hedgeCount5
narrationSentences171
filterMatches
0"feel"
hedgeMatches
0"started to"
1"seemed to"
2"tried to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences264
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen37
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2466
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions44
unquotedAttributions0
matches(empty)
16.67% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions94
wordCount1698
uniqueNames16
maxNameDensity2.06
worstName"Rory"
maxWindowNameDensity4.5
worstWindowName"Rory"
discoveredNames
Lucien26
Moreau1
Rory35
Eva9
Ptolemy6
Vale4
Golden1
Empress1
Silas1
Cardiff2
English1
Carter3
Brendan1
Jennifer1
Brick1
Lane1
persons
0"Lucien"
1"Moreau"
2"Rory"
3"Eva"
4"Ptolemy"
5"Vale"
6"Silas"
7"Carter"
8"Brendan"
9"Jennifer"
places
0"Cardiff"
1"English"
2"Brick"
3"Lane"
globalScore0.469
windowScore0.167
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences114
glossingSentenceCount2
matches
0"client who had apparently enjoyed ordering no"
1"as though waiting for him to dismiss her"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2466
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount4
totalSentences264
matches
0"remembered that Eva"
1"explained that Vale’s"
2"noticed that its"
3"enough that she"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs155
mean15.91
std15.06
cv0.947
sampleLengths
023
170
26
31
412
55
65
717
842
924
107
111
1241
137
1432
155
1619
172
1863
1918
2063
2134
2233
2324
245
254
267
271
2815
2944
3012
316
3226
3371
345
356
362
3711
381
391
4011
415
424
431
442
451
465
4710
4834
493
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount1
totalSentences171
matches
0"being crumpled"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount1
totalVerbs305
matches
0"were looking"
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount2
flaggedSentences2
totalSentences264
ratio0.008
matches
0"The landing bulb lit only the first few steps; beyond them, the stairwell dropped into shadow."
1"He would go; she believed that now."
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1701
adjectiveStacks0
stackExamples(empty)
adverbCount66
adverbRatio0.03880070546737213
lyAdverbCount16
lyAdverbRatio0.00940623162845385
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences264
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences264
mean9.34
std6.82
cv0.73
sampleLengths
023
19
237
324
46
51
66
76
85
95
1010
117
125
1316
1416
155
166
1718
185
192
201
2116
2225
233
244
254
2620
278
285
2915
304
312
3210
3322
3420
3511
364
3714
3817
3923
4023
4123
4211
4312
4421
4513
4611
475
484
497
43.18% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats18
diversityRatio0.24621212121212122
totalSentences264
uniqueOpeners65
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount5
totalSentences149
matches
0"Then Ptolemy wound around her"
1"Then Rory noticed that its"
2"Then it reached into its"
3"Then it named her."
4"Then his free hand came"
ratio0.034
61.61% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount59
totalSentences149
matches
0"She had done that often"
1"She started to close the"
2"He caught it with his"
3"She looked down the stairs."
4"She stepped back."
5"She kept her hand on"
6"He glanced at the locks"
7"His mouth moved, almost a"
8"He followed her into the"
9"He had been right: she’d"
10"He had explained all of"
11"He had also explained that"
12"They had cornered her outside"
13"They hadn’t hurt her, but"
14"He didn’t dress the answer"
15"It made her angrier than"
16"She moved a pile of"
17"She also pictured her mother"
18"She pressed her thumb into"
19"She stared at him."
ratio0.396
20.40% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount131
totalSentences149
matches
0"The door opened on Lucien"
1"She had done that often"
2"She started to close the"
3"He caught it with his"
4"Rainwater slid from his coat"
5"She looked down the stairs."
6"The landing bulb lit only"
7"Someone laughed in the street."
8"Lucien’s gaze flicked toward the"
9"She stepped back."
10"Lucien slipped past her."
11"Rory shut the door and"
12"She kept her hand on"
13"He glanced at the locks"
14"His mouth moved, almost a"
15"He followed her into the"
16"Lucien chose an open patch"
17"Ptolemy sat on a scroll"
18"Rory folded her arms."
19"He had been right: she’d"
ratio0.879
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences149
matches(empty)
ratio0
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences70
technicalSentenceCount2
matches
0"He had been right: she’d seen it during a delivery to a client who had apparently enjoyed ordering noodles and collecting forbidden things."
1"Lines of cramped writing covered both sides, some in English, some in symbols that made her eyes water."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags26
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags21
fancyCount2
fancyTags
0"he murmured (murmur)"
1"she murmured (murmur)"
dialogueSentences119
tagDensity0.176
leniency0.353
rawRatio0.095
effectiveRatio0.034
86.8060%