NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-10-27-01M5YJMMTYX9G133QBC94TVBGB
Run Details
Model:
GPT-6.1 Terra (Reasoning, Medium)
Test:
Bad Writing Habits
Scenario:
Fantasy: entering an ancient ruin
Duration:
45.8s
Cost:
$0.016038
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
100.00%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
90.70%
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)
0.00%
Name drop frequency
(details)
100.00%
Narrator intent-glossing
(details)
100.00%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
100.00%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
100.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
49.94%
Sentence opener variety
(details)
77.52%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
26.86%
Subject-first sentence starts
(details)
29.07%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
73.91%
Dialogue tag variety (said vs. fancy)
(details)
88.2666%
Overall
Model input
System
You are an expert fiction writer. Always keep the following rules in mind: - Write in past tense and use General English spelling, grammar, and colloquialisms/slang. - Write in active voice - Always follow the "show, don't tell" principle. - Avoid adverbs and cliches and overused/commonly used phrases. Aim for fresh and original descriptions. - Convey events and story through dialogue. - Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. - Skip "he/she said said" dialogue tags and convey people's actions or face expressions through their speech - Avoid mushy dialog and descriptions, have dialogue always continue the action, never stall or add unnecessary fluff. Vary the descriptions to not repeat yourself. - Put dialogue on its own paragraph to separate scene and action. - Reduce indicators of uncertainty like "trying" or "maybe" When writing text: - NEVER conclude the scene on your own, follow the beat instructions very closely. - NEVER end with foreshadowing. - NEVER write further than what I prompt you with. - AVOID imagining possible endings, NEVER deviate from the instructions. - STOP EARLY if the continuation contains what was required in the instructions. You do not need to fill out the full amount of words possible.
User/Human
Take into account the following glossary of characters/locations/items/lore... when writing your response: <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> Continue the story using the following instructions: <instructions> 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. </instructions>
Model response
Messages
Meta
AI
The stones stood between two
oaks, though Rory could have sworn the gap had been empty when they passed it a minute before. Seven pillars rose from the leaf litter.
Their bark had cracked into
deep channels, but their tops wore caps of lichen like weathered stone. Wildflowers grew around their bases: white stars, blue bells, and a red bloom with petals as narrow as threads. Eva stopped beside Rory. “Those weren’t there.” “They were,” Nyx whispered.
Their violet eyes glimmered beneath
the branches. “The gap wasn’t.”
Rory touched the Heartstone at
her throat.
The crimson gem rested against
her skin, no warmer than the silver chain. Beyond the pillars, the trees
seemed to
lean away from a patch of pale ground.
Eva lifted her phone and
took a photograph. “Good,”
she murmured, looking at the
screen. “I’ve got a picture of three trees and your left ear.” Rory held out her hand. Eva showed her the image.
The pillars had vanished, and
so had the flowers. “Send it to me.” “What for?” “In case my left ear comes loose.” Eva gave her a look, then tapped the screen.
Rory’s phone buzzed in her
coat pocket.
Nyx drifted closer to the
entrance. Shadows gathered under their feet, stretching towards the pillars even though the afternoon sun stood behind them. “I haven’t seen this place open,” they whispered. “You’ve been looking?” Rory asked. “For the woman who lives here.” “And you never thought to mention it?” “You never asked.” Eva tucked her phone away. “Before we walk into the invisible garden, can we agree on a signal for leaving?” Rory glanced at the stones. Between two of them, a white flower had turned its face towards her. “What signal?” “I shout ‘run’, and you run.” “That seems workable.”
Eva bent and picked up
a dead branch.
She pushed its tip between
two pillars. Nothing happened.
She pushed farther, until half
the branch had disappeared. Then she pulled it back. The bark on the far end had peeled away. Fresh green shoots curled from the wood. Eva held it at arm’s length. “Does that count as a reason to run?” “No,” Rory replied. “But it counts as a reason not to touch anything.” Nyx passed between the pillars first.
Their outline thinned, spread across
the pale ground, and gathered again on the other side. “Nothing bit me.” “Glowing recommendation,” Eva muttered. Rory followed. The air pressed against her face, cool and damp, and the sounds of Richmond Park fell away. A moment earlier she had heard a dog barking and someone calling after it.
Now she heard water running
over stone, though she could see no stream. Eva stepped through behind her. She still carried the branch. “You brought it?” “It’s mine now.” The clearing spread farther than the gap between the pillars had allowed. Grass rose to Rory’s calves, threaded with flowers in colours she could not name at first glance. Some held one colour at their edges and another at their centres; some changed when she shifted her head. A ring of oak trees surrounded the clearing, their trunks broad and hollowed, their roots arched above the ground. Between the roots lay shallow pools, each reflecting a different piece of sky. Rory crouched beside the nearest pool.
Its surface showed the branches
above her, but they wore new leaves instead of bare winter twigs. Eva joined her. “Is that us?” Two figures stood in the reflection. One held a branch covered in green shoots. The other wore Rory’s black coat and had Rory’s face, but her hair reached halfway down her back. Rory lifted a hand. The figure in the water kept hers at her side. “Don’t touch it,” Rory warned. “I wasn’t going to.” Eva leaned closer. The reflected Rory turned and walked out of the pool’s frame. Eva straightened. “I was going to say she needed a haircut.” Nyx crouched on Rory’s other side. No shape appeared for them in the water. “The pools have kept what they’ve seen,” they whispered. Rory looked up at the leafless branches. “Or what they wanted to see.”
She moved on before the
reflection came back. A narrow path wound through the flowers.
It had no paving, only
a strip of flattened grass, but the stems rose after Rory’s boots passed. Eva looked back and watched the last of their footprints disappear. “Useful if someone followed us.” “Less useful if we needed to find our way back,” Rory replied.
She took a tissue from
her pocket, tied it around a low branch, and pulled the knot tight. The white scrap showed against the dark wood. The path climbed between two roots and brought them to a stand of slender trees.
Their trunks looked like polished
bone. Fine silver leaves hung from their branches, turning edge-on as Rory approached so that each tree
seemed to
vanish, then return. Eva reached for one. “Rule,” Rory reminded her. “I know.” Eva folded her hand into her coat sleeve. “I wanted to hear it.” The leaves brushed together overhead. Their chime carried the thin, clear notes of glass, with a lower sound beneath them, like a finger drawn around the rim of a bowl. Nyx lifted their face. “There are voices in it.” Rory listened. At first she heard only the chime.
Then the notes separated, and
a word reached her, spoken in a voice like her mother’s. “Rory.” She turned towards the trees. The leaves shifted, and the voice called again from farther away. Eva gripped her arm. “I heard my dad.” The chime broke into a dozen overlapping voices. Rory caught her own name once more, then a laugh she recognised from a school corridor years ago.
She drew Eva back onto
the path. “Keep talking,” Rory told her. “About what?” “Anything that isn’t coming from a tree.” Eva tightened her grip. “You still owe me twenty pounds.” “I paid you.” “You paid me for the taxi. You didn’t pay me for the food.” Nyx followed them between the trunks, their shadow flowing over the roots. “What food?” they asked. “Chips,” Eva replied. “Cold chips,” Rory added. “They were hot when I bought them.” The voices faded behind them. Eva let go of Rory’s arm, though she kept close. At the far end of the stand, the path divided around a hill. Tiny doors had been set into its side. Some stood no higher than Rory’s ankle; others reached her waist. Each had a different handle, latch, or knocker. Moss covered the hinges, and roots had pushed through the frames, but fresh paint shone on several panels. One door stood open. Warm yellow light filled the gap. Eva lowered her voice. “Does someone live in there?” A pot rattled behind the door. Rory heard a scrape, then the sharp hiss of water meeting heat. A smell drifted out: toasted seeds, orange peel, and something savoury that made her
stomach
tighten. “I’d say someone’s cooking,” she replied. A small hand appeared at the edge of the door.
It wore a brass thimble
on each finger. The hand placed a saucer on the grass, then withdrew. Three dark berries sat on the saucer. Eva stared. “Those are for us?” The hand returned and tapped the saucer. Rory pulled the pendant out from under her collar.
Its inner glow showed through
the deep crimson stone.
She kept hold of it
as she crouched near the door. “We’re looking for Isolde Varga.” The hand paused.
Then it pointed uphill, its
thimbles catching the light. “Thank you.” Rory left the berries where they lay. As she stood, the hand seized one and lobbed it at her boot. Eva snorted. “You offended the cook.” “We don’t know what’s in them.” “You’ve eaten at motorway service stations.” A second berry struck Eva on the shin. She bowed towards the door. “My apologies.” The door slammed.
They climbed the hill through
grass that brushed wet against their clothes. Halfway up, Rory looked back for the tissue. The silver trees hid it, and beyond them she could see
neither the entrance nor
the great oaks around the clearing.
Instead, a broad lake lay
below, its surface crowded with water lilies. “We didn’t pass a lake,” Eva said. “No.” Nyx stood beside them, their outline dark against the pale grass. “The path moved.” “Can it move back?” “I can ask it.” Nyx knelt and placed a hand on the ground. Grass grew through their fingers. They waited, then rose. “It didn’t answer.” Eva looked at Rory. “Still not running?” Rory studied the slope ahead. A line of flat stones led towards the crest. Each bore a shallow hollow filled with rainwater, and someone had placed a single white petal in each hollow. “We’ve come this far.” “That’s not an argument.” “No. It’s the distance.” Eva adjusted her grip on the branch and followed. At the top of the hill, the stones ended at the edge of a garden sunk into the earth. Terraces curved down towards a circular basin. Flowers climbed the walls in dense curtains, and a pear tree grew from the centre of the basin, its roots submerged beneath clear water. Pears hung among its leaves beside white blossoms and bare winter buds. A woman stood on the lowest terrace with a basket hooked over her arm. Her silver hair fell to her waist. She reached up, selected a pear, and twisted it from its stem. Rory called down to her. “Isolde Varga?” The woman turned. Her pale lavender eyes travelled over the three of them, then settled on the pendant in Rory’s hand. “A red heart at a green door,” she replied. “Which one brought you here?” Rory descended the first step. “I wanted to ask you about it.” Eva followed. The stone held the day’s
warmth
through Rory’s boots, although the air around them had grown colder. Isolde placed the pear in her basket. “A question can ripen on the branch. It can also fall and split before anyone tastes it.” “Does that mean you’ll answer?” “It means you should watch your feet.” Rory stopped. The next step had tilted under her
weight
, exposing a narrow gap beneath it. Water ran through the gap and spilled into a channel along the terrace. Eva leaned over her shoulder. “That would have soaked your shoe.” “Among other things,” Isolde replied. Rory stepped across the channel. Nyx flowed over it without disturbing the water, while Eva used her branch for balance. They reached the lowest terrace. Isolde’s basket contained pears, a coil of blue thread, and three small shells. She crossed a patch of bare soil beside the basin. Rory watched her feet. The loose earth held the marks of roots and fallen petals, but no impressions of her shoes. Isolde noticed. “Would you like to see beneath it?” “Beneath the soil?” “Beneath the water.” She knelt at the basin and held one of the shells against the surface. The water drew back from it, opening a round window between the roots. Rory crouched beside her. The pear tree’s roots descended through the basin into a chamber lined with pale tiles. A table stood at its centre, set for a meal. Plates, cups, and a folded cloth rested beneath a film of green light. Fish slipped between the chair legs. Eva came down on Rory’s other side. “Who ate there?” “A king,” Isolde replied. “Which king?” “One who drowned at his table.” Eva pulled her hand away from the water. “Was he dining down there?” “He dined on the hill. The hill had other plans.” Rory peered into the chamber. A fish nosed against one of the cups and sent it rolling across the table. The sound reached them through the water: a small ceramic clatter. Nyx leaned over the basin. Their violet eyes reflected among the roots. “There’s writing on the wall.” Isolde turned the shell. The opening shifted, revealing a band of marks cut into the tiles. Rory recognised no letters, but the grooves held flecks of gold. “Can you read it?” she asked. Nyx
traced
the shapes in the air. “Not all of it. That mark means a guest. That one means a debt.” Eva pointed at a third. “And that?” Nyx studied it. “A pear.” Isolde took a pear from her basket and handed it to Eva. “This one came from the tree, not the saucer.” Eva looked at Rory, who shrugged. Eva took a bite. Juice ran over her thumb, and she caught it before it reached her sleeve. “Good?” Eva offered the pear across. Rory tasted salt first, then sweetness, then a sharp flavour like the skin of a plum. She handed it back and leaned over the basin again. The fish had gathered beneath the tablecloth. One tugged at a corner, pulling it loose from the table, and Rory followed its slow drift between the roots.
created_at
"2026-10-27T11:41:28.301Z"
10/27/2026, 11:41:28 AM
model
"openai/gpt-6.1-terra-20261026"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
7804
moderation_latency
(null)
generation_time
45732
tokens_prompt
1763
tokens_completion
3329
native_tokens_prompt
1706
native_tokens_completion
3190
native_tokens_completion_images
0
native_tokens_reasoning
463
native_tokens_cached
1703
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.01603815
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.22.1; linux; x64))"
http_referer
(null)
request_id
"req-1793101288-d5hj3leJeifz6R0A861D"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1793101288-ip2RTmg575K10ZPTZjbr"
upstream_id
"resp_0eee96db9a074a54016ae08de866a887d1bbe2f6fdf5c041a7"
provider_responses
0
endpoint_id
"2d2ad10f-098e-4bbf-aa95-11f705b2b9a2"
id
"resp_0eee96db9a074a54016ae08de866a887d1bbe2f6fdf5c041a7"
is_byok
false
latency
282
model_permaslug
"openai/gpt-6.1-terra-20261026"
provider_name
"OpenAI"
status
200
total_cost
0.01603815
cache_discount
0.00161785
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
21
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
92
tagDensity
0.228
leniency
0.457
rawRatio
0
effectiveRatio
0
100.00%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2150
totalAiIsmAdverbs
0
found
(empty)
highlights
(empty)
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)
90.70%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2150
totalAiIsms
4
found
0
word
"stomach"
count
1
1
word
"warmth"
count
1
2
word
"weight"
count
1
3
word
"traced"
count
1
highlights
0
"stomach"
1
"warmth"
2
"weight"
3
"traced"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
0
maxInWindow
0
found
(empty)
highlights
(empty)
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
198
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
2
narrationSentences
198
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
269
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
25
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2150
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
22
unquotedAttributions
0
matches
(empty)
0.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
110
wordCount
1716
uniqueNames
8
maxNameDensity
2.8
worstName
"Rory"
maxWindowNameDensity
5.5
worstWindowName
"Rory"
discoveredNames
Rory
48
Heartstone
1
Eva
37
Nyx
12
Richmond
1
Park
1
One
3
Isolde
7
persons
0
"Rory"
1
"Eva"
2
"Nyx"
3
"One"
4
"Isolde"
places
0
"Richmond"
1
"Park"
globalScore
0.101
windowScore
0
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
128
glossingSentenceCount
1
matches
0
"looked like polished bone"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
1
per1kWords
0.465
wordCount
2150
matches
0
"neither the entrance nor"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
269
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
173
mean
12.43
std
13.25
cv
1.066
sampleLengths
0
23
1
43
2
4
3
3
4
14
5
35
6
8
7
18
8
19
9
4
10
2
11
7
12
16
13
23
14
8
15
5
16
6
17
7
18
3
19
5
20
15
21
18
22
2
23
6
24
3
25
26
26
5
27
16
28
6
29
8
30
13
31
21
32
3
33
4
34
46
35
10
36
3
37
3
38
80
39
23
40
3
41
3
42
32
43
14
44
5
45
4
46
14
47
2
48
9
49
14
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
0
totalSentences
198
matches
(empty)
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
303
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
2
flaggedSentences
2
totalSentences
269
ratio
0.007
matches
0
"Some held one colour at their edges and another at their centres; some changed when she shifted her head."
1
"Some stood no higher than Rory’s ankle; others reached her waist."
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1717
adjectiveStacks
0
stackExamples
(empty)
adverbCount
35
adverbRatio
0.0203843913803145
lyAdverbCount
2
lyAdverbRatio
0.0011648223645894002
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
269
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
269
mean
7.99
std
4.99
cv
0.625
sampleLengths
0
23
1
7
2
17
3
19
4
4
5
3
6
4
7
7
8
3
9
7
10
13
11
15
12
8
13
7
14
11
15
5
16
5
17
9
18
4
19
2
20
7
21
9
22
7
23
6
24
17
25
8
26
5
27
6
28
7
29
3
30
5
31
15
32
5
33
13
34
2
35
6
36
3
37
8
38
7
39
2
40
9
41
5
42
9
43
7
44
6
45
8
46
3
47
10
48
6
49
15
49.94%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
4
diversityRatio
0.30855018587360594
totalSentences
269
uniqueOpeners
83
77.52%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
4
totalSentences
172
matches
0
"Then she pulled it back."
1
"Then the notes separated, and"
2
"Then it pointed uphill, its"
3
"Instead, a broad lake lay"
ratio
0.023
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
29
totalSentences
172
matches
0
"Their bark had cracked into"
1
"Their violet eyes glimmered beneath"
2
"she murmured, looking at the"
3
"She pushed its tip between"
4
"She pushed farther, until half"
5
"Their outline thinned, spread across"
6
"She still carried the branch."
7
"Its surface showed the branches"
8
"She moved on before the"
9
"It had no paving, only"
10
"She took a tissue from"
11
"Their trunks looked like polished"
12
"Their chime carried the thin,"
13
"She turned towards the trees."
14
"She drew Eva back onto"
15
"It wore a brass thimble"
16
"Its inner glow showed through"
17
"She kept hold of it"
18
"She bowed towards the door."
19
"They climbed the hill through"
ratio
0.169
26.86%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
149
totalSentences
172
matches
0
"The stones stood between two"
1
"Their bark had cracked into"
2
"Wildflowers grew around their bases:"
3
"Eva stopped beside Rory."
4
"Their violet eyes glimmered beneath"
5
"Rory touched the Heartstone at"
6
"The crimson gem rested against"
7
"Eva lifted her phone and"
8
"she murmured, looking at the"
9
"Rory held out her hand."
10
"Eva showed her the image."
11
"The pillars had vanished, and"
12
"Eva gave her a look,"
13
"Rory’s phone buzzed in her"
14
"Nyx drifted closer to the"
15
"Shadows gathered under their feet,"
16
"Eva tucked her phone away."
17
"Rory glanced at the stones."
18
"Eva bent and picked up"
19
"She pushed its tip between"
ratio
0.866
29.07%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
1
totalSentences
172
matches
0
"Now she heard water running"
ratio
0.006
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
72
technicalSentenceCount
1
matches
0
"A smell drifted out: toasted seeds, orange peel, and something savoury that made her stomach tighten."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
21
uselessAdditionCount
0
matches
(empty)
73.91%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
19
fancyCount
7
fancyTags
0
"Nyx whispered (whisper)"
1
"she murmured (murmur)"
2
"they whispered (whisper)"
3
"Eva muttered (mutter)"
4
"Rory warned (warn)"
5
"they whispered (whisper)"
6
"Rory added (add)"
dialogueSentences
92
tagDensity
0.207
leniency
0.413
rawRatio
0.368
effectiveRatio
0.152
88.2666%