NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-09-23-01M36R05094XPGRPFSZPQYY76F
Run Details
Model:
GPT-6 Luna (Reasoning, High)
Test:
Bad Writing Habits
Scenario:
Fantasy: entering an ancient ruin
Duration:
52.2s
Cost:
$0.002278
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
94.30%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
68.64%
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)
16.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)
88.17%
Em-dash & semicolon overuse
(details)
94.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
47.69%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
79.86%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
89.6445%
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="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
Messages
Meta
AI
The first standing stone leaned
over the path as if it meant to hear what they said. Rory stopped beneath it. Its surface was the dark, ridged brown of old oak, though it stood taller than a house and showed no seam where bark met earth.
The other stones waited among
the trees, each one shaped like a trunk split from its roots and lifted upright. Moss furred their flanks. Pale flowers grew in the cracks. Eva drew level with her. “That’s not a tree.” “No,” Rory said. Beside them, Nyx gathered themself into a more solid shape.
The air dimmed where their
shadow-body met the dusk; faint violet eyes opened in the dark. “It remembers being one.” Rory glanced at them. “Does it?” “It remembers many things.” “That’s not an answer.” “It is the only one I have.” Ahead, between the standing stones, Isolde Varga waited in a patch of flowers.
Her silver hair fell to
her waist, catching the weak light. She wore no shoes.
The earth beneath her feet
showed no prints, though the ground was soft with leaf mould. “The gate is open,” she said. “But gates dislike being hurried.”
Rory had learned that Isolde’s
truths often arrived wearing disguises.
She looked past the seer
into the trees. Beyond the stones, the path
seemed ordinary enough: a narrow track, a tangle of roots, the last rusty bracken of autumn
. But the shadows between the trunks held a strange, pearly shimmer, like oil on water. “How will we know when we’re through?” Eva asked. “When you are on the other side.”
Isolde turned and walked between
the stones. No twig snapped under her feet.
The silver of her hair
dwindled among the trunks. Eva exhaled through her nose. “I’m beginning to think we should have brought snacks.” “We did,”
Rory said, and tapped the
canvas satchel at her hip. “Good. If we get eaten by something, I want it to know we came prepared.” Rory stepped forward.
The air changed at the
boundary. It pressed against her face, cool and damp, and carried a scent like rain on hot stone.
She felt it slip over
her skin, then through her, a shiver passing from her scalp to the scar on her left wrist. Behind them, the park’s
familiar
noises—distant traffic, a dog barking, a plane’s thin growl—went muffled, as if a door had closed. Nyx followed. Eva came last, muttering something Rory couldn’t hear. For three strides the path remained a path.
Then the trees drew closer
without moving.
Their trunks stood black and
smooth, pale rings spiraling up their bark like the grain in polished wood. The bracken vanished. Wildflowers crowded the ground in every direction, white and yellow and blue, some no larger than pinheads, some wide as Rory’s palm. Their petals glimmered with dew, though the air was dry. Behind her, Rory heard Eva stop. “What?” Rory asked. Eva turned around. “The stones.” The standing stones
were gone
. So was the path they had taken. Behind them stretched a grove of slender, silver-leaved trees, their branches knitting together overhead. No gap showed between their trunks. No sign of the park, no distant lights, no grey city sky. Rory kept her face still. Panic was a poor tool; it made people miss the obvious. “We can mark our route.”
She pulled a key ring
from her pocket and hooked a small brass
charm
onto a low branch. The
charm
swung once, though there was no wind. Its surface dulled, then brightened. When Rory blinked, it hung from a different branch ten feet farther on. “That’s useful,” Eva said. “Maybe it’s the same
charm
.” “Maybe the tree has a
sense of
humor.” “Trees don’t have a
sense of
humor,” Nyx said. The
charm
rang
softly
. Nyx tilted their head. “Usually.” The sound drifted away through the trees, thin as a spoon striking glass. Rory took out her phone. The screen showed a smear of light where the time should have been, then went black.
She held down the power
button. Nothing. “Fine,”
she said, and tucked it
away. “We’ll use the old method.” “Which is?” Eva asked. “Remembering where we’ve been.”
They moved deeper, keeping the
stones—or what they hoped were the stones—behind them. The ground rose in gentle swells, although the trees offered no view of any hill. Rory felt the slope in her calves and the pull in her knees. The air smelled sweet, then sour, then sweet again. A low music threaded through the grove. At first she thought it was wind in the leaves, but the trees were still. The notes gathered and thinned as they walked, too soft to follow, too regular to ignore. Every so often the flowers turned their heads. Not toward the sun. There was no sun. They followed Rory. She stopped.
Their stems halted with a
faint, papery rustle. “Keep walking,” Nyx whispered. Rory did. The flowers turned with her, their faces tracking the movement. Eva reached out, then pulled back before touching one. “Do you think they’re watching us?” she asked. “I think they’re flowers,” Rory said. “And I think I’d rather not be wrong about what they’re doing.” Ahead, a thread of water crossed the path.
It ran uphill, transparent and
shining, without a streambed or banks. The surface bore tiny ripples, though nothing stirred the air. Rory crouched near it. Beneath the water, pale stones glowed with a blue light that made her teeth ache. Nyx leaned over her shoulder.
Their shadow spilled across the
stream, but the water reflected nothing. “Don’t touch it,” they said. “I wasn’t going to.” “You were thinking about it.” “I was thinking about what it is.” “That is how touching begins.” Rory looked for a way across. The water was no wider than a paving stone, but the bank on the far side sat a handspan higher than the one beneath her boots. She stepped over it. For an instant, she felt weightless.
Then the earth took her
foot. She glanced back. Eva had crossed too,
eyes narrowed
at the stream. Nyx glided over without bending the flowers. The path opened into a small clearing. At its centre stood an oak with roots as thick as walls, each one arching up from the ground and plunging back into it. The trunk split into three immense branches, then three more, until Rory could not tell where wood ended and the surrounding trees began. Yellow flowers bloomed in a circle around its roots.
Their scent was warm and
buttery, like bread fresh from an oven. Rory’s
stomach
cramped. She hadn’t realized how hungry she was. Eva noticed. “That smell is unfair.” A fruit hung from the lowest branch. It
was shaped
like a small red heart, smooth-skinned and bright enough to seem lit from within. Rory thought of the pendant beneath her shirt, but it remained cool against her collarbone. “Don’t,” Nyx said. “I’m not reaching for it.” “You were looking at it.” “That’s usually how people see things.” The fruit rocked
gently
on its stem. From somewhere inside it came a sound like a child laughing. Eva stepped behind Rory. The laugh stopped. Rory backed away. One deliberate step. Then another. The grove’s music returned, quiet and
wavering
, and the fruit hung still. “That tree’s not a tree,” Eva said. “I’m starting to notice a theme.” Something shifted on the far side of the clearing. Rory raised a hand, halting the others. Her fingers had gone cold. Between two roots, a gap led into darkness. Beyond it, she caught the suggestion of stone steps descending. She drew the moonsilver dagger from her belt. The blade’s leaf shape lay cold and narrow in her palm, its edge pale even in the shade. It gave off no light here, but she felt its
chill
settle her thoughts. The darkness between the roots
seemed to
deepen. “Is there something down there?” Eva whispered. Nyx’s eyes brightened. “There are always things down there.” Rory watched the gap. The urge to approach tugged at her, a clean, almost reasonable certainty that the steps led somewhere important. That she needed to see. That the grove would let them leave once she had. She pressed the dagger’s cold spine to the crescent scar on her wrist. The sting cleared her head. “Not today,” she said. The compulsion loosened. The gap became only a gap. A soft
footfall
came from behind them. Rory turned with the blade raised. Isolde stood at the clearing’s edge, silver hair bright against the dark trees. She looked from the dagger to Rory’s face, then to the arch beneath the roots. “You found the door,” she said. “We didn’t open it,” Rory replied. “Doors are often pleased to be found.” “That doesn’t sound like a reason to go through one.” “No,” Isolde said. “It is a reason to wonder what waits.” Rory lowered the blade but didn’t sheath it. “How far have we walked?” Isolde’s pale eyes rested on her. “Far enough to arrive. Not far enough to leave.” Eva made a small, unhappy sound. Rory glanced back toward the way they had come. The clearing had no visible entrance. The flowers surrounded them in a bright, unbroken ring. “How long have we been here?” she asked. “Longer than you think,” Isolde said. “Less than the grove does.” Rory
hated that the
answer made sense. The flowers lifted their heads.
Somewhere in the trees, a
bell rang once. Rory felt the note vibrate through her ribs, and the oak’s roots shifted with a slow wooden groan. Beneath them, hidden in the earth, another bell answered. Nyx slid closer to Rory. Their shadow brushed her shoulder without touching it. For the first time since they crossed the boundary, the grove seemed less like a place and more like something that had noticed them. Rory tightened her grip on the dagger. Around her, the flowers shone in every colour the London sky had forgotten. The air tasted of rain, honey, and stone. She could hear no traffic, no birds, no human voices.
Only the patient music in
the trees and, beneath it, the deep, slow turning of something vast. Isolde smiled faintly, as if Rory had asked a question without speaking. “Welcome,” she said. “The grove has been expecting you.” Rory looked at the fruitless branch, the dark doorway between the roots, and the flowers all facing her. “Then it can wait,” she said. For a moment, nothing moved. Then the flowers turned away.
created_at
"2026-09-23T09:01:58.319Z"
9/23/2026, 9:01:58 AM
model
"openai/gpt-6-luna-20260922"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
8167
moderation_latency
(null)
generation_time
51903
tokens_prompt
1547
tokens_completion
2924
native_tokens_prompt
1532
native_tokens_completion
4174
native_tokens_completion_images
0
native_tokens_reasoning
1903
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.002278425
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.21.0; linux; x64))"
http_referer
(null)
request_id
"req-1790154118-lKpXfUzdMEHFdd1qLojY"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1790154118-l6aSq2g3AkZyrE4Wa89A"
upstream_id
"resp_0e17b37790c90cae016ab39586973487d1a41dc24b8f8df1df"
provider_responses
0
endpoint_id
"05e94e02-b9c2-4bbb-ba55-4082ee9ad687"
id
"resp_0e17b37790c90cae016ab39586973487d1a41dc24b8f8df1df"
is_byok
false
latency
1549
model_permaslug
"openai/gpt-6-luna-20260922"
provider_name
"OpenAI"
status
200
total_cost
0.002278425
cache_discount
-0.000038225
upstream_inference_cost
0
provider_name
"OpenAI"
response_cache_source_id
(null)
data_region
"global"
workspace_id
"97e315e5-d303-487d-83c1-83180e8a13d4"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
24
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
59
tagDensity
0.407
leniency
0.814
rawRatio
0
effectiveRatio
0
94.30%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1754
totalAiIsmAdverbs
2
found
0
adverb
"softly"
count
1
1
adverb
"gently"
count
1
highlights
0
"softly"
1
"gently"
100.00%
AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
68.64%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1754
totalAiIsms
11
found
0
word
"familiar"
count
1
1
word
"charm"
count
4
2
word
"sense of"
count
2
3
word
"stomach"
count
1
4
word
"wavering"
count
1
5
word
"chill"
count
1
6
word
"footfall"
count
1
highlights
0
"familiar"
1
"charm"
2
"sense of"
3
"stomach"
4
"wavering"
5
"chill"
6
"footfall"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
1
maxInWindow
1
found
0
label
"eyes widened/narrowed"
count
1
highlights
0
"eyes narrowed"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
174
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
1
narrationSentences
174
filterMatches
(empty)
hedgeMatches
0
"seemed to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
209
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
26
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
1750
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
19
unquotedAttributions
0
matches
(empty)
16.67%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
74
wordCount
1465
uniqueNames
7
maxNameDensity
2.53
worstName
"Rory"
maxWindowNameDensity
4.5
worstWindowName
"Rory"
discoveredNames
Nyx
10
Isolde
8
Varga
1
Rory
37
Eva
15
Ahead
2
London
1
persons
0
"Nyx"
1
"Isolde"
2
"Varga"
3
"Rory"
4
"Eva"
places
0
"London"
globalScore
0.237
windowScore
0.167
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
109
glossingSentenceCount
1
matches
0
"seemed ordinary enough: a narrow track, a tangle of roots, the last rusty bracken of autumn"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
1750
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
2
totalSentences
209
matches
0
"learned that Isolde’s"
1
"hated that the"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
100
mean
17.5
std
18.04
cv
1.031
sampleLengths
0
17
1
59
2
9
3
3
4
30
5
6
6
4
7
4
8
7
9
44
10
11
11
54
12
9
13
7
14
22
15
14
16
12
17
15
18
3
19
67
20
10
21
68
22
6
23
3
24
5
25
44
26
21
27
45
28
4
29
5
30
8
31
9
32
4
33
5
34
41
35
12
36
4
37
4
38
88
39
8
40
11
41
10
42
4
43
21
44
8
45
18
46
48
47
16
48
5
49
4
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
2
totalSentences
174
matches
0
"were gone"
1
"was shaped"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
266
matches
(empty)
88.17%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
4
semicolonCount
2
flaggedSentences
4
totalSentences
209
ratio
0.019
matches
0
"The air dimmed where their shadow-body met the dusk; faint violet eyes opened in the dark."
1
"Behind them, the park’s familiar noises—distant traffic, a dog barking, a plane’s thin growl—went muffled, as if a door had closed."
2
"Panic was a poor tool; it made people miss the obvious."
3
"They moved deeper, keeping the stones—or what they hoped were the stones—behind them."
94.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1472
adjectiveStacks
1
stackExamples
0
"slender, silver-leaved trees,"
adverbCount
52
adverbRatio
0.035326086956521736
lyAdverbCount
6
lyAdverbRatio
0.004076086956521739
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
209
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
209
mean
8.37
std
5.21
cv
0.622
sampleLengths
0
17
1
4
2
25
3
20
4
4
5
6
6
5
7
4
8
3
9
10
10
16
11
4
12
4
13
2
14
4
15
4
16
7
17
13
18
11
19
4
20
16
21
6
22
5
23
10
24
8
25
21
26
15
27
9
28
7
29
7
30
6
31
9
32
5
33
9
34
12
35
15
36
3
37
6
38
17
39
23
40
21
41
2
42
8
43
8
44
7
45
18
46
3
47
22
48
10
49
6
47.69%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
7
diversityRatio
0.3062200956937799
totalSentences
209
uniqueOpeners
64
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
5
totalSentences
146
matches
0
"Then the trees drew closer"
1
"Then the earth took her"
2
"Somewhere in the trees, a"
3
"Only the patient music in"
4
"Then the flowers turned away."
ratio
0.034
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
29
totalSentences
146
matches
0
"Its surface was the dark,"
1
"Her silver hair fell to"
2
"She wore no shoes."
3
"She looked past the seer"
4
"It pressed against her face,"
5
"She felt it slip over"
6
"Their trunks stood black and"
7
"Their petals glimmered with dew,"
8
"She pulled a key ring"
9
"Its surface dulled, then brightened."
10
"She held down the power"
11
"she said, and tucked it"
12
"They moved deeper, keeping the"
13
"They followed Rory."
14
"Their stems halted with a"
15
"It ran uphill, transparent and"
16
"Their shadow spilled across the"
17
"She stepped over it."
18
"She glanced back."
19
"Their scent was warm and"
ratio
0.199
79.86%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
111
totalSentences
146
matches
0
"The first standing stone leaned"
1
"Rory stopped beneath it."
2
"Its surface was the dark,"
3
"The other stones waited among"
4
"Moss furred their flanks."
5
"Eva drew level with her."
6
"The air dimmed where their"
7
"Rory glanced at them."
8
"Her silver hair fell to"
9
"She wore no shoes."
10
"The earth beneath her feet"
11
"Rory had learned that Isolde’s"
12
"She looked past the seer"
13
"Isolde turned and walked between"
14
"The silver of her hair"
15
"Eva exhaled through her nose."
16
"Rory said, and tapped the"
17
"Rory stepped forward."
18
"The air changed at the"
19
"It pressed against her face,"
ratio
0.76
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
146
matches
(empty)
ratio
0
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
57
technicalSentenceCount
1
matches
0
"Behind them, the park’s familiar noises—distant traffic, a dog barking, a plane’s thin growl—went muffled, as if a door had closed."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
24
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
24
fancyCount
2
fancyTags
0
"Nyx whispered (whisper)"
1
"Eva whispered (whisper)"
dialogueSentences
59
tagDensity
0.407
leniency
0.814
rawRatio
0.083
effectiveRatio
0.068
89.6445%