Run: 2026-09-23-01M36NSTZPVXQRFPD9NF5FKVQ5

Run Details

Duration:
32.2s
Cost:
$0.001386
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="4418" name="Nyx" aliases="Nyx, the Shadow, Nightwhisper" pronouns="they/them" species="Shade" storyRole="Wild Card"> <eyeColor>faintly glowing violet</eyeColor> <height>approximately 6'2" in solid form</height> <age>ageless</age> <form>humanoid silhouette of living shadow, can shift between solid and incorporeal</form> <voice>sounds like a whisper carried on the wind</voice> <description>A being of living shadow, existing between the mortal plane and the spaces between realms.</description> <backstory>Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643. They now exist as a Shade, bound to the mortal plane but able to slip between shadows.</backstory> </character> <character id="4424" name="Isolde Varga" aliases="Isolde, the Seer" pronouns="she/her" species="Half-Fae" storyRole="Oracle"> <eyeColor>pale lavender</eyeColor> <hair>silver, reaching her waist</hair> <height>5'5"</height> <age>300 years old</age> <appearance>ethereal, ageless</appearance> <speech>speaks in riddles</speech> <footprints>leaves no footprints when she walks</footprints> <compulsion>cannot lie (Fae compulsion) but can mislead</compulsion> <description>A Half-Fae seer exiled from the Fae Courts for sharing visions with mortals.</description> <backstory>She now lives in a hidden grove in Richmond Park, offering cryptic prophecies to those who seek her out.</backstory> </character> <location id="853" name="Dymas (Gluttony)" aliases="Dymas, gluttony, Dymasian" realm="Hel" sin="Gluttony"> <ruler>Prince Belphegor</ruler> <skyColor>warm amber</skyColor> <description>A place of excess and indulgence. Sprawling vineyards, orchards, and gardens provide exotic ingredients for master chefs — often helbound souls contracted from Earth. Grand feasts and culinary competitions are common.</description> </location> <location id="861" name="The Fae Grove" aliases="Isolde's grove, Richmond grove, the Grove" realm="Earth (Fae-touched)"> <parkLocation>Richmond Park</parkLocation> <standingStones>ancient oak standing stones mark the boundary</standingStones> <timeBehavior>time moves differently — an hour inside can be minutes or days outside</timeBehavior> <flora>wildflowers bloom year-round</flora> <description>A hidden clearing that exists in a pocket between Earth and the Fae realm.</description> </location> <item id="2001" name="Heartstone Pendant" aliases="the pendant, Heartstone" type="Artifact" origin="Dymas"> <gemstoneColor>deep crimson</gemstoneColor> <chainMaterial>silver chain</chainMaterial> <size>roughly the size of a thumbnail</size> <behavior>pulses faintly with warmth when near a Hel portal</behavior> <glow>faint inner glow</glow> <description>Given to Aurora by an unknown benefactor.</description> </item> <item id="2006" name="Fae-Forged Blade" aliases="the Fae blade, Isolde's gift" type="Weapon" origin="The Fae Courts"> <material>moonsilver</material> <shape>slender, leaf-shaped dagger</shape> <temperature>always cold to the touch</temperature> <glow>faintly luminescent in moonlight</glow> <power>can cut through magical wards; particularly effective against demons</power> <givenTo>given to Aurora by Isolde as a gift</givenTo> <description>A weapon of the Fae Courts, rare and highly coveted.</description> </item> <lore id="7001" name="The Veil" aliases="the Veil, the Barrier, the Boundary" category="Cosmology"> <solsticeEffect>weakens during the winter solstice, strengthens during the summer solstice</solsticeEffect> <appearance>faint shimmering distortion visible only to those with supernatural sight</appearance> <monitoring>rift points (tears in the Veil) are monitored by the Wardens</monitoring> <description>The Veil is the metaphysical barrier separating Earth from Hel and the Fae Realms.</description> </lore> </codex> Write a fully fleshed out scene of at least 1000 words in the fantasy genre. A small group enters an ancient, otherworldly place for the first time. The environment is alien and wondrous. Describe their exploration — what they see, hear, and feel as they move deeper. Include moments of discovery, unease, and wonder. Let the world-building emerge through the characters' experience rather than exposition. Use the codex entries above as your world reference for characters, setting, and lore. Only include the prose of the scene without any markdown or commentary.

