Run: 2026-09-23-01M36RC3A88MTABFA75ZNRC1N8

Run Details

Duration:
1m 22s
Cost:
$0.003508
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, and every sensible thought Rory had ever had went silent. He stood on the landing in a charcoal suit darkened at the shoulders by rain, one hand curled around the ivory head of his cane. His platinum hair remained slicked back as if the weather had thought better of touching it. The amber eye and the black one fixed on her in turn. For one suspended second, neither of them spoke. Then Rory’s fingers tightened around the edge of the door. The crescent scar on her wrist whitened. “You have some nerve.” “I know.” It was not the answer she’d expected. She had prepared for charm, or some smooth explanation that would make her feel foolish for having missed him. His voice held none of that. It was low, roughened by the damp air and something worse. Behind her, Ptolemy pushed his striped head through the gap at her ankle and sniffed toward the landing. The cat had been less choosy about people than Rory, a fact she’d found irritating all week. Lucien glanced down. “He’s still here.” “Eva’s away. Someone has to make sure he doesn’t eat the scrolls.” “He ate one last time.” “He nibbled one. There’s a difference.” She started to close the door. “Rory, wait.” Her hand stopped. Not because he’d said her name. Because she heard the strain underneath it. She looked past his shoulder at the narrow stairwell. No one behind him, no one lingering below. The curry house beneath Eva’s flat sent up its warm, spiced smell through the floorboards; the landing itself carried only damp stone and the faint metallic tang of London rain. “What do you want?” she asked. “To speak with you.” “You could have sent a message.” “I did.” “I blocked your number.” “I noticed.” “Then you have your answer.” He lowered his gaze. It made him look less like a man accustomed to getting what he wanted and more like someone who had come prepared to be turned away. Rory hated that she noticed. She hated more that part of her wanted him to look at her again. “I wouldn’t have come here unless it mattered,” he said. “Everything matters when you say it.” A brief flicker crossed his face. Pain, perhaps. Or simply a change in the light. “May I come in?” “No.” “Fair.” The word landed between them with a dull little weight. She studied him. He was damp, but not soaked. His cane was planted firmly on the narrow landing. His free hand hung open at his side, empty. “Is this about the printworks?” she asked. His eyes lifted to hers. There. The old ache, dragged from its hiding place and set between them. The printworks had been months ago: the too-bright work lamps, the smell of wet paper, Lucien’s blood on the cuff of his shirt. The way he’d called the job simple, and how she’d believed him. How she’d walked into a trap with a package under her arm because he had known the exchange would move there and hadn’t told her. How, afterward, he’d said she should stay out of his business as if that were concern and not cowardice. “No,” he said. “It’s about what came after.” “That’s even less likely to get you through the door.” “I know.” He took a breath. “Someone has my ledger. They have your name.” The quiet in Rory’s chest went taut. She kept her face still. “My name is not rare.” “Your name, the Golden Empress delivery route you worked the night of the exchange, and the address of this flat.” Her gaze snapped to his. “How do they know I’m here?” “I don’t know.” “And you thought the best way to tell me was to arrive unannounced?” “Yes.” “Did you consider writing that in the message you sent?” “I did.” His mouth tightened. “It seemed unwise to put your address in a message.” The answer was irritatingly sound. Rory stepped back before she could talk herself out of it. “Inside. Don’t mistake that for forgiveness.” “I wouldn’t dare.” She let him pass, then shut the door and slid the first of Eva’s three deadbolts into place. Lucien waited without being asked while she fastened the second and third. The flat seemed smaller with him in it. Every surface was crowded with books, scrolls, notebooks, and Eva’s research notes, stacked in precarious towers that gave the place the air of a library caught in the middle of an argument. Ptolemy wound around Lucien’s cane and pressed against his trouser leg. “He remembers you,” Rory said. “He has excellent taste.” “He has a taste for licking paper.” “Then perhaps he remembers the scroll.” Rory turned, arms folded. “You have five minutes.” Lucien reached inside his jacket. She stiffened. He noticed. His hand stopped. “It’s a page, not a weapon.” “Show me.” He drew out a folded sheet and placed it on the cluttered table rather than offering it directly to her. The page was creased, its edges torn. A grid of names and numbers filled the paper. Beneath one line, someone had written Rory’s full name in dark ink. The address beside it was Eva’s. Rory didn’t touch the page. “Where did you get this?” “It was on my desk this morning. My office had been entered during the night.” “Your office has wards.” “Yes.” “So whoever got in either knew how to pass them or had help.” “Yes.” “Did you tell anyone you’d been working with me?” “I told no one. The ledger mentions the exchange. Someone knew enough to connect you to it.” She leaned over the page. A faint brown stain marked the lower corner, the sort of blot a thumb could leave. Rory read through the names, then looked again at the line beside hers. “This isn’t the original ledger.” “No.” “The paper’s different. The ink, too.” She pointed without touching. “And this address is wrong.” Lucien bent closer. “It’s Eva’s.” “It’s accurate. That’s not what I mean. The number’s right, but they’ve written the street as Brick Lane, not the old address you had for her. That changed last year.” “I didn’t know Eva had moved.” “Neither would anyone who only saw the original ledger.” Rory straightened. “Someone copied this from a newer source. Your office was broken into, but this page doesn’t prove the person who took the ledger knows where I am.” “It proves they have your name.” “It proves someone wants you to think they know where I am.” She tapped the table, considering. “What else was missing?” “Nothing.” “That you know of.” “I checked.” “You checked your office. You don’t know what they already copied.” His expression darkened. For the first time since he’d arrived, he looked like the Lucien she remembered: the fixer who could hear a threat hidden in an ordinary sentence and spot a lie across a crowded room. “No.” “Who was the ledger about?” “A broker who has been selling names to people who shouldn’t have them.” “That’s vague.” “I can give you details.” “You should have started with them.” “I’m trying not to drag you back into my business.” Rory laughed once, without humor. “You’re standing in Eva’s flat with a page bearing my name and address. I think we’re past that.” He absorbed the rebuke without flinching. “You’re right.” She waited. He didn’t add a defense. That unsettled her more than an argument would have. “I’m not asking you to help me,” he said. “I’m telling you because you deserve to know there may be a threat.” “And then what? You leave me with a warning and vanish again?” His jaw tightened. “I’m not asking you to trust me.” “Good. Because I don’t.” “I know.” “No, you don’t.” The words came out sharper than she intended, but she didn’t soften them. “You knew the exchange had moved. You knew it might be dangerous. You let me walk in anyway. Then you told me to stay away, like you were doing me a favor.” “I thought I could control the risk.” “You thought you could decide what I was allowed to know.” His gaze dropped briefly to the scar at her wrist, then returned to her face. “Yes.” There it was. No clever turn, no elegant excuse. Just the truth. The anger didn’t leave. It shifted, making room for something more difficult. “I told myself it was safer if you knew less,” he said. “The truth is, I wanted you near enough to keep an eye on you, and I wanted to pretend that gave me the right to choose for you. It didn’t. I was wrong.” Rory looked down at the paper. A curl of ink marked the corner of her name. “You could have apologized before now.” “I should have.” “Why didn’t you?” “Because I was ashamed.” He paused. “And because I thought you’d be better off without me.” “How considerate.” “I know how it sounds.” “It sounds like another decision you made for me.” “Yes.” She hated how much she wanted to believe him. More than that, she hated the part of herself that still knew the shape of his silence: what he withheld, what he swallowed, how he watched her when he thought she wouldn’t catch him. She had wanted him before she knew what he was. She’d wanted him even after learning. Wanting had never been the problem. “What do you need?” she asked. “Nothing from you.” “That’s not what I asked.” He hesitated. “The names on that page form a pattern. I can see the route, but not why it was chosen. You might.” “Because I understand delivery routes?” “Because you notice what other people dismiss.” His voice softened. “You did it at the printworks. You saw the wrong exit before I did.” “And you decided not to tell me the rest.” “Yes.” Rory studied the page again. “If the person who copied this used an updated address, they’ve had access to Eva’s mail or someone close to her. We start with that. We don’t run around looking for a broker.” “That would be sensible.” “I know. You should try it sometime.” A trace of a smile touched his mouth and vanished. “I missed that.” “What?” “You telling me when I’m being an idiot.” “I can imagine how lonely that’s been.” “Unbearable.” She gave him a look. He let the joke die. “Do you want me to help?” he asked. Rory crossed to the table and pulled a clean sheet of paper from beneath a heap of notes. “I want you to tell me everything you know. Start with the ledger. Who had access, what was in it, and who you’ve spoken to since the exchange.” “I will.” “Everything, Lucien. No convenient omissions.” “You have my word.” “Your word is not a contract.” “No,” he said. “It’s the only thing I have to offer.” For a moment the room held only the faint rattle of rain against the window and the scrape of Ptolemy’s claws on the floor. Lucien stood close enough that Rory could see the fine lines at the corner of his amber eye, the damp darkening the lapel of his suit. She could also smell his cologne beneath the rain: cedar and something sharper, familiar enough to make her chest ache. “I missed you,” he said. Her fingers curled around the pen. “You don’t get to say that like it fixes anything.” “I know.” “Do you miss me, or do you miss having someone who can see through your plans?” “Both.” He didn’t look away. “I won’t insult you by pretending it’s only one.” The answer struck too close to honesty to fend off. Rory set down the pen. “You’re still very good at making me want to forgive you.” “I’m not trying to.” “Then what are you trying to do?” “Tell you the truth. For once.” The space between them seemed to tighten. She remembered his mouth against hers in the narrow passage behind the printworks, his hand careful at her waist, the sudden hesitation before he’d kissed her as if he had found the one thing in his life he wasn’t sure he deserved. Then the next morning, the empty room. The message that said she should stay away. “If I help you,” she said, “you don’t get to take over.” “I won’t.” “You don’t get to put yourself between me and a danger you won’t explain.” “I won’t.” “And when this is over, you don’t disappear.” A beat passed. “I won’t.” “You’re agreeing very quickly.” “I have had a long time to consider what I did wrong.” “That’s not the same as knowing how to do better.” “No,” he said. “It isn’t. You’ll have to judge me by what I do.” Rory’s gaze caught on his mouth. She hated that, too. “And if I decide I’m not interested in anything beyond this page?” “Then I’ll accept it.” “Even if you don’t want to?” “Especially then.” For once, he didn’t reach for her. His hand remained at his side, fingers resting against the curved ivory of his cane. Rory took one step toward him. “I don’t forgive you.” “I know.” “I’m not promising you anything.” “I know.” She reached for his lapel and found it damp beneath her fingers. “Can I still kiss you?” His eyes changed, the black one catching a glint of lamplight, the amber one warm as old honey. “If you want to.” She kissed him before she could make a list of reasons not to. His mouth was still careful. He didn’t grab her, didn’t pull her in as if the kiss could settle a debt. He waited for her to close the last inch, and only then did his hand rise to her cheek. The touch was so light she could have turned away without resistance. Instead, she caught the front of his jacket and held him there. For a few seconds the months between them thinned. She remembered the warmth of him, the quiet sound he made when she kissed him harder, the steadying pressure of his thumb against her cheek. Then the old hurt came back, not gone but no longer alone. Rory broke the kiss first. Lucien kept his eyes closed for a breath. When he opened them, he didn’t presume to smile. “That doesn’t mean you’re forgiven,” she said. “No.” “It means we have work to do.” “I understand.” She moved away and grabbed a notebook. Ptolemy hopped onto the chair and sat on the page she’d just cleared, tail curling over its edge. “Of course.” Lucien picked the cat up with surprising gentleness and settled him beside the scattered scrolls. “He has strong opinions.” “He’s an excellent judge of character.” “Then I’ll try to impress him.” “Start with the truth.” “I’ll start there.” Rory wrote down the names from the page, then circled the address. Outside, a bus groaned past on Brick Lane, its tires hissing over wet pavement. In the flat above the curry house, Lucien leaned over the table beside her, close enough that their sleeves touched. She didn’t move away. “Read me the names,” she said. “Slowly.” And this time, he did.
created_at"2026-09-23T09:08:29.654Z" 9/23/2026, 9:08:29 AM
model"openai/gpt-6-luna-20260922"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency43542
moderation_latency(null)
generation_time81439
tokens_prompt788
tokens_completion3953
native_tokens_prompt753
native_tokens_completion6865
native_tokens_completion_images0
native_tokens_reasoning3602
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.0035078
router(null)
user_agent"langchainjs-openai/1.0.0 ((node/v24.21.0; linux; x64))"
http_referer(null)
request_id"req-1790154509-0FE6WxOHLnITGtMzsAdJ"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1790154509-J8MX3RKmIbD2lodTRXW8"
upstream_id"resp_09e34d333fc21a44016ab3970dc5b487d1a9722d01c731f9c0"
provider_responses
0
endpoint_id"05e94e02-b9c2-4bbb-ba55-4082ee9ad687"
id"resp_09e34d333fc21a44016ab3970dc5b487d1a9722d01c731f9c0"
is_byokfalse
latency420
model_permaslug"openai/gpt-6-luna-20260922"
provider_name"OpenAI"
status200
total_cost0.0035078
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
totalTags25
adverbTagCount0
adverbTags(empty)
dialogueSentences166
tagDensity0.151
leniency0.301
rawRatio0
effectiveRatio0
92.10% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2531
totalAiIsmAdverbs4
found
0
adverb"very"
count2
1
adverb"quickly"
count1
2
adverb"slowly"
count1
highlights
0"very"
1"quickly"
2"slowly"
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.22% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2531
totalAiIsms9
found
0
word"charm"
count1
1
word"flicker"
count1
2
word"weight"
count1
3
word"firmly"
count1
4
word"unsettled"
count1
5
word"silence"
count1
6
word"familiar"
count1
7
word"glint"
count1
8
word"warmth"
count1
highlights
0"charm"
1"flicker"
2"weight"
3"firmly"
4"unsettled"
5"silence"
6"familiar"
7"glint"
8"warmth"
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
narrationSentences154
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount2
hedgeCount2
narrationSentences154
filterMatches
0"feel"
1"look"
hedgeMatches
0"started to"
1"seemed to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences295
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen42
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2531
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions39
unquotedAttributions0
matches(empty)
50.00% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions46
wordCount1436
uniqueNames8
maxNameDensity1.53
worstName"Rory"
maxWindowNameDensity3.5
worstWindowName"Rory"
discoveredNames
Lucien12
Moreau1
Rory22
Ptolemy4
Eva4
London1
Brick1
Lane1
persons
0"Lucien"
1"Moreau"
2"Rory"
3"Ptolemy"
4"Eva"
places
0"London"
1"Brick"
2"Lane"
globalScore0.734
windowScore0.5
96.24% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences93
glossingSentenceCount2
matches
0"seemed smaller with him in it"
1"looked like the Lucien she remembered: th"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches1
per1kWords0.395
wordCount2531
matches
0"not gone but no longer alone"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount1
totalSentences295
matches
0"hated that she"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs180
mean14.06
std16.25
cv1.156
sampleLengths
016
153
28
321
42
543
635
76
812
95
1012
112
1216
1347
146
154
166
172
184
192
205
2149
2210
236
2419
251
261
2737
287
295
3092
318
3210
3314
3417
3520
3611
373
3813
391
4010
4115
4222
433
4481
455
464
477
486
498
98.43% Passive voice overuse
Target: ≤2% passive sentences
passiveCount3
totalSentences154
matches
0"was planted"
1"being asked"
2"was creased"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs261
matches(empty)
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount1
flaggedSentences1
totalSentences295
ratio0.003
matches
0"The curry house beneath Eva’s flat sent up its warm, spiced smell through the floorboards; the landing itself carried only damp stone and the faint metallic tang of London rain."
99.68% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1437
adjectiveStacks0
stackExamples(empty)
adverbCount58
adverbRatio0.04036186499652053
lyAdverbCount8
lyAdverbRatio0.0055671537926235215
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences295
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences295
mean8.58
std7.1
cv0.828
sampleLengths
016
125
216
312
48
510
67
74
82
97
1019
116
1211
1318
1417
153
163
1712
185
1912
202
213
226
237
249
258
2630
276
284
296
302
314
322
335
344
3526
365
3714
3810
396
406
412
427
434
441
451
4610
473
486
499
43.22% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats20
diversityRatio0.2271186440677966
totalSentences295
uniqueOpeners67
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount6
totalSentences131
matches
0"Then Rory’s fingers tightened around"
1"Just the truth."
2"More than that, she hated"
3"Then the next morning, the"
4"Instead, she caught the front"
5"Then the old hurt came"
ratio0.046
55.11% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount54
totalSentences131
matches
0"He stood on the landing"
1"His platinum hair remained slicked"
2"It was not the answer"
3"She had prepared for charm,"
4"His voice held none of"
5"It was low, roughened by"
6"She started to close the"
7"Her hand stopped."
8"She looked past his shoulder"
9"He lowered his gaze."
10"It made him look less"
11"She hated more that part"
12"She studied him."
13"He was damp, but not"
14"His cane was planted firmly"
15"His free hand hung open"
16"His eyes lifted to hers."
17"He took a breath"
18"She kept her face still."
19"Her gaze snapped to his."
ratio0.412
59.24% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount105
totalSentences131
matches
0"The door opened on Lucien"
1"He stood on the landing"
2"His platinum hair remained slicked"
3"The amber eye and the"
4"The crescent scar on her"
5"It was not the answer"
6"She had prepared for charm,"
7"His voice held none of"
8"It was low, roughened by"
9"The cat had been less"
10"Lucien glanced down."
11"She started to close the"
12"Her hand stopped."
13"She looked past his shoulder"
14"The curry house beneath Eva’s"
15"He lowered his gaze."
16"It made him look less"
17"Rory hated that she noticed."
18"She hated more that part"
19"A brief flicker crossed his"
ratio0.802
38.17% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount1
totalSentences131
matches
0"Because she heard the strain"
ratio0.008
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences54
technicalSentenceCount2
matches
0"Every surface was crowded with books, scrolls, notebooks, and Eva’s research notes, stacked in precarious towers that gave the place the air of a library caught…"
1"She remembered his mouth against hers in the narrow passage behind the printworks, his hand careful at her waist, the sudden hesitation before he’d kissed her a…"
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags25
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags15
fancyCount0
fancyTags(empty)
dialogueSentences166
tagDensity0.09
leniency0.181
rawRatio0
effectiveRatio0
90.4802%