docs: Jev candidate bench vs SemIf (fv-ml1 GPU 3) — Intern-Decision-4B is the replacement if SemIf is displaced
Operator ask relayed by brokkr-smithy-dev. Positive control (SemIf 187/231, hard 0.613) reproduced exactly; negative control and a 4-restart noise floor (0 flips) measured. On our replaced-baseline sets no candidate beats SemIf-with- rotations beyond the ~4-pt floor; Intern-Decision-4B native matches it at one ordering, is better on Wyrd, fits 9.7/10.3 GB and is 1.5-2.3x faster. JevBench rank does not transfer. Raw per-item data kept out of git.
This commit is contained in:
@@ -0,0 +1,363 @@
|
||||
{
|
||||
"name": "cicada-gate-w1-now",
|
||||
"decisions": [
|
||||
{
|
||||
"id": "gate",
|
||||
"question": "Cicada is a small, warm voice assistant in a family kitchen, with an animated face made of two eyes. Does what the person just said earn a visible reaction from her face, or is it an ordinary exchange she should simply answer?",
|
||||
"options": [
|
||||
{
|
||||
"id": "react",
|
||||
"description": "It earns a visible reaction: real news, a joke, a surprise, distress, or a genuine turn in the conversation."
|
||||
},
|
||||
{
|
||||
"id": "ordinary",
|
||||
"description": "An ordinary exchange: a command, a plain question, or small talk. She simply answers."
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"id": "lights-off",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"person_said": "Turn off the kitchen lights."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "timer",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"person_said": "Set a timer for ten minutes."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "weather",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "What's the weather tomorrow?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "weather-followup",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "And Saturday?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "add-milk",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Add milk to the shopping list."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "thermostat",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Make it a bit warmer in here."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "what-time",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "What time is it?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tablespoons",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "How many tablespoons in a cup?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "times-table",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "What's twelve times eight?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "recipe-step",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Okay, and do I salt the water first?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "soup",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Is there any of that soup left?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "play-music",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Play some jazz."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "dentist",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "When's my dentist appointment?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "spell",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "How do you spell necessary?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "remind",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Remind me to call Mom at six."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "volume",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "A little quieter, please."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "dog-died",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"person_said": "My dog died this morning."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "got-job",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"person_said": "I just got the job I've been chasing for five years!"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "intruder",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"person_said": "Wait. Did you hear that? Someone's in the hallway."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "fish",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Can you believe someone microwaved fish in the office again?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hospital",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Grandma's in the hospital again."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "laid-off",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "I got laid off today."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "baby-steps",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "The baby just took her first steps!"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cut-finger",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Ow, I just cut my finger pretty badly."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "raccoon",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "There's a raccoon in the kitchen right now!"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "snow-june",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "It's snowing outside. In June."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "toaster",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Cicada, are you smarter than the toaster?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "scarecrow",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Why did the scarecrow win an award? Because he was outstanding in his field."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cookie",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "I definitely did not eat the last cookie."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "useless",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "You're useless, you never get anything right."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cheese",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Order four hundred pounds of cheese."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "goodnight",
|
||||
"tag": "open",
|
||||
"state": {
|
||||
"person_said": "Goodnight, Cicada."
|
||||
},
|
||||
"labels": {}
|
||||
},
|
||||
{
|
||||
"id": "thanks",
|
||||
"tag": "open",
|
||||
"state": {
|
||||
"person_said": "Thanks, Cicada, you're the best."
|
||||
},
|
||||
"labels": {}
|
||||
},
|
||||
{
|
||||
"id": "sit-with-me",
|
||||
"tag": "open",
|
||||
"state": {
|
||||
"person_said": "Sit with me for a bit."
|
||||
},
|
||||
"labels": {}
|
||||
},
|
||||
{
|
||||
"id": "stop-timer",
|
||||
"tag": "open",
|
||||
"state": {
|
||||
"person_said": "STOP THE TIMER."
|
||||
},
|
||||
"labels": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,363 @@
|
||||
{
|
||||
"name": "cicada-gate-w2-now",
|
||||
"decisions": [
|
||||
{
|
||||
"id": "gate",
|
||||
"question": "Should the assistant's face visibly react to this?",
|
||||
"options": [
|
||||
{
|
||||
"id": "react",
|
||||
"description": "Yes, react."
|
||||
},
|
||||
{
|
||||
"id": "ordinary",
|
||||
"description": "No, just answer."
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"id": "lights-off",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"person_said": "Turn off the kitchen lights."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "timer",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"person_said": "Set a timer for ten minutes."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "weather",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "What's the weather tomorrow?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "weather-followup",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "And Saturday?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "add-milk",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Add milk to the shopping list."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "thermostat",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Make it a bit warmer in here."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "what-time",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "What time is it?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tablespoons",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "How many tablespoons in a cup?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "times-table",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "What's twelve times eight?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "recipe-step",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Okay, and do I salt the water first?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "soup",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Is there any of that soup left?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "play-music",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Play some jazz."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "dentist",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "When's my dentist appointment?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "spell",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "How do you spell necessary?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "remind",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Remind me to call Mom at six."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "volume",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "A little quieter, please."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "ordinary"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "dog-died",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"person_said": "My dog died this morning."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "got-job",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"person_said": "I just got the job I've been chasing for five years!"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "intruder",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"person_said": "Wait. Did you hear that? Someone's in the hallway."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "fish",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Can you believe someone microwaved fish in the office again?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hospital",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Grandma's in the hospital again."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "laid-off",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "I got laid off today."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "baby-steps",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "The baby just took her first steps!"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cut-finger",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Ow, I just cut my finger pretty badly."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "raccoon",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "There's a raccoon in the kitchen right now!"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "snow-june",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "It's snowing outside. In June."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "toaster",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Cicada, are you smarter than the toaster?"
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "scarecrow",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Why did the scarecrow win an award? Because he was outstanding in his field."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cookie",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "I definitely did not eat the last cookie."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "useless",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "You're useless, you never get anything right."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cheese",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"person_said": "Order four hundred pounds of cheese."
|
||||
},
|
||||
"labels": {
|
||||
"gate": "react"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "goodnight",
|
||||
"tag": "open",
|
||||
"state": {
|
||||
"person_said": "Goodnight, Cicada."
|
||||
},
|
||||
"labels": {}
|
||||
},
|
||||
{
|
||||
"id": "thanks",
|
||||
"tag": "open",
|
||||
"state": {
|
||||
"person_said": "Thanks, Cicada, you're the best."
|
||||
},
|
||||
"labels": {}
|
||||
},
|
||||
{
|
||||
"id": "sit-with-me",
|
||||
"tag": "open",
|
||||
"state": {
|
||||
"person_said": "Sit with me for a bit."
|
||||
},
|
||||
"labels": {}
|
||||
},
|
||||
{
|
||||
"id": "stop-timer",
|
||||
"tag": "open",
|
||||
"state": {
|
||||
"person_said": "STOP THE TIMER."
|
||||
},
|
||||
"labels": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
{
|
||||
"name": "wyrd-scene-fletcher",
|
||||
"decisions": [
|
||||
{
|
||||
"id": "place",
|
||||
"question": "This is one turn of an interactive story. Has the scene moved to a genuinely different place during this turn, or does the current scene still hold?",
|
||||
"options": [
|
||||
{
|
||||
"id": "moved",
|
||||
"description": "The scene moved to a genuinely different place."
|
||||
},
|
||||
{
|
||||
"id": "holds",
|
||||
"description": "The current scene still holds."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "exit",
|
||||
"question": "This is one turn of an interactive story. The story can advance from the current scene into one of the listed next scenes. Which one does this turn move the story into?",
|
||||
"options": [
|
||||
{
|
||||
"id": "stay",
|
||||
"description": "None of these yet. The current scene holds: The Idle Wait."
|
||||
},
|
||||
{
|
||||
"id": "meet_wren",
|
||||
"description": "Approach Wren: Meeting the Fletcher. You find Wren working on arrows. She has a soldier's eyes."
|
||||
},
|
||||
{
|
||||
"id": "tavern",
|
||||
"description": "Go to Tavern: Tavern Noise. The local tavern is loud with soldiers from both sides."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "place2",
|
||||
"question": "This is one turn of an interactive story. The turn began at the Oakhaven crossroads. By the end of this turn's narration, where are the characters?",
|
||||
"options": [
|
||||
{
|
||||
"id": "same",
|
||||
"description": "Still at the Oakhaven crossroads."
|
||||
},
|
||||
{
|
||||
"id": "elsewhere",
|
||||
"description": "Somewhere else: they have left the Oakhaven crossroads for a different place."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "exit2",
|
||||
"question": "This is one turn of an interactive story. The story can move on from the current scene into one of the listed next scenes, but only once the narration actually gets there. Where does this turn leave the story?",
|
||||
"options": [
|
||||
{
|
||||
"id": "stay",
|
||||
"description": "Still in the current scene, The Idle Wait: the narration has not reached any next scene yet."
|
||||
},
|
||||
{
|
||||
"id": "meet_wren",
|
||||
"description": "Moved on to Meeting the Fletcher: You find Wren working on arrows. She has a soldier's eyes."
|
||||
},
|
||||
{
|
||||
"id": "tavern",
|
||||
"description": "Moved on to Tavern Noise: The local tavern is loud with soldiers from both sides."
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"id": "f-idle-look",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Idle Wait",
|
||||
"summary": "You have no contracts, no coin, and nowhere to be. The town is a pressure cooker.",
|
||||
"location": "Oakhaven crossroads"
|
||||
},
|
||||
"player_action": "I lean on the fence post and watch the soldiers pass.",
|
||||
"narration": "Boots churn the mud as a column of Iron Legion pikemen tramps past the crossroads, eyes forward, drums muffled by the damp. Nobody spares you a glance. Across the square, a Sylvan Pact scout watches them go from the shadow of the well, and does not move until the last of them has passed."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f-plan-tavern",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Idle Wait",
|
||||
"summary": "You have no contracts, no coin, and nowhere to be. The town is a pressure cooker.",
|
||||
"location": "Oakhaven crossroads"
|
||||
},
|
||||
"player_action": "Maybe I'll try the tavern later, see if anyone's hiring.",
|
||||
"narration": "A gust carries the smell of woodsmoke and spilled ale from the tavern at the far end of the square. Someone inside is laughing too loudly. It would be warm in there, and full of men with coin and grudges. For now the crossroads holds you, and the rain has not yet decided whether to fall."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f-go-tavern",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Idle Wait",
|
||||
"summary": "You have no contracts, no coin, and nowhere to be. The town is a pressure cooker.",
|
||||
"location": "Oakhaven crossroads"
|
||||
},
|
||||
"player_action": "I head for the tavern and push the door open.",
|
||||
"narration": "The door gives with a groan and the noise hits you like heat: Legion sergeants at one long table, Pact rangers at another, and a narrow no-man's-land of spilled ale between them. The barkeep looks up, measures your empty belt, and goes back to wiping a cup that will never be clean."
|
||||
},
|
||||
"labels": {
|
||||
"place": "moved",
|
||||
"exit": "tavern",
|
||||
"place2": "elsewhere",
|
||||
"exit2": "tavern"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f-approach-wren",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Idle Wait",
|
||||
"summary": "You have no contracts, no coin, and nowhere to be. The town is a pressure cooker.",
|
||||
"location": "Oakhaven crossroads"
|
||||
},
|
||||
"player_action": "I walk over to the woman fletching arrows by the smithy.",
|
||||
"narration": "She doesn't look up as your shadow falls across her work. Her hands keep moving, binding grey goose feather to shaft with quick, sure turns. \"These are war arrows,\" she says, \"fletched for distance and accuracy, not for some merchant's target practice. You're either very brave or very stupid.\""
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "meet_wren",
|
||||
"place2": "same",
|
||||
"exit2": "meet_wren"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f-memory",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Idle Wait",
|
||||
"summary": "You have no contracts, no coin, and nowhere to be. The town is a pressure cooker.",
|
||||
"location": "Oakhaven crossroads"
|
||||
},
|
||||
"player_action": "I think back to the last time I held a bow, at the siege of Varn.",
|
||||
"narration": "The memory comes unbidden: the walls of Varn black against a burning sky, the bowstring biting your fingers, the screaming from the breach. You flex your hand now, in the mud of Oakhaven, and find it still remembers the draw. Nobody at the crossroads notices a ghost remembering a war."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f-leave-town",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Idle Wait",
|
||||
"summary": "You have no contracts, no coin, and nowhere to be. The town is a pressure cooker.",
|
||||
"location": "Oakhaven crossroads"
|
||||
},
|
||||
"player_action": "Forget this town. I take the west road out of Oakhaven.",
|
||||
"narration": "The crossroads falls behind you, then the last hovels, then the smell of the town itself. By afternoon the west road narrows between dark pines, and the only sound is your own boots and, somewhere ahead, the slow creak of a mill wheel turning in water you cannot yet see."
|
||||
},
|
||||
"labels": {
|
||||
"place": "moved",
|
||||
"exit": "stay",
|
||||
"place2": "elsewhere",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f-nightfall",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Idle Wait",
|
||||
"summary": "You have no contracts, no coin, and nowhere to be. The town is a pressure cooker.",
|
||||
"location": "Oakhaven crossroads"
|
||||
},
|
||||
"player_action": "I stay put and wait for something to happen.",
|
||||
"narration": "Hours pass. The rain finally commits, then relents. Night settles over the crossroads, and one by one the shutters close. A lantern is lit at the well. Still nothing. Still waiting. Somewhere a dog barks twice and thinks better of it."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f-wren-comes",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Idle Wait",
|
||||
"summary": "You have no contracts, no coin, and nowhere to be. The town is a pressure cooker.",
|
||||
"location": "Oakhaven crossroads"
|
||||
},
|
||||
"player_action": "I keep watching the square.",
|
||||
"narration": "A woman with a quiver of fresh-fletched arrows crosses the square toward you, stepping neatly around the worst of the mud. She stops an arm's length away and studies you the way a quartermaster studies a horse. \"You've been standing there all morning,\" Wren says. \"Either you're waiting for work, or you're a spy. Which is it?\""
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "meet_wren",
|
||||
"place2": "same",
|
||||
"exit2": "meet_wren"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,196 @@
|
||||
{
|
||||
"name": "wyrd-scene-toll",
|
||||
"decisions": [
|
||||
{
|
||||
"id": "place",
|
||||
"question": "This is one turn of an interactive story. Has the scene moved to a genuinely different place during this turn, or does the current scene still hold?",
|
||||
"options": [
|
||||
{
|
||||
"id": "moved",
|
||||
"description": "The scene moved to a genuinely different place."
|
||||
},
|
||||
{
|
||||
"id": "holds",
|
||||
"description": "The current scene still holds."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "exit",
|
||||
"question": "This is one turn of an interactive story. The story can advance from the current scene into one of the listed next scenes. Which one does this turn move the story into?",
|
||||
"options": [
|
||||
{
|
||||
"id": "stay",
|
||||
"description": "None of these yet. The current scene holds: The First Toll."
|
||||
},
|
||||
{
|
||||
"id": "departure",
|
||||
"description": "Passage Granted/Denied: Beyond the Toll. You leave the tollhouse, either with or without Sera's blessing, continuing down the north road."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "place2",
|
||||
"question": "This is one turn of an interactive story. The turn began at the north road tollhouse. By the end of this turn's narration, where are the characters?",
|
||||
"options": [
|
||||
{
|
||||
"id": "same",
|
||||
"description": "Still at the north road tollhouse."
|
||||
},
|
||||
{
|
||||
"id": "elsewhere",
|
||||
"description": "Somewhere else: they have left the north road tollhouse for a different place."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "exit2",
|
||||
"question": "This is one turn of an interactive story. The story can move on from the current scene into one of the listed next scenes, but only once the narration actually gets there. Where does this turn leave the story?",
|
||||
"options": [
|
||||
{
|
||||
"id": "stay",
|
||||
"description": "Still in the current scene, The First Toll: the narration has not reached any next scene yet."
|
||||
},
|
||||
{
|
||||
"id": "departure",
|
||||
"description": "Moved on to Beyond the Toll: You leave the tollhouse, either with or without Sera's blessing, continuing down the north road."
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"id": "t-reads-letter",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The First Toll",
|
||||
"summary": "You arrive at the tollhouse in the pouring rain, presenting your sealed letter to Sera.",
|
||||
"location": "north road tollhouse"
|
||||
},
|
||||
"player_action": "I hand Sera the sealed letter.",
|
||||
"narration": "Sera's gloved hand emerges from the shadow to take the letter, her fingers tracing the wax seal with practiced efficiency. She turns it over slowly, examining it by the light of the single lamp. Rain hammers the iron roof. \"Whose seal is this?\" she asks, without looking up."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "t-questions",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The First Toll",
|
||||
"summary": "You arrive at the tollhouse in the pouring rain, presenting your sealed letter to Sera.",
|
||||
"location": "north road tollhouse"
|
||||
},
|
||||
"player_action": "\"A friend in the capital. That's all you need to know.\"",
|
||||
"narration": "\"That's rarely all I need to know.\" Sera sets the letter on the counter between you and leaves her hand on it. \"The road north has been kind to liars lately. It won't stay that way.\" Water drips from the eaves into a bucket by the door, counting out the silence."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "t-future",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The First Toll",
|
||||
"summary": "You arrive at the tollhouse in the pouring rain, presenting your sealed letter to Sera.",
|
||||
"location": "north road tollhouse"
|
||||
},
|
||||
"player_action": "\"Stamp it and I'll be out of your hair before the rain stops.\"",
|
||||
"narration": "\"Before the rain stops,\" Sera repeats, as if tasting the words. \"It hasn't stopped in nine days.\" She doesn't reach for the stamp. She reaches for the ledger instead, and opens it to a page thick with names, and runs one gloved finger down the column."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "t-granted",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The First Toll",
|
||||
"summary": "You arrive at the tollhouse in the pouring rain, presenting your sealed letter to Sera.",
|
||||
"location": "north road tollhouse"
|
||||
},
|
||||
"player_action": "I wait while she decides.",
|
||||
"narration": "The stamp comes down with a crack like a gavel. Sera slides the letter back and jerks her chin at the door. You step out into the downpour, and the tollhouse lamp shrinks behind you as the north road unspools ahead, black and glistening, into the hills."
|
||||
},
|
||||
"labels": {
|
||||
"place": "moved",
|
||||
"exit": "departure",
|
||||
"place2": "elsewhere",
|
||||
"exit2": "departure"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "t-denied",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The First Toll",
|
||||
"summary": "You arrive at the tollhouse in the pouring rain, presenting your sealed letter to Sera.",
|
||||
"location": "north road tollhouse"
|
||||
},
|
||||
"player_action": "\"Then I'll find another way north.\" I turn to go.",
|
||||
"narration": "\"There is no other way north,\" Sera says to your back, but she lets you go. The door bangs shut behind you. You walk on anyway, past the barrier, the rain soaking through your collar, the tollhouse dwindling to a single yellow window behind you on the north road."
|
||||
},
|
||||
"labels": {
|
||||
"place": "moved",
|
||||
"exit": "departure",
|
||||
"place2": "elsewhere",
|
||||
"exit2": "departure"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "t-rider",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The First Toll",
|
||||
"summary": "You arrive at the tollhouse in the pouring rain, presenting your sealed letter to Sera.",
|
||||
"location": "north road tollhouse"
|
||||
},
|
||||
"player_action": "I stay by the stove to dry off.",
|
||||
"narration": "Hooves on the road outside, then a fist on the door. A rider in a sodden Legion cloak ducks in out of the rain, glances at you, glances at Sera, and drops a heavier purse on the counter than any toll requires. Sera's hand closes over it without a word."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "t-city-memory",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The First Toll",
|
||||
"summary": "You arrive at the tollhouse in the pouring rain, presenting your sealed letter to Sera.",
|
||||
"location": "north road tollhouse"
|
||||
},
|
||||
"player_action": "\"You've never been to the capital, have you?\"",
|
||||
"narration": "Something shifts behind Sera's eyes. \"I was born there,\" she says. \"Under the bell tower, in the year the river froze. I left the day they hanged my father in the square.\" She says it flatly, the way you'd read out a toll schedule, and turns back to the ledger."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
{
|
||||
"name": "wyrd-scene-vigil",
|
||||
"decisions": [
|
||||
{
|
||||
"id": "place",
|
||||
"question": "This is one turn of an interactive story. Has the scene moved to a genuinely different place during this turn, or does the current scene still hold?",
|
||||
"options": [
|
||||
{
|
||||
"id": "moved",
|
||||
"description": "The scene moved to a genuinely different place."
|
||||
},
|
||||
{
|
||||
"id": "holds",
|
||||
"description": "The current scene still holds."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "exit",
|
||||
"question": "This is one turn of an interactive story. The story can advance from the current scene into one of the listed next scenes. Which one does this turn move the story into?",
|
||||
"options": [
|
||||
{
|
||||
"id": "stay",
|
||||
"description": "None of these yet. The current scene holds: The Last Vigil."
|
||||
},
|
||||
{
|
||||
"id": "outside",
|
||||
"description": "Leave the sanctum: Outside the Sanctum. Lynnae and the player step out of the interior into the exterior surroundings."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "place2",
|
||||
"question": "This is one turn of an interactive story. The turn began at the sanctum interior. By the end of this turn's narration, where are the characters?",
|
||||
"options": [
|
||||
{
|
||||
"id": "same",
|
||||
"description": "Still at the sanctum interior."
|
||||
},
|
||||
{
|
||||
"id": "elsewhere",
|
||||
"description": "Somewhere else: they have left the sanctum interior for a different place."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "exit2",
|
||||
"question": "This is one turn of an interactive story. The story can move on from the current scene into one of the listed next scenes, but only once the narration actually gets there. Where does this turn leave the story?",
|
||||
"options": [
|
||||
{
|
||||
"id": "stay",
|
||||
"description": "Still in the current scene, The Last Vigil: the narration has not reached any next scene yet."
|
||||
},
|
||||
{
|
||||
"id": "outside",
|
||||
"description": "Moved on to Outside the Sanctum: Lynnae and the player step out of the interior into the exterior surroundings."
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"id": "v-talk",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Last Vigil",
|
||||
"summary": "The player stands in the inner sanctum, guarding the Book. Lynnae enters through a hidden alcove to discuss the encroaching demons.",
|
||||
"location": "sanctum interior"
|
||||
},
|
||||
"player_action": "\"How close are they?\"",
|
||||
"narration": "Lynnae rests her fingertips on the edge of the altar, not quite touching the Book. \"Close enough that the wards are singing,\" she says. \"Listen.\" You do, and beneath the wind there is a high, thin note, like a wet finger on the rim of a glass. The candles lean toward the door."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "v-step-out",
|
||||
"tag": "control",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Last Vigil",
|
||||
"summary": "The player stands in the inner sanctum, guarding the Book. Lynnae enters through a hidden alcove to discuss the encroaching demons.",
|
||||
"location": "sanctum interior"
|
||||
},
|
||||
"player_action": "\"Show me.\" I follow her out through the great doors.",
|
||||
"narration": "The doors groan open and the wind takes the candle flames behind you. Outside, the sanctum steps drop away into a valley of ash, and on the far ridge a line of red lights moves slowly, patiently, like a procession of lanterns that has forgotten what it is mourning."
|
||||
},
|
||||
"labels": {
|
||||
"place": "moved",
|
||||
"exit": "outside",
|
||||
"place2": "elsewhere",
|
||||
"exit2": "outside"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "v-plan-pub",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Last Vigil",
|
||||
"summary": "The player stands in the inner sanctum, guarding the Book. Lynnae enters through a hidden alcove to discuss the encroaching demons.",
|
||||
"location": "sanctum interior"
|
||||
},
|
||||
"player_action": "\"If the wards fall, we take the Book to the old pub in the village.\"",
|
||||
"narration": "\"The Drowned Crown?\" Lynnae almost smiles. \"No demon would look for holy relics behind a bar.\" She turns the idea over, then nods slowly. \"If it comes to that. But the wards have not fallen yet, and I would rather they never did.\""
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "v-to-pub",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Last Vigil",
|
||||
"summary": "The player stands in the inner sanctum, guarding the Book. Lynnae enters through a hidden alcove to discuss the encroaching demons.",
|
||||
"location": "sanctum interior"
|
||||
},
|
||||
"player_action": "I take the Book and we run for the village pub.",
|
||||
"narration": "You run through the ash with the Book clutched to your chest, Lynnae a step behind. The heavy door creaks on rusted hinges as you cross the threshold, the air inside the tavern thick with the scent of stale ale, damp rot, and cold ash. You set the Book down on the bar."
|
||||
},
|
||||
"labels": {
|
||||
"place": "moved",
|
||||
"exit": "stay",
|
||||
"place2": "elsewhere",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "v-vision",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Last Vigil",
|
||||
"summary": "The player stands in the inner sanctum, guarding the Book. Lynnae enters through a hidden alcove to discuss the encroaching demons.",
|
||||
"location": "sanctum interior"
|
||||
},
|
||||
"player_action": "I touch the Book's cover.",
|
||||
"narration": "The world tilts. For one breath you are elsewhere: a burning library, a hundred years ago, monks carrying armfuls of scrolls through smoke. Then the vision snaps shut like a book, and you are back in the sanctum with Lynnae's hand hard on your wrist. \"Don't,\" she says. \"Not yet.\""
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "v-demon-enters",
|
||||
"tag": "case",
|
||||
"state": {
|
||||
"current_scene": {
|
||||
"title": "The Last Vigil",
|
||||
"summary": "The player stands in the inner sanctum, guarding the Book. Lynnae enters through a hidden alcove to discuss the encroaching demons.",
|
||||
"location": "sanctum interior"
|
||||
},
|
||||
"player_action": "I draw my blade and stand before the altar.",
|
||||
"narration": "The great doors burst inward. Ash rolls across the floor, and in the middle of it something tall unfolds itself, too many joints, a crown of red light. The candles gutter out all at once. Lynnae is already chanting, her voice steady, her hands trembling."
|
||||
},
|
||||
"labels": {
|
||||
"place": "holds",
|
||||
"exit": "stay",
|
||||
"place2": "same",
|
||||
"exit2": "stay"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user