Model response

AI
The standing stones were oak, though Rory had never seen oak like this. They rose from the undergrowth in a crooked ring, their trunks broad as houses and black with age. No branches showed above them. Their bark ran in long, twisted ridges, and between those ridges glimmered pinpricks of pale gold, like sparks caught beneath the skin of the wood. Rory stopped at the edge of the ring. Behind her, Richmond Park lay under a low grey sky. The grass was wet from morning rain; a jogger passed between distant trees, bright shoes flashing. Ahead, the ground beyond the standing stones dipped into a hollow filled with flowers. There shouldn’t have been a hollow there. She knew the park. She had crossed this stretch before. “Is that it?” Eva whispered. Rory glanced back. Eva had drawn her coat tight around herself, though the air was mild. Nyx stood just behind her, a tall silhouette with violet eyes dim beneath the hood of their darkness. Isolde waited nearest the stones. Silver hair fell to her waist, shining where the grey daylight touched it. “The gate,” Isolde said. “The door. The mouth that swallows the road. Choose the name that lets you sleep.” “Those are all terrible names,” Eva said. “They are all true.” Rory looked at the flowers. A scatter of blue and white blooms filled the hollow, so dense they hid the earth beneath. Wildflowers, she thought. Then she noticed the same flowers growing in the cracks of the stones, and on the stones themselves, rooted in bark. Their petals were fresh, not a brown edge among them. The air smelled of rain and crushed mint. Beneath it ran something sweeter, warm as bread just pulled from an oven. Her hand went to the pendant at her throat. The crimson stone rested against her skin, small and smooth, its silver chain tucked beneath her collar. It held a faint heat, no more than a coal banked under ash. “Does it always smell like someone’s baking?” Eva asked. “No,” Isolde said. “Sometimes the grove is hungry.” Eva went quiet. Rory examined the boundary. No arch, no hinge, no visible shimmer. Only the old trees, the flowers, and the hollow beyond them. A breeze stirred the grass at her feet but left the flowers untouched. “What happens if we go in?” Rory asked. “You will go in,” said Isolde. “That wasn’t my question.” “It was the only answer you needed.” Rory breathed out through her nose. Isolde never lied, but she had made a craft of arranging the truth so it could cut from several directions. Rory had learned to listen for what she didn’t say. Nyx leaned closer to the trees. Their outline softened at the edges, a shadow cast in the wrong direction. “The boundary is thin here.” “Thin enough to pass?” Rory asked. “Thin enough to remember us.” She didn’t like that. She liked it even less when the Heartstone warmed another degree against her chest. Rory drew the Fae-forged blade from its sheath. The moonsilver was cold in her grip, its narrow leaf-shaped edge catching a light that seemed to come from nowhere. Isolde watched it with a stillness that made Rory wonder whether the blade had been meant as protection or warning. “Stay close,” Rory said. Eva gave a quick, humorless smile. “That was the plan.” They stepped through the ring. The air changed. Rory felt it first in her ears, a gentle pressure as if she had sunk beneath water. The distant sounds of the park—traffic, birds, the jogger’s music leaking from his headphones—went thin and vanished. She turned. Richmond Park was still there behind them, but it had slipped away. The trees beyond the standing stones stood farther off than they should, their trunks blurred by a gauzy, silver haze. The sky had taken on a pale green cast. The stones at Rory’s back seemed taller now, their crowns lost in shadow. Eva touched Rory’s sleeve. “Did the park move?” “I think we did.” “Comforting.” Rory took one step into the hollow. The flowers brushed her boots, though they reached no higher than her ankles. Their petals were soft as velvet and cool as metal. A pale blue moth lifted from the blooms and drifted around her face. Its wings made no sound. As it passed, she felt a fine tremor in her teeth. The hollow opened into a grove. Rory had expected trees. Instead, she found a forest arranged around impossible gaps. Trunks grew in looping arches, bending over the path without touching. Some were silver-grey and smooth, others dark and knotted. Between them hung threads of light, delicate as spider silk. They trembled when the group passed, though no wind stirred. The ground rolled beneath the flowers. Not hills, exactly. More like the back of some sleeping beast. The path wound down between roots that rose and dipped in slow, muscular curves. A stream crossed it, black and mirror-still. Its surface reflected the stars. Rory looked up. The sky above the grove was bright, dim, and full of stars. “Those aren’t stars,” Eva murmured. A cluster of them shifted, slowly turning around a point that could not be seen. “No,” said Isolde. “They are the lights that watch from the other side.” “Of what?” Eva asked. “Of the question you have not asked.” Eva stared at her. “I’m going to stop asking questions.” “You may try.” Rory crouched by the stream. The water gave off a soft, clean smell, like stone after lightning. She held the blade over it. In the black reflection, her face appeared pale and unfamiliar. Behind her, the others were absent. She straightened. “Don’t look in the water,” she said. Nyx had already turned away. Their form clung to the shade beneath a leaning tree, though no ordinary sun cast it. “Something looks back.” They crossed at a narrow bridge of woven roots. Rory tested each step before trusting it. The roots flexed under her weight, soft and springy, but held. Halfway across, a ripple passed through the stream below. It travelled upstream, widening as it went. Eva grabbed the back of Rory’s coat. At the far bank, Rory pulled her along. They hurried from the bridge as the water broke open. Something pale rose beneath its surface—an arm, perhaps, or a branch furred with white moss. It reached toward them, fingers separating one by one. Nyx turned. The shadow beneath the trees leapt across the stream, swallowing the reaching shape. The water shuddered, then smoothed. “Thank you,” Eva said. Nyx’s violet eyes glimmered. “It was not reaching for you.” “That’s worse.” The path climbed. As they moved deeper, the air grew warmer and the scent of bread strengthened. Rory began to hear music, too: a thin, wavering tune somewhere ahead, no instrument she could place. It threaded through the rustle of the leaves and the whisper of flower stems, rising whenever she tried to focus on it. A tree stood alone in a circular clearing. Its trunk was hollow from the roots upward, the opening tall enough for a person to enter. Inside the darkness, golden motes drifted like dust in a sunbeam. Rory stopped. The tree’s bark was covered in marks. At first they looked like scars. Then she saw the marks were letters, pressed into the wood in a script that shifted when she tried to read it. Lines folded into hooks, then unfurled into something like branches. “Is it writing?” she asked. “Once,” Isolde said. “What does it say?” “It remembers those who passed.” Rory examined the marks. One was newer than the rest, its edges raw and pale. It had been carved into the bark at roughly her height. “Who made that?” Isolde’s pale eyes rested on her. “Someone who wanted the tree to keep a promise.” “Did it?” “The tree remembers.” Rory didn’t ask what the promise had been. She could feel the hollow watching her. The golden motes drifted close to its entrance, then drew back, as if stirred by a breath from within. Eva leaned toward Rory. “We should keep moving.” “Agreed.” As they passed, Rory caught a sound from inside the trunk: a soft knock, three times. She tightened her grip on the blade. The path brought them to a rise where the grove opened wide. Rory stopped again. Below them lay a field of flowers under a strange, dim sky. Their colours ran beyond anything she could name: a blue so deep it seemed to have swallowed the light, a gold like honey, a red with a dark pulse at its centre. Pale grasses waved between them. Farther off, a line of standing stones marked another boundary, though those were not oak. These were slender pillars of white rock, their tops leaning toward one another like listeners. Beyond the stones, something vast moved through the mist. Rory saw only its outline: a long, slow curve, higher than the trees. Then it vanished. Eva’s hand found hers. Her fingers were cold. “What was that?” she whispered. “I don’t know.” The honest answer settled heavily between them. The pendant warmed against Rory’s skin. Its red face gave a faint inner glow, barely visible beneath her collar. She pulled it free. The stone pulsed once, slow and steady. “Is there a rift nearby?” she asked. Isolde’s expression did not change. “There are many ways to leave a world.” “That’s not what I asked.” “No,” Isolde said. “It is not.” Nyx had drifted to the edge of the rise. Their shadow-form blurred against the darkness beneath a flowering tree. “Something has crossed recently.” “From where?” Eva asked. Nyx looked into the mist. “Not here.” A tremor passed through the grove. The grasses bowed, though the wind had not changed. Every flower in the field turned toward the white stones. The music stopped. For a moment Rory heard only her own breathing, Eva’s beside her, and the low, deep thud of something beating far underground. The Heartstone answered with a warm pulse. Rory slid the pendant beneath her shirt and raised the blade. “Are we leaving?” Eva asked. Rory looked at the open field, at the far stones, at the mist moving in the shape of a giant’s shoulder. Wonder pressed against her fear until she could not tell them apart. She wanted to know what lay beyond. She wanted, with equal force, to be back in the ordinary park, where the worst thing in the grass might be a discarded bottle. “Not yet,” she said. Isolde’s silver hair stirred in a breeze Rory could not feel. “The first step is the easiest to regret.” “Then we’ll be careful with the next one.” She started down the slope. Eva followed. Nyx slipped after them, merging with the long shadows cast by flowers that had no sun. Isolde came last, leaving no mark in the soft earth. As they descended, the blooms parted before Rory’s boots. Their petals brushed her ankles and released a scent like warm bread and rain. Ahead, the white stones waited. Beyond them, the grove’s mist glimmered with distant, shifting lights. Behind her, the path had already begun to close.
created_at"2026-09-23T08:23:34.14Z" 9/23/2026, 8:23:34 AM
model"openai/gpt-6-luna-20260922"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency2402
moderation_latency(null)
generation_time32136
tokens_prompt1547
tokens_completion2845
native_tokens_prompt1532
native_tokens_completion2389
native_tokens_completion_images0
native_tokens_reasoning0
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.001385925
router(null)
user_agent"langchainjs-openai/1.0.0 ((node/v24.20.0; linux; x64))"
http_referer(null)
request_id"req-1790151814-FzzD57R8tsv3nYoYcdNO"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1790151814-rXVvhRAugIfJZcx190aY"
upstream_id"resp_08fe2691e33bf35c016ab38c863e1487d1830f9354f3c24e91"
provider_responses
0
endpoint_id"05e94e02-b9c2-4bbb-ba55-4082ee9ad687"
id"resp_08fe2691e33bf35c016ab38c863e1487d1830f9354f3c24e91"
is_byokfalse
latency1456
model_permaslug"openai/gpt-6-luna-20260922"
provider_name"OpenAI"
status200
total_cost0.001385925
cache_discount-0.000038225
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
totalTags20
adverbTagCount0
adverbTags(empty)
dialogueSentences56
tagDensity0.357
leniency0.714
rawRatio0
effectiveRatio0
97.32% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount1863
totalAiIsmAdverbs1
found
0
adverb"slowly"
count1
highlights
0"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)
70.48% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount1863
totalAiIsms11
found
0
word"comforting"
count1
1
word"velvet"
count1
2
word"silk"
count1
3
word"trembled"
count1
4
word"weight"
count1
5
word"wavering"
count1
6
word"whisper"
count1
7
word"could feel"
count1
8
word"pulse"
count2
9
word"pulsed"
count1
highlights
0"comforting"
1"velvet"
2"silk"
3"trembled"
4"weight"
5"wavering"
6"whisper"
7"could feel"
8"pulse"
9"pulsed"
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
narrationSentences183
matches(empty)
96.02% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount1
hedgeCount5
narrationSentences183
filterMatches
0"wonder"
hedgeMatches
0"seemed to"
1"began to"
2"tried to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences217
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen32
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords1860
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions21
unquotedAttributions0
matches(empty)
16.67% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions82
wordCount1626
uniqueNames8
maxNameDensity2.21
worstName"Rory"
maxWindowNameDensity4.5
worstWindowName"Rory"
discoveredNames
Rory36
Richmond2
Park2
Eva18
Isolde13
Heartstone2
Fae-forged1
Nyx8
persons
0"Rory"
1"Eva"
2"Isolde"
3"Heartstone"
4"Nyx"
places
0"Richmond"
1"Park"
globalScore0.393
windowScore0.167
45.83% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences120
glossingSentenceCount5
matches
0"light that seemed to come from nowhere"
1"seemed taller now, their crowns lost in shadow"
2"appeared pale and unfamiliar"
3"looked like scars"
4"something like branches"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount1860
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences217
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs103
mean18.06
std17.73
cv0.982
sampleLengths
013
148
248
317
45
552
619
77
84
956
1021
1139
129
138
143
1535
168
176
184
197
2036
2124
226
235
2418
2548
264
2710
285
293
3036
3154
328
334
341
3559
366
3753
3843
3915
405
4115
4213
434
447
4510
463
4739
482
497
99.51% Passive voice overuse
Target: ≤2% passive sentences
passiveCount3
totalSentences183
matches
0"been meant"
1"was covered"
2"been carved"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs289
matches(empty)
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount3
semicolonCount1
flaggedSentences3
totalSentences217
ratio0.014
matches
0"The grass was wet from morning rain; a jogger passed between distant trees, bright shoes flashing."
1"The distant sounds of the park—traffic, birds, the jogger’s music leaking from his headphones—went thin and vanished."
2"Something pale rose beneath its surface—an arm, perhaps, or a branch furred with white moss."
94.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1634
adjectiveStacks1
stackExamples
0"narrow leaf-shaped edge"
adverbCount47
adverbRatio0.02876376988984088
lyAdverbCount8
lyAdverbRatio0.004895960832313341
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences217
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences217
mean8.57
std5.35
cv0.624
sampleLengths
013
118
25
325
48
510
616
714
87
94
106
115
123
1313
1418
155
1613
174
1815
197
204
215
2217
233
2421
2510
268
2713
289
2917
3013
319
323
335
343
354
367
3711
3813
398
406
414
427
436
4420
4510
466
4713
485
496
46.08% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats10
diversityRatio0.30414746543778803
totalSentences217
uniqueOpeners66
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount6
totalSentences156
matches
0"Then she noticed the same"
1"Only the old trees, the"
2"Instead, she found a forest"
3"More like the back of"
4"Then she saw the marks"
5"Then it vanished."
ratio0.038
100.00% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount35
totalSentences156
matches
0"They rose from the undergrowth"
1"Their bark ran in long,"
2"She knew the park."
3"She had crossed this stretch"
4"Their petals were fresh, not"
5"Her hand went to the"
6"It held a faint heat,"
7"Their outline softened at the"
8"She didn’t like that."
9"She liked it even less"
10"They stepped through the ring."
11"Their petals were soft as"
12"Its wings made no sound."
13"They trembled when the group"
14"Its surface reflected the stars."
15"She held the blade over"
16"Their form clung to the"
17"They crossed at a narrow"
18"It travelled upstream, widening as"
19"They hurried from the bridge"
ratio0.224
65.77% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount123
totalSentences156
matches
0"The standing stones were oak,"
1"They rose from the undergrowth"
2"Their bark ran in long,"
3"Rory stopped at the edge"
4"The grass was wet from"
5"There shouldn’t have been a"
6"She knew the park."
7"She had crossed this stretch"
8"Rory glanced back."
9"Eva had drawn her coat"
10"Nyx stood just behind her,"
11"Isolde waited nearest the stones."
12"Rory looked at the flowers."
13"A scatter of blue and"
14"Wildflowers, she thought."
15"Their petals were fresh, not"
16"The air smelled of rain"
17"Her hand went to the"
18"The crimson stone rested against"
19"It held a faint heat,"
ratio0.788
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences156
matches(empty)
ratio0
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences76
technicalSentenceCount1
matches
0"The moonsilver was cold in her grip, its narrow leaf-shaped edge catching a light that seemed to come from nowhere."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags20
uselessAdditionCount0
matches(empty)
96.43% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags20
fancyCount3
fancyTags
0"Eva whispered (whisper)"
1"Eva murmured (murmur)"
2"she whispered (whisper)"
dialogueSentences56
tagDensity0.357
leniency0.714
rawRatio0.15
effectiveRatio0.107
87.6035%