@supersuit/hyperspec 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +166 -0
- package/README.md +62 -1
- package/SPEC.md +4 -4
- package/WRITING.md +770 -9
- package/bin/hyperspec.mjs +252 -0
- package/examples/writing/essay/claims.jsonl +9 -0
- package/examples/writing/essay/draft.md +82 -0
- package/examples/writing/essay/judge/doctor.packet.json +108 -0
- package/examples/writing/essay/judge/lineup.packet.json +64 -0
- package/examples/writing/essay/judge/persona.packet.json +73 -0
- package/examples/writing/essay/judge/reader.packet.json +93 -0
- package/examples/writing/essay/learn/first-draft.md +84 -0
- package/examples/writing/essay/learn/learn.packet.json +106 -0
- package/examples/writing/essay/materials/interview-notes.md.segments.jsonl +2 -2
- package/examples/writing/essay/sample-verdicts/doctor.verdict.json +43 -0
- package/examples/writing/essay/sample-verdicts/learn.verdict.json +30 -0
- package/examples/writing/essay/sample-verdicts/lineup.verdict.json +6 -0
- package/examples/writing/essay/sample-verdicts/persona.verdict.json +4 -0
- package/examples/writing/essay/sample-verdicts/reader.verdict.json +7 -0
- package/examples/writing/essay.hyperspec.md +23 -7
- package/examples/writing/story/claims.jsonl +9 -0
- package/examples/writing/story/draft.md +267 -0
- package/examples/writing/story/judge/attribution.packet.json +194 -0
- package/examples/writing/story/judge/doctor.packet.json +108 -0
- package/examples/writing/story/judge/knowledge.packet.json +77 -0
- package/examples/writing/story/judge/persona.packet.json +73 -0
- package/examples/writing/story/judge/reader.packet.json +94 -0
- package/examples/writing/story/sample-verdicts/attribution.verdict.json +81 -0
- package/examples/writing/story/sample-verdicts/doctor.verdict.json +43 -0
- package/examples/writing/story/sample-verdicts/knowledge.verdict.json +4 -0
- package/examples/writing/story/sample-verdicts/persona.verdict.json +20 -0
- package/examples/writing/story/sample-verdicts/reader.verdict.json +16 -0
- package/examples/writing/story.hyperspec.md +24 -5
- package/package.json +1 -1
- package/src/check.mjs +191 -0
- package/src/dna.mjs +4 -1
- package/src/draft.mjs +26 -0
- package/src/judge.mjs +386 -0
- package/src/judges/attribution.mjs +360 -0
- package/src/judges/doctor.mjs +126 -0
- package/src/judges/index.mjs +31 -0
- package/src/judges/knowledge.mjs +111 -0
- package/src/judges/lineup.mjs +272 -0
- package/src/judges/persona.mjs +137 -0
- package/src/judges/reader.mjs +111 -0
- package/src/learn.mjs +422 -0
- package/src/ledger.mjs +108 -0
- package/src/sentences.mjs +81 -0
- package/src/stations/claims.mjs +155 -0
- package/src/stations/dna.mjs +126 -0
- package/src/stations/form.mjs +115 -0
- package/src/stations/index.mjs +27 -0
- package/src/stations/links.mjs +275 -0
- package/src/stations/private.mjs +117 -0
- package/src/stations/quotes.mjs +170 -0
- package/src/stations/terms.mjs +131 -0
- package/src/stations/util.mjs +99 -0
- package/src/writing-fields.mjs +26 -2
- package/src/writing.mjs +1 -1
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
# The Rye
|
|
2
|
+
|
|
3
|
+
## 3:40
|
|
4
|
+
|
|
5
|
+
The alarm at the bakery went at 3:20, but Ines was always there first, so in three years I never
|
|
6
|
+
once heard it. What I heard, coming in the back door at twenty to four with my hands in my
|
|
7
|
+
pockets, was the mixer. It had a knock in it, a slow one, like it was trying to remember
|
|
8
|
+
something.
|
|
9
|
+
|
|
10
|
+
She was standing over the bowl with her sleeves pushed past the elbow and her glasses on top of
|
|
11
|
+
her head, where they stayed until the till opened. She did not look round. She never did. The
|
|
12
|
+
back door sticks in winter and you have to put your shoulder to it, so she always knew it was me
|
|
13
|
+
before she could have seen me.
|
|
14
|
+
|
|
15
|
+
"You're late," she said.
|
|
16
|
+
|
|
17
|
+
I wasn't. She knew I wasn't. The clock over the proving cabinet said 3:41, and it runs a minute
|
|
18
|
+
fast, and she was the one who set it that way.
|
|
19
|
+
|
|
20
|
+
"The bus," I said anyway, because that is how we started.
|
|
21
|
+
|
|
22
|
+
"Flour first. Then you can talk."
|
|
23
|
+
|
|
24
|
+
So I did the flour. Flour is weighed at Ines's, never scooped. There is a scoop in the bin, a
|
|
25
|
+
steel one with a dent in the lip, and in three years I have only ever seen it used to push the
|
|
26
|
+
flour level before the lid goes back on. I set the bowl on the scale and zeroed it and poured
|
|
27
|
+
until the number stopped where she wanted it, and then I took out a handful and put back half
|
|
28
|
+
of that, because the last few grams go in by hand, and she was watching the scale even though
|
|
29
|
+
she was not watching me.
|
|
30
|
+
|
|
31
|
+
Behind us the deck oven was coming up to heat. The deck oven is three stone shelves stacked one
|
|
32
|
+
over another inside a steel wall, each with its own door, and it takes the better part of an
|
|
33
|
+
hour to get hot enough. Somewhere in that hour it starts to make the noise. It is not loud. It
|
|
34
|
+
is a kind of tick, then a longer sound like somebody dragging a chair in the flat upstairs, then
|
|
35
|
+
nothing for a while, then the tick again.
|
|
36
|
+
|
|
37
|
+
It made the noise while I was weighing the second batch. I looked at the oven and then at Ines,
|
|
38
|
+
and she did not look at either of us.
|
|
39
|
+
|
|
40
|
+
"Okay but like," I said, "if the oven's made that noise since March, is it a noise, or is that just
|
|
41
|
+
how the oven talks now?"
|
|
42
|
+
|
|
43
|
+
"Water," she said.
|
|
44
|
+
|
|
45
|
+
She put the thermometer in the water herself, the way she did for every batch, and read it and
|
|
46
|
+
said nothing, which meant it was right. The water temperature is checked every batch at Ines's,
|
|
47
|
+
even when the water comes out of the same tap at the same time on the same morning as the day
|
|
48
|
+
before. I have never asked her why. I check it too.
|
|
49
|
+
|
|
50
|
+
We worked. There is a radio on the shelf above the sink and nobody has turned it on since I have
|
|
51
|
+
worked there. The mixer knocked. The oven ticked and dragged its chair. Outside it was still
|
|
52
|
+
completely dark, and the street lamp at the corner made the frost on the window look like a
|
|
53
|
+
thumbprint.
|
|
54
|
+
|
|
55
|
+
The letter from the school was in the inside pocket of my coat, which was on the hook by the back
|
|
56
|
+
door. I had moved it there from my bag on the bus, and then back to my bag, and then back to the
|
|
57
|
+
coat, because the coat was closer. It was two pages. The first page said I had a place, and the
|
|
58
|
+
second page said when term started, which was the autumn, in a city four hours away by train. I
|
|
59
|
+
had read both pages enough times that the fold had gone soft.
|
|
60
|
+
|
|
61
|
+
I did not look at the coat. I looked at the dough.
|
|
62
|
+
|
|
63
|
+
On the calendar by the till, which I could see from the bench if I leaned, somebody had drawn a
|
|
64
|
+
ring round Friday in red pen. Ines does not use red pen. She uses a pencil she keeps behind her
|
|
65
|
+
ear and sharpens with a knife. I leaned, and looked, and leaned back.
|
|
66
|
+
|
|
67
|
+
The starter was on the shelf above the mixer, where it always was. The starter is a wide glass
|
|
68
|
+
jar with a cloth over the top held on by a rubber band, and everything we make that is sour
|
|
69
|
+
comes out of it. It is the only thing in the bakery she has never let me touch. I have fed the
|
|
70
|
+
mixer and cleaned the oven floor and scraped the bins and carried the flour sacks up from the
|
|
71
|
+
cellar two at a time, and I have never once taken the cloth off that jar.
|
|
72
|
+
|
|
73
|
+
"Is the rye going in the big bowl?" I asked, although it always went in the big bowl.
|
|
74
|
+
|
|
75
|
+
"Big bowl," she said.
|
|
76
|
+
|
|
77
|
+
## 4:30
|
|
78
|
+
|
|
79
|
+
Ines does not talk while she shapes. Talking happens at the mixer and at the till, and the bench
|
|
80
|
+
is for your hands. I learned that in my first week and I have never had to be told it twice. The
|
|
81
|
+
silence at the bench is the kind that makes you hear how loud your own questions are.
|
|
82
|
+
|
|
83
|
+
So at half past four we stood at the bench with the dough between us and did not talk.
|
|
84
|
+
|
|
85
|
+
She cut the white dough into pieces with the bench knife, and weighed each piece, and pushed each
|
|
86
|
+
one across to me, and I rounded them and set them seam up on the floured cloth in rows. Her
|
|
87
|
+
knife was faster than my hands. It always was. She would cut the last piece and wipe the blade
|
|
88
|
+
and wait, and I would still have six to go, and she would not help, and she would not watch me
|
|
89
|
+
either. She would look at the window, where there was nothing yet to look at.
|
|
90
|
+
|
|
91
|
+
When the white was done she went to the big bowl and turned the rye out onto the bench. Rye does
|
|
92
|
+
not behave like the white. It is heavy and it is wet and it sticks to everything, and it does not
|
|
93
|
+
stretch so much as slump, and you have to shape it quickly with wet hands before it decides to
|
|
94
|
+
be the shape of the bench instead of the shape of the basket.
|
|
95
|
+
|
|
96
|
+
She cut it into four and weighed the four. Then she wiped the knife and put it down on my side of
|
|
97
|
+
the bench, and she went to the sink, and she wet her hands, and she dried them.
|
|
98
|
+
|
|
99
|
+
I stood there. The rye sat there. The oven ticked.
|
|
100
|
+
|
|
101
|
+
"I can do the rye," I said, and then I remembered where we were and said the rest quietly. "I
|
|
102
|
+
mean, I think I can do the rye. I did it Tuesday, kind of."
|
|
103
|
+
|
|
104
|
+
On Tuesday I had held the basket while she shaped. That was what I meant by kind of.
|
|
105
|
+
|
|
106
|
+
She did not answer. That was allowed, at the bench. She took the cloth off the white rounds and
|
|
107
|
+
checked them with one finger, and put the cloth back, and then she went through to the front and
|
|
108
|
+
started taking the chairs down off the tables, which was the job she always gave me.
|
|
109
|
+
|
|
110
|
+
So I did the rye.
|
|
111
|
+
|
|
112
|
+
I wet my hands the way she did, up to the wrist. I took the first piece and folded it in on itself
|
|
113
|
+
and turned it and folded it, and it stuck to my palm and I wet my hand again and it stuck again,
|
|
114
|
+
and I could hear the chairs going down in the front, one leg and then the other three, and I did
|
|
115
|
+
not look up. The second piece was better. The third piece tore and I had to fold the torn side
|
|
116
|
+
under and hope. The fourth piece was the best one I have ever done, and there was nobody at the
|
|
117
|
+
bench to see it, which I think was the point, or I think now was the point, and I did not think
|
|
118
|
+
either of those things at the time. At the time I only thought about my hands.
|
|
119
|
+
|
|
120
|
+
I put the four of them seam up in the baskets and dusted them and covered them. The baskets are
|
|
121
|
+
old, and the rye has worn a pattern into the cane that is there even when they are empty.
|
|
122
|
+
|
|
123
|
+
The proof is the long wait after shaping, when the dough sits and rises before it goes in the
|
|
124
|
+
oven, and with rye you cannot hurry it. In winter the rye proofs about three hours at room
|
|
125
|
+
temperature. Ines will not put it in the proving cabinet. She says the cabinet is for the white.
|
|
126
|
+
So the four baskets went on the shelf by the window, and would sit there until well after the
|
|
127
|
+
doors opened, and nothing either of us did in the meantime would make them go any faster.
|
|
128
|
+
|
|
129
|
+
She came back from the front with flour on the knees of her trousers from the chairs. She looked
|
|
130
|
+
at the four baskets on the shelf for about as long as it takes to read a price, and then she
|
|
131
|
+
looked at the bench, which I had scraped clean, and then she went to the mixer.
|
|
132
|
+
|
|
133
|
+
"Scrape the bowl," she said.
|
|
134
|
+
|
|
135
|
+
I scraped the bowl.
|
|
136
|
+
|
|
137
|
+
## 5:50
|
|
138
|
+
|
|
139
|
+
By ten to six the oven was full and the kitchen smelled the way it smells only for about an hour
|
|
140
|
+
a day, which is the hour I would pick if somebody made me pick one.
|
|
141
|
+
|
|
142
|
+
The back left of the deck oven runs hot, so every tray is turned halfway through the bake. Ines
|
|
143
|
+
has a timer on a string round her neck for it. She does not trust the ones on the oven. When it
|
|
144
|
+
goes she opens each door in turn and pulls each tray out with the peel, and spins it, and pushes
|
|
145
|
+
it back, so that the side that was at the back is at the front, and nothing comes out darker on
|
|
146
|
+
one end than the other.
|
|
147
|
+
|
|
148
|
+
"Left side runs hot," she said, as the first tray went in, as if I had not been turning those
|
|
149
|
+
trays with her since I was sixteen. "Turn them at eight minutes."
|
|
150
|
+
|
|
151
|
+
I set my own timer, which I did not need to do, because hers would go at the same time.
|
|
152
|
+
|
|
153
|
+
We stood in front of the oven. There is nothing to do in that eight minutes except stand in front
|
|
154
|
+
of the oven and not open it. The noise came and went. The street outside was starting to go from
|
|
155
|
+
black to the color of dishwater. A van went past without stopping.
|
|
156
|
+
|
|
157
|
+
The timer went. She opened the top door, and the heat came out, and she slid the peel under the
|
|
158
|
+
first tray and drew it out onto the lip of the door and started to turn it.
|
|
159
|
+
|
|
160
|
+
"It's sold," she said.
|
|
161
|
+
|
|
162
|
+
She said it to the tray. She turned the tray, and pushed it back in, and pulled out the second.
|
|
163
|
+
|
|
164
|
+
I did not say anything, because I did not know yet that she had said anything. It went past me
|
|
165
|
+
the way the van had gone past. Then it came back.
|
|
166
|
+
|
|
167
|
+
"What's sold?" I said. I knew what was sold.
|
|
168
|
+
|
|
169
|
+
"The bakery. Friday." She turned the second tray and pushed it back and shut the top door and
|
|
170
|
+
opened the middle one.
|
|
171
|
+
|
|
172
|
+
"Sold like," I said, "sold? Like someone else is going to be here? Like I come in on Monday and
|
|
173
|
+
somebody else is at the mixer, is that what, is that the sold you mean?"
|
|
174
|
+
|
|
175
|
+
"Not a bakery," she said. "They want the room. Not the ovens."
|
|
176
|
+
|
|
177
|
+
She pulled out the third tray and turned it. She had not burnt herself on a tray in all the time
|
|
178
|
+
I had known her, and she did not burn herself then. Her hands did exactly what they always did.
|
|
179
|
+
I watched them because I did not know what else to watch.
|
|
180
|
+
|
|
181
|
+
"Then what happens to the ovens?" I said. "Then what happens to the mixer. Is somebody going to buy
|
|
182
|
+
the mixer? It knocks. Does the person who buys it know it knocks?"
|
|
183
|
+
|
|
184
|
+
She shut the middle door and opened the bottom one.
|
|
185
|
+
|
|
186
|
+
"Is that why there's a ring round Friday?" I said. "Is that what the red pen is?"
|
|
187
|
+
|
|
188
|
+
"Sold means sold," she said. "Get the next tray."
|
|
189
|
+
|
|
190
|
+
I got the next tray. It was the seeded rolls, which I had shaped at five, and I put them on the
|
|
191
|
+
peel and she put them in, and I stood with the empty peel in my hands while she shut the door and
|
|
192
|
+
the heat stopped coming out.
|
|
193
|
+
|
|
194
|
+
I wanted to ask how long she had known. I wanted to ask whether the new people had been in, and
|
|
195
|
+
when, and whether they had stood in this kitchen while I was at home asleep, and whether they had
|
|
196
|
+
looked at the baskets on the shelf and thought they were just baskets. I did not ask any of it.
|
|
197
|
+
I stood there with the peel and I thought about the letter in my coat, and I thought, she has
|
|
198
|
+
known this for days, maybe weeks, and every one of those mornings she came in before me and set
|
|
199
|
+
the clock a minute fast and told me I was late.
|
|
200
|
+
|
|
201
|
+
That was the only time all morning I nearly told her. The words got as far as the back of my
|
|
202
|
+
teeth.
|
|
203
|
+
|
|
204
|
+
The timer on the string went. She turned the next tray.
|
|
205
|
+
|
|
206
|
+
"Rolls come out at sixteen," she said. "Get the racks."
|
|
207
|
+
|
|
208
|
+
I got the racks.
|
|
209
|
+
|
|
210
|
+
## 6:55
|
|
211
|
+
|
|
212
|
+
At five to seven the front was ready. The chairs were down, the counter was wiped, the white was
|
|
213
|
+
in the baskets behind the till and the rolls were on the racks, and the four rye loaves were still
|
|
214
|
+
on the shelf by the window under their cloths, still rising, a long way from done.
|
|
215
|
+
|
|
216
|
+
The doors open to customers at 7:00. The first person in is usually a regular. Through the glass
|
|
217
|
+
I could see Walter already standing on the step with his collar up and his dog sitting on his
|
|
218
|
+
foot, which was what the dog did in winter. Ines keeps a biscuit in her apron for the dog and has
|
|
219
|
+
never once said so.
|
|
220
|
+
|
|
221
|
+
She was counting the float into the till. I stood behind the counter with my hands flat on it.
|
|
222
|
+
The letter was still in my coat. The coat was still on the hook by the back door, which was as
|
|
223
|
+
far from the counter as you can get in the bakery and still be inside it.
|
|
224
|
+
|
|
225
|
+
"I got into a school," I said.
|
|
226
|
+
|
|
227
|
+
She went on counting. She got to the end of the coins and closed the drawer.
|
|
228
|
+
|
|
229
|
+
"A baking school," I said. "In the city. It's a proper one, it's the one with the, they do the whole
|
|
230
|
+
year on bread, and then pastry, and I applied in the spring and I didn't think, I mean I didn't
|
|
231
|
+
think I'd get in, and then I did. It starts in the autumn. I was going to tell you. I was going to
|
|
232
|
+
tell you the day the letter came, and then I got here and you were at the mixer and it felt like,
|
|
233
|
+
I don't know. It felt like the wrong time to say anything to anybody."
|
|
234
|
+
|
|
235
|
+
She looked at the four baskets on the shelf by the window.
|
|
236
|
+
|
|
237
|
+
Then she walked past me into the back, and I heard her feet on the flour-dusty floor, and I heard
|
|
238
|
+
her stop by the mixer, and I stood there with my hands on the counter and looked at Walter's dog.
|
|
239
|
+
|
|
240
|
+
When she came back she had the starter.
|
|
241
|
+
|
|
242
|
+
She had the jar in both hands, the way you carry something you have filled too full. The cloth
|
|
243
|
+
was still on, and the rubber band, and the glass had a rim of dried flour at the top where it had
|
|
244
|
+
risen in the night and fallen back. She put it on the counter between us and took her hands away.
|
|
245
|
+
|
|
246
|
+
"Feed it at noon," she said. "Equal weight flour and water. Weigh it."
|
|
247
|
+
|
|
248
|
+
I looked at the jar. I did not pick it up. I have scraped the bins and carried the sacks and
|
|
249
|
+
cleaned the oven floor, and I had never once taken the cloth off that jar, and now it was on the
|
|
250
|
+
counter in front of me with nobody's hands on it.
|
|
251
|
+
|
|
252
|
+
"Every day," she said. "Not most days. Keep it out of the sun."
|
|
253
|
+
|
|
254
|
+
"Okay," I said. "Okay. So is that a yes, or is that the face you make when it's a yes?"
|
|
255
|
+
|
|
256
|
+
She took the glasses off the top of her head and put them on, which she only does for the till.
|
|
257
|
+
|
|
258
|
+
"Doors," she said.
|
|
259
|
+
|
|
260
|
+
I picked up the jar. It was heavier than it looked, and it was warm on the side that had faced
|
|
261
|
+
the oven. I held it against my chest with one arm while she walked to the front and turned the
|
|
262
|
+
sign and let Walter in, and Walter said good morning to her by name, and she said good morning to
|
|
263
|
+
him by his, and she bent down to the dog with her hand already in her apron.
|
|
264
|
+
|
|
265
|
+
Behind me, on the shelf by the window, under their cloths, the four rye loaves I had shaped were
|
|
266
|
+
still rising, and the dough had lifted the cloth off the edge of the first basket by the width of
|
|
267
|
+
a finger.
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hyperspec_judge": "0.1",
|
|
3
|
+
"station": "attribution",
|
|
4
|
+
"spec": "story.hyperspec.md",
|
|
5
|
+
"spec_sha256": "8f417ebce7777cb4130afc8f0e2a1e4a483f1d4c7e7bcbadca202fda2208c6a9",
|
|
6
|
+
"draft": "story/draft.md",
|
|
7
|
+
"draft_sha256": "fdf8dd1ee311a376e45cca31b50f0b01f1157a889cb332620cbd178e9c510306",
|
|
8
|
+
"rubric": "blind attribution test, knowledge-leak check against the timeline, consistency against golden and rejected lines",
|
|
9
|
+
"instructions": "Each entry in inputs.lines is one line of dialogue from the draft, with its speaker and the narration around it removed. Using only how each character in inputs.characters speaks (their speech block, golden_lines and rejected_lines), name who says each line. Judge from the packet's inputs alone: do not open the spec, the draft or any other file the packet names. Answer in lines: one { id, speaker } per line id, each id exactly once, where speaker is a character id from inputs.characters. Answer only in the verdict shape given in verdict_schema.",
|
|
10
|
+
"inputs": {
|
|
11
|
+
"characters": [
|
|
12
|
+
{
|
|
13
|
+
"id": "ines",
|
|
14
|
+
"speech": {
|
|
15
|
+
"uses": [
|
|
16
|
+
"instructions in the imperative",
|
|
17
|
+
"numbers, weights and times",
|
|
18
|
+
"first names, for customers"
|
|
19
|
+
],
|
|
20
|
+
"never": [
|
|
21
|
+
"an apology in words",
|
|
22
|
+
"a sentence about her own feelings",
|
|
23
|
+
"a question she does not need answered"
|
|
24
|
+
],
|
|
25
|
+
"rhythm": "short, flat sentences, often without a subject; silence where another person would reassure"
|
|
26
|
+
},
|
|
27
|
+
"golden_lines": [
|
|
28
|
+
"Flour first. Then you can talk.",
|
|
29
|
+
"Left side runs hot. Turn them at eight minutes.",
|
|
30
|
+
"Sold means sold. Shape the rye."
|
|
31
|
+
],
|
|
32
|
+
"rejected_lines": [
|
|
33
|
+
"I'm so sorry I didn't tell you sooner, Theo.",
|
|
34
|
+
"This place has been my whole life, you know?",
|
|
35
|
+
"Would you like to try the rye today?"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "theo",
|
|
40
|
+
"speech": {
|
|
41
|
+
"uses": [
|
|
42
|
+
"questions he already knows the answer to",
|
|
43
|
+
"hedges such as \"I mean\" and \"kind of\"",
|
|
44
|
+
"a joke when he is nervous"
|
|
45
|
+
],
|
|
46
|
+
"never": [
|
|
47
|
+
"a flat instruction",
|
|
48
|
+
"a word of baking jargon he has not heard Ines use first"
|
|
49
|
+
],
|
|
50
|
+
"rhythm": "long sentences that double back on themselves and end in a question"
|
|
51
|
+
},
|
|
52
|
+
"golden_lines": [
|
|
53
|
+
"Okay but like, if the oven's made that noise since March, is it a noise, or is that just how the oven talks now?",
|
|
54
|
+
"I can do the rye. I mean, I think I can do the rye. I did it Tuesday, kind of.",
|
|
55
|
+
"So is that a yes, or is that the face you make when it's a yes?"
|
|
56
|
+
],
|
|
57
|
+
"rejected_lines": [
|
|
58
|
+
"Shape the rye.",
|
|
59
|
+
"I have been accepted to a culinary program and will be leaving in the autumn.",
|
|
60
|
+
"Left side runs hot, turn them early."
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"lines": [
|
|
65
|
+
{
|
|
66
|
+
"id": "L1",
|
|
67
|
+
"text": "You're late,"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "L2",
|
|
71
|
+
"text": "The bus,"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"id": "L3",
|
|
75
|
+
"text": "Water,"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "L4",
|
|
79
|
+
"text": "Is the rye going in the big bowl?"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "L5",
|
|
83
|
+
"text": "Big bowl,"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "L6",
|
|
87
|
+
"text": "Scrape the bowl,"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "L7",
|
|
91
|
+
"text": "It's sold,"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": "L8",
|
|
95
|
+
"text": "What's sold?"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "L9",
|
|
99
|
+
"text": "Sold like, sold? Like someone else is going to be here? Like I come in on Monday and somebody else is at the mixer, is that what, is that the sold you mean?"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"id": "L10",
|
|
103
|
+
"text": "Not a bakery,"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "L11",
|
|
107
|
+
"text": "Then what happens to the ovens?"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": "L12",
|
|
111
|
+
"text": "Is that why there's a ring round Friday?"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"id": "L13",
|
|
115
|
+
"text": "Rolls come out at sixteen,"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "L14",
|
|
119
|
+
"text": "I got into a school,"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "L15",
|
|
123
|
+
"text": "A baking school,"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"id": "L16",
|
|
127
|
+
"text": "Feed it at noon,"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"id": "L17",
|
|
131
|
+
"text": "Every day,"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"id": "L18",
|
|
135
|
+
"text": "Okay,"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"id": "L19",
|
|
139
|
+
"text": "Doors,"
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"excluded": 17
|
|
143
|
+
},
|
|
144
|
+
"verdict_schema": {
|
|
145
|
+
"type": "object",
|
|
146
|
+
"required": [
|
|
147
|
+
"lines"
|
|
148
|
+
],
|
|
149
|
+
"properties": {
|
|
150
|
+
"lines": {
|
|
151
|
+
"type": "array",
|
|
152
|
+
"description": "one entry per line id, each exactly once",
|
|
153
|
+
"items": {
|
|
154
|
+
"type": "object",
|
|
155
|
+
"required": [
|
|
156
|
+
"id",
|
|
157
|
+
"speaker"
|
|
158
|
+
],
|
|
159
|
+
"properties": {
|
|
160
|
+
"id": {
|
|
161
|
+
"enum": [
|
|
162
|
+
"L1",
|
|
163
|
+
"L2",
|
|
164
|
+
"L3",
|
|
165
|
+
"L4",
|
|
166
|
+
"L5",
|
|
167
|
+
"L6",
|
|
168
|
+
"L7",
|
|
169
|
+
"L8",
|
|
170
|
+
"L9",
|
|
171
|
+
"L10",
|
|
172
|
+
"L11",
|
|
173
|
+
"L12",
|
|
174
|
+
"L13",
|
|
175
|
+
"L14",
|
|
176
|
+
"L15",
|
|
177
|
+
"L16",
|
|
178
|
+
"L17",
|
|
179
|
+
"L18",
|
|
180
|
+
"L19"
|
|
181
|
+
]
|
|
182
|
+
},
|
|
183
|
+
"speaker": {
|
|
184
|
+
"enum": [
|
|
185
|
+
"ines",
|
|
186
|
+
"theo"
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hyperspec_judge": "0.1",
|
|
3
|
+
"station": "doctor",
|
|
4
|
+
"spec": "story.hyperspec.md",
|
|
5
|
+
"spec_sha256": "8f417ebce7777cb4130afc8f0e2a1e4a483f1d4c7e7bcbadca202fda2208c6a9",
|
|
6
|
+
"draft": "story/draft.md",
|
|
7
|
+
"draft_sha256": "fdf8dd1ee311a376e45cca31b50f0b01f1157a889cb332620cbd178e9c510306",
|
|
8
|
+
"rubric": "the doctor grades the draft against every condition; the simulated reader is asked what the starter jar meant and whether it would look for the author's next story",
|
|
9
|
+
"instructions": "Grade the draft (inputs.draft) against each condition in inputs.conditions: a condition passes unless the draft does what its fails_when describes. For every judgment, quote the draft as evidence: each evidence field is a span copied verbatim from inputs.draft. Then answer whether this reader, having read the draft, would take the next step (inputs.goal.next_if_worked) now, and quote the passage that decided it. Answer only in the verdict shape given in verdict_schema: one entry per condition id, each exactly once, with pass and would_take_next_step as true or false, and a note saying why for every condition that fails.",
|
|
10
|
+
"inputs": {
|
|
11
|
+
"goal": {
|
|
12
|
+
"from": "has never read the author",
|
|
13
|
+
"to": "finishes the story and remembers the starter jar",
|
|
14
|
+
"next_if_worked": "looks for the author's other stories",
|
|
15
|
+
"change": {
|
|
16
|
+
"kind": "feeling",
|
|
17
|
+
"text": "the reader feels the handover of the starter jar as the moment the two say what neither says aloud"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"conditions": [
|
|
21
|
+
{
|
|
22
|
+
"id": "r1",
|
|
23
|
+
"text": "the two voices cannot be confused",
|
|
24
|
+
"fails_when": "a judge shown ten lines of dialogue with the speaker hidden names the wrong speaker for more than one of them"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "r2",
|
|
28
|
+
"text": "no one says what they could not know yet",
|
|
29
|
+
"fails_when": "Theo mentions the sale before scene-3, or Ines mentions the school before scene-4"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "r3",
|
|
33
|
+
"text": "the bakery's process matches a real working morning",
|
|
34
|
+
"fails_when": "a proofing time, the tray turn, or the opening time differs from story/materials/bakery-visit.md"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "r4",
|
|
38
|
+
"text": "the story is the four scenes of the scene list, in order",
|
|
39
|
+
"fails_when": "the draft has more or fewer than four scenes, or they run out of the scene list's order"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "r5",
|
|
43
|
+
"text": "the last line is about bread",
|
|
44
|
+
"fails_when": "the final sentence names a feeling, or does not mention bread, dough, flour or the starter"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "r6",
|
|
48
|
+
"text": "the story stays inside its length envelope",
|
|
49
|
+
"fails_when": "the word count is under 2,500 or over 4,000"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"draft": "# The Rye\n\n## 3:40\n\nThe alarm at the bakery went at 3:20, but Ines was always there first, so in three years I never\nonce heard it. What I heard, coming in the back door at twenty to four with my hands in my\npockets, was the mixer. It had a knock in it, a slow one, like it was trying to remember\nsomething.\n\nShe was standing over the bowl with her sleeves pushed past the elbow and her glasses on top of\nher head, where they stayed until the till opened. She did not look round. She never did. The\nback door sticks in winter and you have to put your shoulder to it, so she always knew it was me\nbefore she could have seen me.\n\n\"You're late,\" she said.\n\nI wasn't. She knew I wasn't. The clock over the proving cabinet said 3:41, and it runs a minute\nfast, and she was the one who set it that way.\n\n\"The bus,\" I said anyway, because that is how we started.\n\n\"Flour first. Then you can talk.\"\n\nSo I did the flour. Flour is weighed at Ines's, never scooped. There is a scoop in the bin, a\nsteel one with a dent in the lip, and in three years I have only ever seen it used to push the\nflour level before the lid goes back on. I set the bowl on the scale and zeroed it and poured\nuntil the number stopped where she wanted it, and then I took out a handful and put back half\nof that, because the last few grams go in by hand, and she was watching the scale even though\nshe was not watching me.\n\nBehind us the deck oven was coming up to heat. The deck oven is three stone shelves stacked one\nover another inside a steel wall, each with its own door, and it takes the better part of an\nhour to get hot enough. Somewhere in that hour it starts to make the noise. It is not loud. It\nis a kind of tick, then a longer sound like somebody dragging a chair in the flat upstairs, then\nnothing for a while, then the tick again.\n\nIt made the noise while I was weighing the second batch. I looked at the oven and then at Ines,\nand she did not look at either of us.\n\n\"Okay but like,\" I said, \"if the oven's made that noise since March, is it a noise, or is that just\nhow the oven talks now?\"\n\n\"Water,\" she said.\n\nShe put the thermometer in the water herself, the way she did for every batch, and read it and\nsaid nothing, which meant it was right. The water temperature is checked every batch at Ines's,\neven when the water comes out of the same tap at the same time on the same morning as the day\nbefore. I have never asked her why. I check it too.\n\nWe worked. There is a radio on the shelf above the sink and nobody has turned it on since I have\nworked there. The mixer knocked. The oven ticked and dragged its chair. Outside it was still\ncompletely dark, and the street lamp at the corner made the frost on the window look like a\nthumbprint.\n\nThe letter from the school was in the inside pocket of my coat, which was on the hook by the back\ndoor. I had moved it there from my bag on the bus, and then back to my bag, and then back to the\ncoat, because the coat was closer. It was two pages. The first page said I had a place, and the\nsecond page said when term started, which was the autumn, in a city four hours away by train. I\nhad read both pages enough times that the fold had gone soft.\n\nI did not look at the coat. I looked at the dough.\n\nOn the calendar by the till, which I could see from the bench if I leaned, somebody had drawn a\nring round Friday in red pen. Ines does not use red pen. She uses a pencil she keeps behind her\near and sharpens with a knife. I leaned, and looked, and leaned back.\n\nThe starter was on the shelf above the mixer, where it always was. The starter is a wide glass\njar with a cloth over the top held on by a rubber band, and everything we make that is sour\ncomes out of it. It is the only thing in the bakery she has never let me touch. I have fed the\nmixer and cleaned the oven floor and scraped the bins and carried the flour sacks up from the\ncellar two at a time, and I have never once taken the cloth off that jar.\n\n\"Is the rye going in the big bowl?\" I asked, although it always went in the big bowl.\n\n\"Big bowl,\" she said.\n\n## 4:30\n\nInes does not talk while she shapes. Talking happens at the mixer and at the till, and the bench\nis for your hands. I learned that in my first week and I have never had to be told it twice. The\nsilence at the bench is the kind that makes you hear how loud your own questions are.\n\nSo at half past four we stood at the bench with the dough between us and did not talk.\n\nShe cut the white dough into pieces with the bench knife, and weighed each piece, and pushed each\none across to me, and I rounded them and set them seam up on the floured cloth in rows. Her\nknife was faster than my hands. It always was. She would cut the last piece and wipe the blade\nand wait, and I would still have six to go, and she would not help, and she would not watch me\neither. She would look at the window, where there was nothing yet to look at.\n\nWhen the white was done she went to the big bowl and turned the rye out onto the bench. Rye does\nnot behave like the white. It is heavy and it is wet and it sticks to everything, and it does not\nstretch so much as slump, and you have to shape it quickly with wet hands before it decides to\nbe the shape of the bench instead of the shape of the basket.\n\nShe cut it into four and weighed the four. Then she wiped the knife and put it down on my side of\nthe bench, and she went to the sink, and she wet her hands, and she dried them.\n\nI stood there. The rye sat there. The oven ticked.\n\n\"I can do the rye,\" I said, and then I remembered where we were and said the rest quietly. \"I\nmean, I think I can do the rye. I did it Tuesday, kind of.\"\n\nOn Tuesday I had held the basket while she shaped. That was what I meant by kind of.\n\nShe did not answer. That was allowed, at the bench. She took the cloth off the white rounds and\nchecked them with one finger, and put the cloth back, and then she went through to the front and\nstarted taking the chairs down off the tables, which was the job she always gave me.\n\nSo I did the rye.\n\nI wet my hands the way she did, up to the wrist. I took the first piece and folded it in on itself\nand turned it and folded it, and it stuck to my palm and I wet my hand again and it stuck again,\nand I could hear the chairs going down in the front, one leg and then the other three, and I did\nnot look up. The second piece was better. The third piece tore and I had to fold the torn side\nunder and hope. The fourth piece was the best one I have ever done, and there was nobody at the\nbench to see it, which I think was the point, or I think now was the point, and I did not think\neither of those things at the time. At the time I only thought about my hands.\n\nI put the four of them seam up in the baskets and dusted them and covered them. The baskets are\nold, and the rye has worn a pattern into the cane that is there even when they are empty.\n\nThe proof is the long wait after shaping, when the dough sits and rises before it goes in the\noven, and with rye you cannot hurry it. In winter the rye proofs about three hours at room\ntemperature. Ines will not put it in the proving cabinet. She says the cabinet is for the white.\nSo the four baskets went on the shelf by the window, and would sit there until well after the\ndoors opened, and nothing either of us did in the meantime would make them go any faster.\n\nShe came back from the front with flour on the knees of her trousers from the chairs. She looked\nat the four baskets on the shelf for about as long as it takes to read a price, and then she\nlooked at the bench, which I had scraped clean, and then she went to the mixer.\n\n\"Scrape the bowl,\" she said.\n\nI scraped the bowl.\n\n## 5:50\n\nBy ten to six the oven was full and the kitchen smelled the way it smells only for about an hour\na day, which is the hour I would pick if somebody made me pick one.\n\nThe back left of the deck oven runs hot, so every tray is turned halfway through the bake. Ines\nhas a timer on a string round her neck for it. She does not trust the ones on the oven. When it\ngoes she opens each door in turn and pulls each tray out with the peel, and spins it, and pushes\nit back, so that the side that was at the back is at the front, and nothing comes out darker on\none end than the other.\n\n\"Left side runs hot,\" she said, as the first tray went in, as if I had not been turning those\ntrays with her since I was sixteen. \"Turn them at eight minutes.\"\n\nI set my own timer, which I did not need to do, because hers would go at the same time.\n\nWe stood in front of the oven. There is nothing to do in that eight minutes except stand in front\nof the oven and not open it. The noise came and went. The street outside was starting to go from\nblack to the color of dishwater. A van went past without stopping.\n\nThe timer went. She opened the top door, and the heat came out, and she slid the peel under the\nfirst tray and drew it out onto the lip of the door and started to turn it.\n\n\"It's sold,\" she said.\n\nShe said it to the tray. She turned the tray, and pushed it back in, and pulled out the second.\n\nI did not say anything, because I did not know yet that she had said anything. It went past me\nthe way the van had gone past. Then it came back.\n\n\"What's sold?\" I said. I knew what was sold.\n\n\"The bakery. Friday.\" She turned the second tray and pushed it back and shut the top door and\nopened the middle one.\n\n\"Sold like,\" I said, \"sold? Like someone else is going to be here? Like I come in on Monday and\nsomebody else is at the mixer, is that what, is that the sold you mean?\"\n\n\"Not a bakery,\" she said. \"They want the room. Not the ovens.\"\n\nShe pulled out the third tray and turned it. She had not burnt herself on a tray in all the time\nI had known her, and she did not burn herself then. Her hands did exactly what they always did.\nI watched them because I did not know what else to watch.\n\n\"Then what happens to the ovens?\" I said. \"Then what happens to the mixer. Is somebody going to buy\nthe mixer? It knocks. Does the person who buys it know it knocks?\"\n\nShe shut the middle door and opened the bottom one.\n\n\"Is that why there's a ring round Friday?\" I said. \"Is that what the red pen is?\"\n\n\"Sold means sold,\" she said. \"Get the next tray.\"\n\nI got the next tray. It was the seeded rolls, which I had shaped at five, and I put them on the\npeel and she put them in, and I stood with the empty peel in my hands while she shut the door and\nthe heat stopped coming out.\n\nI wanted to ask how long she had known. I wanted to ask whether the new people had been in, and\nwhen, and whether they had stood in this kitchen while I was at home asleep, and whether they had\nlooked at the baskets on the shelf and thought they were just baskets. I did not ask any of it.\nI stood there with the peel and I thought about the letter in my coat, and I thought, she has\nknown this for days, maybe weeks, and every one of those mornings she came in before me and set\nthe clock a minute fast and told me I was late.\n\nThat was the only time all morning I nearly told her. The words got as far as the back of my\nteeth.\n\nThe timer on the string went. She turned the next tray.\n\n\"Rolls come out at sixteen,\" she said. \"Get the racks.\"\n\nI got the racks.\n\n## 6:55\n\nAt five to seven the front was ready. The chairs were down, the counter was wiped, the white was\nin the baskets behind the till and the rolls were on the racks, and the four rye loaves were still\non the shelf by the window under their cloths, still rising, a long way from done.\n\nThe doors open to customers at 7:00. The first person in is usually a regular. Through the glass\nI could see Walter already standing on the step with his collar up and his dog sitting on his\nfoot, which was what the dog did in winter. Ines keeps a biscuit in her apron for the dog and has\nnever once said so.\n\nShe was counting the float into the till. I stood behind the counter with my hands flat on it.\nThe letter was still in my coat. The coat was still on the hook by the back door, which was as\nfar from the counter as you can get in the bakery and still be inside it.\n\n\"I got into a school,\" I said.\n\nShe went on counting. She got to the end of the coins and closed the drawer.\n\n\"A baking school,\" I said. \"In the city. It's a proper one, it's the one with the, they do the whole\nyear on bread, and then pastry, and I applied in the spring and I didn't think, I mean I didn't\nthink I'd get in, and then I did. It starts in the autumn. I was going to tell you. I was going to\ntell you the day the letter came, and then I got here and you were at the mixer and it felt like,\nI don't know. It felt like the wrong time to say anything to anybody.\"\n\nShe looked at the four baskets on the shelf by the window.\n\nThen she walked past me into the back, and I heard her feet on the flour-dusty floor, and I heard\nher stop by the mixer, and I stood there with my hands on the counter and looked at Walter's dog.\n\nWhen she came back she had the starter.\n\nShe had the jar in both hands, the way you carry something you have filled too full. The cloth\nwas still on, and the rubber band, and the glass had a rim of dried flour at the top where it had\nrisen in the night and fallen back. She put it on the counter between us and took her hands away.\n\n\"Feed it at noon,\" she said. \"Equal weight flour and water. Weigh it.\"\n\nI looked at the jar. I did not pick it up. I have scraped the bins and carried the sacks and\ncleaned the oven floor, and I had never once taken the cloth off that jar, and now it was on the\ncounter in front of me with nobody's hands on it.\n\n\"Every day,\" she said. \"Not most days. Keep it out of the sun.\"\n\n\"Okay,\" I said. \"Okay. So is that a yes, or is that the face you make when it's a yes?\"\n\nShe took the glasses off the top of her head and put them on, which she only does for the till.\n\n\"Doors,\" she said.\n\nI picked up the jar. It was heavier than it looked, and it was warm on the side that had faced\nthe oven. I held it against my chest with one arm while she walked to the front and turned the\nsign and let Walter in, and Walter said good morning to her by name, and she said good morning to\nhim by his, and she bent down to the dog with her hand already in her apron.\n\nBehind me, on the shelf by the window, under their cloths, the four rye loaves I had shaped were\nstill rising, and the dough had lifted the cloth off the edge of the first basket by the width of\na finger.\n"
|
|
53
|
+
},
|
|
54
|
+
"verdict_schema": {
|
|
55
|
+
"type": "object",
|
|
56
|
+
"required": [
|
|
57
|
+
"conditions",
|
|
58
|
+
"would_take_next_step",
|
|
59
|
+
"evidence"
|
|
60
|
+
],
|
|
61
|
+
"properties": {
|
|
62
|
+
"conditions": {
|
|
63
|
+
"type": "array",
|
|
64
|
+
"description": "one entry per condition id, each exactly once",
|
|
65
|
+
"items": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"required": [
|
|
68
|
+
"id",
|
|
69
|
+
"pass",
|
|
70
|
+
"evidence",
|
|
71
|
+
"note"
|
|
72
|
+
],
|
|
73
|
+
"properties": {
|
|
74
|
+
"id": {
|
|
75
|
+
"enum": [
|
|
76
|
+
"r1",
|
|
77
|
+
"r2",
|
|
78
|
+
"r3",
|
|
79
|
+
"r4",
|
|
80
|
+
"r5",
|
|
81
|
+
"r6"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"pass": {
|
|
85
|
+
"type": "boolean"
|
|
86
|
+
},
|
|
87
|
+
"evidence": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"description": "a span copied verbatim from the draft"
|
|
90
|
+
},
|
|
91
|
+
"note": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "why; required when pass is false"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"would_take_next_step": {
|
|
99
|
+
"type": "boolean",
|
|
100
|
+
"description": "whether this reader would take inputs.goal.next_if_worked now"
|
|
101
|
+
},
|
|
102
|
+
"evidence": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"description": "a span copied verbatim from the draft that decided would_take_next_step"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|