roostStorybook

Six Newton-Meters
of Headroom

Five weeks to demonstrate a robot. Twenty-four to decide what they can honestly claim.

Forty-three seconds of video made the robot look ready. The engineer who inherits it has five weeks to find out what happened outside the frame.

Start reading → · Original edition · Roost

A work of fiction inspired by the Robocourse curriculum. Characters and experiment results are fictional; technical examples use stated assumptions. The full course provides the detailed lessons and labs.


PART ONE: INSTRUMENT THE ROBOT

Chapter 1: The Arm

Marcus’s video was forty-three seconds long, and by the second morning I knew the sound of it better than the office refrigerator. A blue block appeared under a small white arm. The gripper came down, closed, rose, crossed the table, and released the block into a tray. No hands entered the frame. The movement had the good, expensive calm of something that had worked many times.

Then it looped. The same block. The same shadow on the blue tape. The same little hesitation before the release. I kept expecting the loop to disclose its join, like a magician’s sleeve. It did not.

“That is what Marcus got?” I asked.

Priya was sitting on the floor with a power strip in her lap. “That is what he sent. I sent it to Leah to get a meeting.”

She said Leah’s name as if I ought to know it. I had joined the team eighteen hours earlier, after leaving a company where a feature I had spent ten months rescuing had acquired three vice presidents and a different author. Priya had offered a smaller title, a smaller paycheck, and a robot with one detached camera mount. I had accepted before she finished the sentence because I wanted to make something that took up space.

“What did you tell her?”

“That we might have a station that could take the reset work off her line.” Priya looked at the loop. “She gave us five weeks to show her why that was not a foolish meeting.”

The WidowX on the bench had its elbow folded like an insect trying to look dead. Marcus had left for another job two weeks before I arrived. There were cables, a box of foam blocks, a folder called last_good_really, and the video. The arm did not repeat the video’s first move. Its shoulder twitched, considered the ceiling, and shut itself down.

Sam, our paid research intern, held up the fault log. “The vendor arm is not the actuator you have been sending packets to.”

I had, in fact, been treating the spare AK60-6 on the side bench like a tiny version of the robot. It was a gain-and-impedance experiment, unrelated to the vendor API that ran the WidowX. I had sent the actuator a desired position with the gain set to zero, then blamed the bus when it made no effort to go there.

“It is a spring,” Sam said.

“A very expensive spring.”

“Still a spring.”

I gave it enough stiffness to move and kept the test slow on its unloaded bench. The response went from yielding to resisting as the gains rose. The lesson was embarrassing but useful: the number I sent was an anchor, not a commandment. I wrote separate benches, separate assumptions in the notebook and did not tell Sam I had briefly imagined the demo falling apart because I had confused two systems on day one.

By lunch, the failure belonged to the actual WidowX AI arm. Its shoulder joint had a nominal 27 N·m limit, but Marcus’s 20.9 N·m gravity estimate was only an illustrative long-reach pose calculation: links and a nominal payload under stated assumptions, not a vendor claim. Six-ish newton-meters remained in that example for acceleration, friction, bad estimates, and whatever the spreadsheet had neglected. It was a warning about pose headroom, not a certification of the whole workspace.

Priya read over my shoulder. “Can it move a connector cap?”

“Probably. But it should not demonstrate that by reaching across the table.”

“Leah’s line does not have a blue-tape rectangle.”

“Leah’s line also does not have us in it yet.”

She did not like that. Neither did I. The five weeks had felt like an opening when I accepted the job. Now they had become five red squares on Priya’s calendar, each one already partly occupied by the ghost of a video.

Sam taped a smaller rectangle close to the base. We made the arm trace it in slow air. It did nothing beautiful. It obeyed a home pose, stopped where it was told, and went back home again.

At four on the first Friday, Priya stood by the door with her phone open to Leah’s thread. “I need to tell her what next Tuesday’s first walkthrough is.”

I could have said a lot of things that sounded like motion: autonomous manipulation, learned perception, a recovery stack. The clip was waiting on the monitor to make them feel less reckless.

“Marked blocks,” I said. “Measured workspace. Pick and place. No claim beyond that.”

Priya typed it, then paused. “That is a much smaller meeting.”

“It is the meeting I can stand behind.”

She sent it. A minute later, Leah replied that she could hold forty minutes next Tuesday, provided the station was ready when she arrived.

Priya put the phone face down. “Then make it ready.”

The video looped again behind us. The arm released its blue block with perfect timing, and our arm sat powered down in its own blue rectangle.

Chapter 2: Plausible Garbage

Week Two, Tuesday

On Tuesday the arm missed the block by thirty-eight millimeters, every time, toward the window.

A random camera problem would have wandered. This was an appointment. We moved the block five times, changed the overhead light, wiped a thumbprint off the lens, and watched the gripper descend with the confidence of an elevator arriving at the wrong floor.

Leah was supposed to be in the doorway at ten. At 9:42 Priya read the setup message I had drafted, deleted the line about a live pick, and wrote that we needed to reschedule. The reply came while I was staring at the error plot.

I gave the slot to production. Next opening is Thursday, 4:30. Please don’t make me move three people again.

There was no anger in it. That made it worse. Priya had used the forty minutes to make the case for us upstairs. Leah had made room in a real line. We had spent both on an arm that could reliably pick up a point beside a block.

“The detector is good,” Sam said. “Look.”

The camera overlay placed the block almost exactly where it sat. My conversion put its coordinate into the robot’s base frame. The output had smooth decimals and a reassuring green status. I had trusted it partly because it was such handsome garbage.

Sam rotated the monitor toward me. “Which direction does camera x point?”

I knew the answer, then realized I knew two answers from two different libraries. The mounting diagram gave an offset along the camera axis. I had applied it along the robot's base axis. The rotations were right; the translation was expressed in the wrong frame, displacing every target by the same vector.

The fix took fifteen minutes. The check took longer. We put a marker at three places on the table and made the arm hover above each rather than close on anything. At the far edge, it was still wrong enough to make me uncomfortable. At the center, it was close enough for a block but only if we kept the conservative clearance we had planned.

“Can we tell Priya it is fixed?” Sam asked.

“We can tell her why it missed.”

“That was not my question.”

At 2:17, a new failure appeared. The gripper reached the correct place, closed around air, and lifted. The block sat untouched beneath it. I had toggled the physical gripper’s zero during a reset and forgotten to propagate it through the command adapter. The arm had a second coordinate system, this one attached to its fingers, and I had managed to give it a private opinion about where closed was.

Sam laughed once, with no pleasure in it. “It is very consistent.”

“That is the insult.”

Priya came in carrying sandwiches none of us had asked for. I showed her the corrected overlays and the slower hover tests. She looked at them politely, then at the empty part of the calendar where Leah’s first visit had been.

“I told her Marcus’s clip was repeatable,” she said.

“You told her it was a possibility.”

“She heard a possibility with a date.”

That was fairer than I wanted it to be. I offered Thursday’s meeting, a fixed set of blocks, and a promise we would only run the arm when its calibration record matched the mount. Priya shook her head.

“Not a demo. She needs to see whether this can spare someone from standing at it. Bring her something she can ask an annoying question about.”

The reply to Priya’s rescheduling request arrived near closing. Leah could still spare twenty minutes for a remote look on Thursday. She would not bring the line supervisor.

Sam began packing their bag at six. “Do you want me to stay?”

I almost said yes, because I wanted the air around the bench to keep moving until it became a different day. Instead I said I would finish the run script.

After they left, I ran the same three hovers until the small servo fans warmed the room. The arm stopped over every marker now. It was only a promise to point at something, but it had cost us a meeting to earn it.

Chapter 3: The Time Thief

Week Two, Thursday

With Leah watching through a laptop, the arm tried to pick a block that was no longer there.

Sam had put the block on a short moving belt borrowed from packaging. It was not a faithful version of Leah’s work; that was the point. We wanted a cheap way to find out how old an image could be before the station became theatrical.

“It has enough time,” I said, looking at the dashboard. “Median perception to command is eighty-two milliseconds.”

Leah’s face appeared in a small square at the screen’s edge. Behind her, somebody called for a cart. “That sentence worries me already,” she said.

The gripper arrived late by about a block-width. It closed on belt. The controller stopped cleanly, and nobody in the room pretended that was a near miss we could call a feature.

My dashboard said the action had been issued twelve milliseconds before the image that prompted it. Negative latency. For two minutes I let that phrase frighten me. Then Sam noticed that the camera hardware timestamp was disciplined to one clock and our process log to another. We had measured a disagreement between clocks and given it the dramatic name of causality.

Rebuilding the trace was tedious: exposure, receive, pose estimate, plan accepted, command sent, controller acknowledgment. When we put them on one clock, the median was still tolerable. The ugly tail was not. Every few runs, an image waited behind old images. The arm made a decision from the past with the patience of a bureaucrat.

Leah did not ask for the graph. “How often would I have to rescue it?”

“We do not know yet,” I said.

“Then I cannot tell my supervisor I need a person standing next to a machine that saves a person.”

It was not unkindly said. That made it more precise. She had a tray of connector caps, calibration blocks, and interruptions from people who needed her to diagnose instruments. The reset work came in the gaps. A station that summoned her back every minute would make a new kind of gap, at higher cost.

After the call, Priya stood at the whiteboard and crossed out walkthrough. “We need a safe stop and an explanation for every late command before I ask Leah for another hour.”

“We need a day,” I said.

“You have one.”

Sam did not look at me. “And not Saturday.”

I had not said Saturday aloud. I had just opened the shared calendar and hovered over it long enough for the idea to become visible.

“The deadline did not become yours because Marcus left,” they said.

“I was going to ask.”

“You were going to make it sound optional.”

They were right, which made me irritated in the petty, instant way that usually meant someone had found my bad habit before I had named it. Sam’s funding ran through week sixteen. They were paid for this work; they were not paid to inherit my panic.

On Friday we put the camera on a latest-only queue and separated the logging process from control. The first version silently threw away old observations. I disliked the loss. Sam asked whether I preferred a pristine archive or an arm that knew what day it was. We recorded both facts: an action had used the newest available image, and older images had been dropped.

At five, Priya called Leah back for sixty seconds. “We found something embarrassing,” she said. “We are not asking you to move the slot again. I want you to tell us what a useful failure would look like.”

Leah considered. “It should stop before it damages the thing. It should tell me whether I can restart it. And it should be boring enough that I believe it.”

When the call ended, the belt was still threaded through the little station. I moved the block by hand. The camera found it. The trace had a positive age this time—one hundred and six milliseconds—and the gripper hovered where the block had been, which was now exactly where the block was.

Sam picked up their coat. “Monday,” they said.

“Monday,” I said.

The arm was quiet. The belt kept moving after we shut down, carrying an empty square through the camera’s field of view.

Chapter 4: Silence on the Bus

Week Three, Monday

Monday morning the camera was streaming, the controller was alive, and no image reached the program that needed it.

I had set the message channel to reliable the week before, because Priya had asked whether the images could be lost. Reliable sounded like a reassuring answer. The camera had been publishing with a different quality setting. Each component behaved exactly as configured, and together they formed a very expensive silence.

“Did you choose that?” Sam asked.

“Yes.”

“Why?”

“Because I wanted to be able to say we did not drop frames.”

They nodded, then did not make it easier for me. We made the settings compatible and new images began arriving. To compare the change, I reattached a diagnostic recorder to the control process. I meant to remove it before the rehearsal.

Priya had given us one rehearsal hour at the end of the day. She had obtained it by asking the building manager to delay a noisy repair that shook the shared lab wall. The new images worked. The trace was clean. I wanted to recover some of the morning by running the arm while I rearranged the log collectors.

Sam said we should do the stop drill first.

“We know the stop works.”

“We know it worked once while we were both looking at it.”

I put the block at the boundary of the taped area and started a slow approach. The recorder stalled the process long enough for observation age to cross its limit. The monitor requested a controlled stop. The arm halted eighty-five millimeters above the table while my logging window was still catching up.

There was a sound like a refrigerator deciding to rest. Then nothing.

Priya was in the doorway holding two visitor badges. “Are we done?”

The rehearsal hour had become twenty-six minutes. I could have reset it. I knew the commands. I could have made the arm move once for the people who had already arrived.

Sam was writing down the stop time. “We have not practiced restart after an aged observation.”

The visitors heard that. One of them looked at the inert arm, then at Priya. She told them we had ended early and offered coffee. They left their badges on the counter. The building repair began forty minutes later anyway, a vibration passing through the bench as if it were laughing at our schedule.

Priya did not yell until the visitors were gone. “You made logging part of control while we were about to run a rehearsal?”

“I thought I could catch it.”

“That is not a system property.”

Sam stayed silent. I wanted them to say something that would make Priya sound excessive. They did not.

We spent the rest of the afternoon making the reset sequence unglamorous: controller settled, camera fresh, workspace clear, arm home, operator acknowledgment. The stop itself had been safe. The reason had been visible. What we did not have was a right to regard a person watching the bench as one of the safety layers.

At six, Priya told us Leah could no longer make the in-person Thursday we had tentatively held. Her line had an audit. The next possible visit was Friday two weeks away, the fifth-week demonstration date.

“So we demonstrate blind,” I said.

“We demonstrate to Leah. If she still chooses to spend the time.”

Sam clipped the stop tag back onto the pendant. “Then we should know what we have done so far.”

I looked at the folder of successful runs. Forty-seven video files sat under a directory named evidence. For the first time, the name felt less like a compliment than a question.

Chapter 5: Layers, Not Vigilance

Week Three, Thursday

The forty-seven runs had been made before we agreed on what a run was. That did not make them harmless. It made them a pile of footage with the power to flatter whoever needed it.

Some began after the camera had already seen the block. Some began after I had nudged the block into a better orientation. Several had an arm reset outside the video frame. I had called them practice because that made them feel harmless. Priya had called one “promising” in the email that earned Leah’s first meeting.

Sam opened a spreadsheet and started asking questions that had no good answers. Which calibration file had produced run eighteen? Which controller version had run thirty-one? Did the action log belong to the image in run nine, or to the image after it? We had timestamps everywhere and no common identifier tying an executed action to the observation that had chosen it.

“We can reconstruct most of it,” I said.

“Most is a word you use when you want to keep a result,” Sam said.

I found that unfair because I was already ashamed. It was also accurate. I had spent a weekend making the clips clean enough to show Priya and had liked, too much, that the arm looked like something I had brought back to life.

We stopped arguing to run the drill that the lost rehearsal had bought us. I placed a foam block just beyond the permitted workspace and asked the planner to approach it. The independent boundary refused the plan. Fine. On the second drill I injected an old observation. The monitor requested a stop. Fine. On the third, the controller settled but the reset page called the camera fresh before a new image had arrived.

“That one is not fine,” Sam said.

The corrected restart took twelve seconds longer. Priya watched from the door and said Leah’s work could not afford twelve seconds after every uncertainty.

“It cannot afford one bad restart either,” I said.

“I know. I am saying you are designing a thing nobody has asked to own.”

It stung because I had come to this job to be needed. An unattended station was proof that I had made something that stood on its own; a station with a careful restart page was, in Priya’s version, a possible burden for Leah. Both could be true, and I disliked that it made my best instinct look selfish.

At five, Sam found a card in Marcus’s folder. It said only: call me before you infer anything from the clip. There was a number beneath it.

“You call,” Sam said.

Marcus answered from a parking garage, apologetic and breathless. He was moving apartments before starting his new job. When I asked about the clip, he went quiet long enough that I thought the call had dropped.

“The pick was real,” he said finally. “The reset before it was real too. I cropped it. Then I did another take because the first release landed crooked. Priya asked if it was repeatable and I said, ‘It can be.’ I did not say what I meant by can.”

“Why not send the raw footage?”

“Because I was leaving, and because I liked being the person who had made it work.”

There was no villainy available to us. He sounded like someone I might have been in a better shirt. He sent the raw folder while we were still on the phone. The join in the forty-three seconds had been there all along: a reset cropped just before the blue block reappeared, then a selected take.

Priya watched it without speaking. “I made it product-shaped,” she said. “That part is mine.”

“He made it look continuous,” I said.

“And you have forty-seven new reasons to want the same thing.”

The next morning, we would find out whether we could make a record that did not need anyone’s memory to defend it.

Chapter 6: The Exit Gate

Week Three, Friday

We kept the forty-seven files. We marked every one inadmissible.

Deleting them would have been another edit, and I was no longer interested in making the past look cleaner. But they could not support a claim about repeatability. The shared folder looked thinner afterward. So did I.

Sam built a run record while I fetched takeout: one identifier tied to the observed object, calibration, command, execution trace, result, and any reset. They refused to call it a favor. I did not ask them to stay late.

On the first properly recorded failed pick, I remembered the gripper closing too early. The setup video showed my hand shifting the block after I had accepted its pose. I hadn't updated the setup entry. For once, the full record exposed the discrepancy instead of preserving my explanation. We marked the setup invalid and repeated it with a fresh pose check.

Priya called the resulting checkpoint instrument ready. Sam objected to the name, then let it stand after she explained that it was not an announcement about the robot. It meant we could make a statement about a particular run and tell someone how to disprove it. That was more than we had had on Monday.

“What can we still sell?” Priya asked, which Sam disliked on sight.

“We are not selling it,” they said. “Leah is deciding whether to let it take up floor space.”

“Floor space has a price,” Priya said. “So does my team’s time.”

She asked what a fixed, known block would let us learn by the fifth-week visit. I said we could offer a small reproducible reference system: a calibration checked against a physical marker, a conservative path, a recorded reset, and a refusal when a target sat outside the safe region.

“Does that help Leah?”

“Not as a deployed station.”

“Then why spend her Friday?”

I could have said it would earn us permission to learn. The sentence had the unpleasant quality of being true for us and useless to her.

“Because it will let her see exactly what we are asking her to trust,” I said.

Priya considered that, then sent Leah a deliberately unexciting agenda: known blocks, no unlogged retakes, a short reset, and room for questions. Leah replied with one: Can I put an inconvenient block there?

“Yes,” Priya typed.

When the message had gone, Sam closed their notebook and took it with them. I was relieved the next phase would require someone else’s judgment and resentful of the relief. The two feelings sat beside each other all weekend.

PART TWO: BUILD A CLASSICAL ORACLE

Chapter 7: The One Exactly-Correct Function

Week Four

We called the fixed planner the oracle because it had to explain itself.

It did not need to recognize a kitchen or improvise a grasp. It had to find one of our measured blocks, avoid configurations where a small correction made the joints behave badly, and decline a request when it had no safe motion. The first time it found two joint solutions for the same approach, it switched its elbow from one side of the arm to the other between adjacent waypoints. Each pose was legal. The transition was absurd.

Sam fixed it by carrying the measured configuration forward as the next seed. I found the actual tool offset had been measured from a bracket drawing instead of the mounted gripper. Neither discovery belonged to a grand theory. Together they made the arm move as though it had one body.

On Tuesday, Sam asked if we could begin collecting demonstrations for the learned policy instead of spending another day on the oracle.

“With what labels?” I asked.

“With the ones we decide on.”

“After the demo.”

They put down the block they were holding. “You keep saying after the demo as if the demo creates time.”

“It creates a baseline.”

“For you.”

I heard the accusation and answered the weaker version of it. “For the project.”

Sam did not argue. They went back to the console, which was worse. The notebook beside their keyboard held pages of recovery motions and odd approach angles I had not asked them to capture. I told myself we could deal with authorship when we had a working station. That was how people at my old job had always made authorship disappear.

The remaining problem was the camera. The safest route to a block at the edge of the workspace bent the arm through the sensor’s view. A shorter route kept the block visible but brought the wrist into the thin part of the pose margin. Priya preferred the short route because the fifth-week demonstration needed the arm to see what it was doing.

Sam preferred neither. “Move the sensor,” they said. “Then measure it again.”

“We do not have time to recalibrate a new mount.”

“We do have time to make a pretty failure?”

Priya looked from the calendar to the rig. “Move it. I want the clear path.”

It was her choice, but I made the adjustment. The witness mark slipped a fraction as I loosened the bracket. I saw it and told myself I could rerun the calibration after lunch. Sam began labeling a new data folder. Friday kept getting closer.

Chapter 8: The Lying Eye

Week Four, Thursday

The new camera angle made the wide shot beautiful. It made the robot wrong in a way that was harder to forgive.

The first block sat near the middle of the tape. The arm approached, descended, and closed its fingers four millimeters to the left. The second miss was the same. By the third, Sam had stopped resetting the block and was drawing arrows in their notebook.

“You moved the bracket,” they said.

“Priya moved the camera.”

“You moved the bracket.”

That was true in the way that mattered. The old calibration still produced a small residual on its stored target. I had looked at that number, wanted it to absolve me, and continued running. The camera had become a witness to a room it no longer occupied.

We stopped. Priya asked whether the correct transform was a file we could restore.

“It is a relationship,” I said. “We changed one side of it.”

She pinched the bridge of her nose. “How long?”

“If the target coverage is good, an afternoon.”

“And if it is not?”

“Then we do not have a camera measurement.”

Sam set up the target without waiting for anyone to approve the plan. We moved the arm through poses that showed the camera different parts of it, checked a held-out image error, then asked the arm to hover over a physical marker. The numerical fit improved first. The physical check still landed long. I had transcribed the target height from an old fixture drawing, not from the fixture now on the table.

“You are trying to make the file pass,” Sam said.

I wanted to say that they were enjoying my mistake. Instead I measured the fixture.

By evening, the new record was decent in the center and worse at the outer edge. We marked that edge out. Priya asked whether we could restore it after Leah saw the system. I said no. Sam said, “Why would we?” at exactly the same time.

We both turned to look at each other. It was the first thing we had agreed on all week without working for it.

The oracle ran again. It found a known block, chose a route that preserved its view, and refused a block beyond the new boundary. Its status page said target outside qualified workspace. Priya wanted more verbs in the sentence. I could not give her any without lying.

Week Five, Friday morning

The mug rehearsal began with a ceramic click that made everyone stop talking.

The gripper had reached the mug precisely, closed around its rim, and lifted it two centimeters. Then the mug slid through the pads and sat back on the table with a small, offended sound.

“Good,” Priya said.

I looked at her.

“Not good. Useful. I meant useful.”

Sam replayed the trace. The approach had been acceptable. The contact was not a grasp just because the fingers had met something. The mug’s curved wall, handle, mass distribution, and slick glaze were all information the overhead image had kept to itself.

“Can it squeeze harder?” Priya asked.

I began a sentence about friction and heard how much it sounded like a person hiding behind a whiteboard.

“It can try a different grasp,” I said. “It cannot turn an unknown contact into a guarantee by sounding confident.”

Sam showed us a side approach they had used during reset practice. It caught the handle when the handle was visible and free. With the handle turned away, it could not make the same claim. We gave the two motions different names instead of letting mug pick blur them into one success category.

The scheduled demonstration was fixed blocks, placed freshly by Leah. The mug was a rehearsal because I wanted the station to look broader than its contract. I put it in the cabinet before anyone arrived.

Chapter 9: The Bet

Leah arrived in steel-toed boots and a cardigan, carrying a box of parts no one had asked her to bring. In person she was shorter than her laptop square and less willing to fill silence. She walked once around the bench, examined the blue tape, and asked why the emergency stop was closer to my chair than to the person who might have to use it.

“Because I set it up,” I said.

“Then move it.”

We moved it.

Priya introduced the task as it appeared in Leah’s calendar: known blocks, a measured workspace, no hidden retakes. Leah placed the first two blocks, and the oracle transferred them without fuss. Leah watched the arm less than she watched us: my hand near the pendant, Sam’s eyes on the status stream, Priya pretending not to read her phone.

Then Leah placed a block beyond the boundary we had marked after the camera remount.

The oracle paused. Its screen gave the unlovely refusal. I felt the old urge to slide the block inward quickly, before the silence grew teeth.

“What happens now?” Leah asked.

“It will not approach that placement,” I said.

“Can I restart it?”

Sam stepped aside from the console. Leah followed the reset page, cleared the target, waited for the new camera check, and returned the arm home. She did it more slowly than I would have. She did not ask for help.

“Who empties the tray?” she asked after the third transfer.

“The operator,” Priya said.

“Which operator?”

“I could swap two trays,” Leah said. “That takes a second.”

We disabled the station so she could try. The tray caught under a cable bracket. She tilted it, a block slid into the corner, and the handle she wanted was on the far side. I reached to help. She waved me away and tried the other end.

“That takes longer than a second,” she said.

She set it down and rubbed the mark it had left on her palm. Her operators were already doing the resets this station was supposed to remove. If she had to come back every six minutes to wrestle with our tray, she needed to count that too.

Leah closed the box of parts. “It is a nice research station,” she said. “I do not know if I have a station budget for a nice research station.”

Priya did not argue. She asked what would make the next conversation worth Leah’s time.

“Something that adapts when the cap comes in crooked,” Leah said. “And someone who can restart it without becoming your colleague.”

After she left, Priya opened a budget sheet. “I can get us research time through week twenty-four,” she said. “Not a purchase. A conditional pilot slot in week sixteen if we show adaptive handling and a serviceable restart. Leah will reserve floor space and staff time only once. I am not spending either to protect our feelings.”

Sam looked at the mug cabinet. “Then I’ll draft the collection protocol Monday.”

Priya nodded. “Start with the recoveries. I want to know what they are before we ask a model to admire them.”

Leah had left us one crooked connector cap. Sam set it between the blue blocks we had spent five weeks learning to move. I tried to stand it on its wide end. It rolled onto its side.

PART THREE: LEARN FROM DEMONSTRATIONS

Chapter 10: The Tube

Weeks Seven and Eight

Sam found the missing labels because they were looking for a clip to show somebody else.

They had their laptop open beside the reset tray, a browser full of little arm-shaped thumbnails. The good ones all looked boring: gripper down, block up, block over, block released. The useful ones looked like arguments. In one, the block rolled out of the jaws and the arm backed away; in another, it rose to its safe height, found the block again, and came in from the side. Sam had filmed those recoveries on the days I was too impatient to keep the camera running.

“Why are these all called standard_pick?” they asked.

I knew the answer before I leaned over. I had folded their columns into mine the week before. There had been a deadline, there had been a training script that wanted one action name, and there had been the small, selfish pleasure of making the folder look as if it had always belonged to me.

“Because the first model needs less to sort through.”

“It needs less truth to sort through.”

I said the labels could be restored. Sam did not move from the chair. “They can be restored after you used them.”

That was the irritating thing about a sentence like that. It made no claim I could disprove. The model had already learned from a mixture of my fast top-down grasps, Sam’s handle grasps, and recoveries that began from whatever unsuccessful pose happened to precede them. The validation curve had been lovely. On the marked table, the arm missed the block by a finger-width, made a correction that belonged to neither of us, then chased the spot where the block had been before the reset fixture nudged it aside.

Sam stopped the replay at the first lurch. “It thinks a recovery is a normal next move.”

“It saw recoveries.”

“It saw selected recoveries. From selected failures. On different reset positions.”

They were not saying recoveries had been a bad idea. Some of the clips were the only evidence we had of how to retreat without pushing an object farther away. But my collection had treated every clean start as interchangeable, and Sam’s had treated every rescue as a virtue. Together they made a story with no chapter breaks.

Priya arrived carrying two coffees and the sort of expression that meant one of them was for her, even if she had forgotten which. “Can I tell Leah we have a learned version in training?”

“You can tell her we have footage,” I said.

“That is not the question I asked.”

Sam clicked through the browser again. “Tell her we have enough footage to learn that our labels are dishonest.”

Priya looked from them to me. She had already spent a meeting getting us the extra research period. A cheerful update would cost nothing today and might cost her credibility next month. “How long to make them less dishonest?”

I began to answer with an estimate. Sam said, “I want to write the protocol.”

There was a pause in which I heard the camera fan and, farther down the hall, someone dropping a tray of screws. I had expected them to ask to coauthor a method note. I could have granted that warmly. A protocol meant deciding what entered the next model, who got to call a run a recovery, and whose work counted when the data looked good.

“We write it together,” I said.

“You can review it,” Sam said. “I’m not collecting your boring examples for you and then watching them turn into your dataset.”

Priya put both coffees down. “Sam approves the labels. You review the physical fields and get a versioned export. If you disagree, bring the clip here. I am not paying either of you to win a folder.”

It was an inelegant division and I hated how relieved I was that it had been imposed from above.

For two afternoons Sam rebuilt the browser into an accusation with checkboxes. Each clip now carried the grasp family, starting pose, reset identity, operator, and whether the arm had recovered from something real or merely performed a maneuver I liked. One mug could no longer masquerade as another because both happened to be blue. A clean handle grasp could no longer donate its success to my rim approach.

I checked the physical fields and found mistakes. A camera bump had been entered as a new object pose. Sam had called a retreat deliberate when the gripper had actually timed out. Correcting them felt good until I noticed I was enjoying being needed again.

On Friday, Sam gave me read access to the new manifest but not permission to merge it into my old folder. The access request sat in my inbox with a polite automated line beneath it: Owner: Sam Ortiz.

I approved it from the bus, then watched my own reflection in the dark window as if it had made the decision for me.

Chapter 11: Chunks and Coin Flips

Week Nine

The square block gave us two perfectly good answers and the policy chose the space between them.

Sam had demonstrated a leftward wrist turn; I had demonstrated a rightward one. The block was symmetric, the tray did not care, and both routes had worked often enough that neither of us had bothered to win the argument. When the first regression policy saw the same view, it split the difference and offered its fingers to the block’s corner.

The jaws closed on air with a tiny offended click.

“That’s democratic,” Sam said.

“It’s a vote nobody cast.”

We could force a convention, which would make the training set tidier and the project smaller. Or we could let the policy represent more than one route and then find out what its choices cost in time. Sam wanted the second option. I said that was partly because it made a better portfolio. They gave me a look sharp enough to make me regret the word.

“It also makes a better robot,” they said. “Those can overlap.”

The chunked model did choose a side. It proposed a short run of actions rather than reconsidering every instant, and on its good runs the arm stopped looking like it was taking a poll with itself. We set a harmless displacement fixture at the edge of the marked workspace and ran the agreed test: after the first approach, the fixture shifted the block a small measured distance; the arm either reacquired it at the next update or stopped. No hands crossed the tape. The first three recoveries were calm enough to make me believe we had finally earned an uncomplicated afternoon.

On the fourth, the block moved just after a chunk had committed. The arm completed the part it had already promised, arrived at empty space, and waited through a beat that was longer than it looked. The stop was clean. The recovery was not.

Sam wrote commitment horizon beside the run number. I wrote nothing. I was busy deciding whether the loss belonged to the model or the test.

Near five, they showed me the clip they had chosen for their job application. The light was good. The symmetric block arrived left of center, the policy took the left route, and it recovered from the fixture shift so neatly that the tray might have been moving for its benefit.

“That’s not the hard starting position,” I said.

“It is a real starting position.”

“It is the easy one.”

Sam’s hand stayed on the trackpad. “You sent Leah Marcus’s forty-three seconds.”

“Priya sent it.”

“You watched it first.”

I said Marcus’s clip had created a meeting, which was true and beside the point. Sam’s had a caption identifying the run as an example, not a rate; it included the model version and the fixed conditions in type too small for anyone to admire. I was objecting to the choice because I did not like how much it made their work look finished.

“The application closes before my funding does,” they said. “I don’t get to wait until this lab has a result it can put on a slide.”

Outside, rain crossed the high windows in diagonal lines. I had known Sam’s contract ended at week sixteen. I had treated it like a calendar constraint, the way I treated the arm’s controller cycle: something real but too dull to feel until it ruined a plan.

“Use it,” I said.

They looked at the screen, not at me. “I was going to.”

Before I left, Sam added the ugly fourth run to the same application folder. Its filename began with failure-under-commitment. I considered asking why. Then I remembered the first thing I had said about their good clip and went home without making them explain it.

Chapter 12: Statistics or It Didn’t Happen

Week Ten

Priya’s draft update had three sentences and nowhere safe to stand.

She read it to us in the conference room while the air conditioner tried, unsuccessfully, to turn the room into a meat locker. “The learned controller improves successful transfers by fifteen percentage points. The team is preparing the pilot. We expect to demonstrate a robust adaptive system in the next phase.”

On the whiteboard behind her, someone had written the actual count: fourteen successes in twenty attempts for the chunked policy; eleven in twenty for the fixed baseline.

“The first sentence is too strong,” I said.

Sam tapped the counts on the board. “It did improve by fifteen. That is what happened.”

Priya’s mouth tightened. “Leah asked for an update today, not for a philosophy of confidence intervals.”

“We picked the conditions while watching these runs,” I said. “Give her the counts and call them exploratory. She hears that first sentence as what she will get.”

Sam looked back at the board. “I would say promising.”

I was ready for that argument. I had even prepared a cleaner phrase: a clearly improved early result. Sam read it from my notes before I could hide the page.

“That one has to go too,” they said.

“Clearly is different from guaranteed.”

“It is different only if Leah has been in this room staring at our denominator.”

Priya gave a short laugh that was not amusement. “Fine. Both of you lose your favorite sentence. What may I say that gives her a reason to keep the slot open?”

The answer was smaller than any of us wanted. We had seen a difference worth investigating. We had also chosen the grasp families, the resets, and the first conditions while looking at the same runs. We could not turn that into a promised improvement by formatting it as a percentage.

Priya crossed out robust. Then she crossed out pilot, which hurt more.

“The seed budget funds the three of us through Sam's current contract and keeps this bench open through week twenty-four,” she said. “There is a separate prototype allowance. I can use that for a longer contract, rented compute, new hardware, or travel. It won't cover all of them.”

She looked at Sam. “I can also extend you through the work. I want you here if we do this properly.”

The offer lay in the middle of the table, too personal to call a resource allocation. Sam folded the corner of their legal pad once and unfolded it. “I have another offer,” they said.

Priya did not ask from whom. “When do they need an answer?”

“Soon.”

I wanted to say we needed them. The words came out as, “The protocol won’t be yours alone if you leave.” It was the wrong sentence, a claim of dependence dressed as flattery.

Sam met my eyes. “It was never mine alone.”

Priya sent Leah an update with the counts, the word exploratory, and an apology for offering a date before we had earned one. She did not get an answer that afternoon.

At six, Sam left the conference room with the extension letter unsigned. I picked it up to put on their desk. Priya asked me to leave it where it was.

PART FOUR: ADAPT A VLA

Chapter 13: The Giant

Week Eleven

Sam had bent a connector cap to match the one Leah had left us. The fixed planner rejected it. Sam placed the rejection beside a screenshot of the pilot requirement and slid both across my desk.

“We can make the baseline excellent at saying no,” they said. “She asked us to do something with this.”

The large vision-language-action model was already loaded on the borrowed workstation. I had agreed to an offline look. Sam had translated that into a morning with the bench reserved.

We kept the arm disabled. The candidate's action head proposed a reach that approached the cap from its open side. When Sam turned it around, the proposed wrist orientation changed with it. Our little policy had needed carefully repeated examples to learn that distinction. I leaned closer to the monitor.

“Again,” I said.

Sam covered the open side with a block. The new reach went around it. It was a candidate trajectory, still untested against the metal, but for a few minutes it felt like an answer to Leah's actual problem.

Then we moved the red reference block and replaced the blue one with a washer.

The model's separate language interface cheerfully described the blue block as ready to pick. Its action head, given the same current images, proposed a reach toward the red block's old position. We opened the captured input files. The washer was plainly there.

Sam reset the objects. The next prediction looked good again.

“Leave the washer,” I said.

“I'm trying to isolate the change.”

“Then move one thing back. Don't restore the whole scene.”

They took their hand off the tray. We tried the changes separately. Some predictions followed the objects. Others clung to positions that had appeared often in our adaptation examples. The fluent description could not tell us which action to trust.

Priya arrived in time to see the wrong reach overlaid on the washer. She looked at the two screenshots Sam had left on my desk.

“Which one of these am I paying for?”

“We don't know yet,” I said.

She asked me to turn away from the monitor. “I know that sentence. Tell me what finding out costs.”

It cost the comparison we had scheduled for the smaller policies. Those sessions were still exploratory preparation; we hadn't begun confirmatory collection. We could keep them and find out whether our existing improvement held up, or spend the same bench time rebuilding the large model's input path and testing what transferred. We couldn't finish both before Sam left.

“The other job wants a technical sample,” Sam said. “This would help me. It could also help the cap task. I'm allowed to want both.”

“Yes,” Priya said. “But you aren't paying the rental.”

Sam shut their notebook. I expected them to argue. Instead they said, “Then don't do it for me.”

Priya waited for my recommendation.

I could have pointed at the washer and ended the morning. It would have been defensible. I looked instead at the two candidate reaches around the cap, the first thing all week that had made me want to call Leah without composing an apology first.

“Give it two weeks of probes and adaptation,” I said. “Cancel the comparison sessions. We record the change of plan today, before collecting a new result.”

“And if it keeps inventing blocks?”

“It doesn't get the arm.”

Priya cancelled the sessions. Sam reopened the notebook and drew a line beneath the tests we had already run. They wrote the washer at the top of the new list.

When I asked them to send me the successful cap overlay, they sent the wrong reach too. I put both in the message to Priya, then deleted the draft I had begun to Leah.

Chapter 14: The Contract

Week Thirteen

The corrected normalization defect was boring enough to make me reckless.

For two days we had watched the VLA stop short by the same neat distance. The model had been trained with one set of action scales and served with another. Once I found the mismatch, the fix looked embarrassingly clean: a pinned statistics file, a round-trip plot, commands that returned to the units the arm actually understood.

Sam ran the first replay and caught a camera-mask order error in the candidate configuration. We fixed that too. Then I changed the mask order one final time to match a new probe, saw Priya’s message about Leah’s delayed commissioning call, and decided I did not have twenty more minutes for the replay I had written into the rules.

The arm was speed-capped. The workspace boundary was enabled. Sam was at the independent console. I called it a reduced-speed check, as if changing the adjective changed what I had skipped.

It moved toward the red block, paused, and began a slow wrist turn toward nothing in the scene. The motion was not violent. That made it worse: I had enough time to recognize it and enough time to remember every reason I had given for replaying before live tests.

The independent workspace protection rejected the next command. The arm held its safe state. Sam stopped the run before I reached my keyboard.

For a second nobody spoke. Then Sam said, “Did you replay this exact mask order?”

The question was so small I tried to answer the larger one. I explained the normalization fix, the camera availability probe, the reduced cap. Sam repeated the question.

“No,” I said.

They took off the console headset. “You’re off the console for the rest of the day.”

“Sam—”

“You wrote the gate. You skipped it because somebody was waiting.”

Priya arrived halfway through the trace review, still wearing her coat. I expected her to ask how much time we had lost. Instead she read the run record, saw the blank replay field, and called Leah herself.

“I told her we were ready for a commissioning conversation,” Priya said after hanging up. Her voice had gone very level. “She moved staff time for that conversation. I am cancelling it.”

“The protection worked,” I said.

Priya turned on me with a fury I had earned. “Then thank the protection. Do not offer it as evidence that you were ready.”

She removed my name as sole commissioning owner. Until further notice, Sam held the console and any candidate needed a second sign-off that could be reproduced from the record. Leah replied to Priya’s message with one line: Please don’t reserve week sixteen for us until you can keep it.

Sam found me later on the loading dock, where I was pretending to enjoy the wind instead of avoiding the lab. They had their hands in the pockets of the same jacket they wore while running the fixture tests.

“I accepted the other job,” they said.

I made myself ask when. The answer mattered even though it should not have.

“This morning. I was already leaning that way before today.”

“You don’t have to explain it as a punishment.”

“I’m not.”

That was the part I believed. I could not tell whether what hurt was losing Sam or discovering that their decision had not revolved around my failure. The freight elevator opened behind us, empty and bright. Sam stepped inside when it arrived. I stayed on the dock until the doors had closed on the one person who now had my console access.

PART FIVE: ENGINEER THE REAL-TIME LOOP

Chapter 15: Where the Milliseconds Live

Week Fifteen

Sam kept the console at the bench. I had a borrowed laptop in the conference room, a view through the glass wall, and the purchase request Priya had returned with a single comment: Show me what this fixes.

After Sam declined the extension, she had put part of the reserved money into a nonrefundable month of accelerator time. Now I was asking her to buy more hardware. Inference had a fat tail; a faster machine was an answer I knew how to order.

“The rental is slower than we expected,” Sam said through the open door. “We could try another host.”

I opened the trace. Request, inference, reply. The bars weren't good, but they didn't explain the whole delay. I dragged the left edge of the view back until the camera timestamps appeared.

“Don't change hosts yet. Which image did that request use?”

Sam gave me the identifier. Four newer images had already arrived.

The camera delivered ten frames a second. The VLA adapter we had added in week eleven had its own queue, downstream of the latest-only receiver we had repaired months earlier. It was faithfully preserving frames until the model requested one. By then, it could be looking at a world about four hundred milliseconds old.

“That's the history the model needs,” Sam said.

“It takes a current view. Look at the input shape.”

They checked. Then they opened the adapter and found the default. “I left this in.”

“I reviewed it.”

We could both have stopped there, with a fair allocation of blame and no change in the next run. I asked Sam to replace the waiting observations with the newest available one, while leaving the committed action buffer intact.

“Send me the patch,” they said.

I did. They reviewed it and ran the recorded-input check before enabling the next bounded test. It was slower than reaching across and taking the keyboard. It also caught a missing counter in my first version.

The old-age plateau disappeared from the trace. The inference bars barely changed.

Priya came to the conference room. I showed her the before and after, then closed the purchase request.

“The rented machine still runs the model,” I said. “It didn't fix this. Neither would the one I asked you to buy.”

She looked through the glass at Sam, who was preparing the next reset.

“Can we use the remaining rental time for the recovery test?”

“Yes.”

“Then use it. I need an answer for Leah before Sam goes.”

At five, Sam sent the run record with both our names on it. Under their own they had written adapter correction and commissioning; under mine, trace diagnosis and patch.

I had a better phrase for my part. I left theirs alone and signed the record.

Chapter 16: The Seam

Week Sixteen

The repaired motion looked almost beautiful on video.

While a new inference request ran, the executor had to keep moving through a few actions already certain to reach the arm. Our earlier handoff treated the arriving plan as if those actions had never existed. Sam’s version preserved that committed prefix and let the new plan write only the tail after it. The wrist no longer snapped from the end of one idea into the start of another.

“Frozen prefix,” Sam said, checking the run record.

“Not frozen history,” I said. “Just what will happen before the answer arrives.”

It was the kind of correction I could still make without taking the keyboard. Sam let it pass.

We filmed three smooth placements. Priya watched the last one beside the unused visitor badges and said Leah could learn something from a real station, even if the adaptive system was not a product yet. I watched the quiet wrist path and wanted badly to agree.

Sam set up the displacement fixture instead.

“One more,” Priya said.

“The one more was on the sheet,” Sam said.

The fixture nudged the block after the committed prefix began. The arm continued smoothly. It was smooth all the way to the place where the block no longer was. It paused, reacquired too late, and stopped before the tray edge. Every protection did its job. The recovery did not.

The raw video was almost insulting. Without sound, it looked calmer than the old version. A visitor could have admired it. The run record said the object had left the reachable recovery window while the arm was politely continuing an action it had already promised.

Priya sat on the stool by the wall. “Leah has kept people free for this twice.”

“I know,” I said.

“She needs something that takes caps and blocks through a boring finishing step. She does not need our system to become a person.”

Leah answered Priya’s call that afternoon. Her team had installed a cheaper fixed fixture and a manual reset process for the slot we had asked them to hold. It would be slower than Priya wanted and far less interesting than Sam’s model. It would also be there when an operator came back from another job and needed it to work.

“We can visit later,” Leah said. “For the fixed-object version, when you know what it does alone.”

There was no anger in her voice to make our disappointment feel dramatic. She had simply given the floor space to something she could use.

Sam’s last day ended with a cardboard box under their desk and the usual loose collection of cables that nobody claimed until somebody left. They handed me the printed prefix test sheet. The corner had been folded so often it no longer lay flat.

“The file is in the protocol folder,” they said.

“I know.”

“I thought you might want paper.”

I did. Paper could not be quietly overwritten at midnight, and it did not offer me a place to make one more edit before anyone noticed.

At the door, Sam took the blue reset tray from the shelf, turned it once in their hands, and put it back exactly where it had been. “Don’t move that,” they said.

“I won’t.”

They had a new job on Monday. I knew better than to promise calls, consultations, or a future in which they returned because our project finally became interesting enough. The empty chair remained facing the console. On the bench, the arm waited beside a smooth video of a run we could not sell.

PART SIX: PRODUCE ORIGINAL EVIDENCE

Chapter 17: What Would Kill It

Week Nineteen

The chair Sam had used was better than mine. For three weeks I left it where it was, as if furniture could distinguish respect from sulking. On Monday I rolled it to my desk. Under the seat was a strip of tape with a list of keyboard shortcuts on it, all upside down.

Priya found me trying to read it.

“I have forty minutes,” she said. “Then I have to tell accounts what to do with the proposed new gripper order.”

“Cancel it.”

She stayed in the doorway. I had spent most of the previous week explaining why we needed that gripper.

“I want the money for a run.”

“Of what?”

I turned the monitor. Two lines climbed across a plot. The adaptive scheduler had begun as something I did in the evenings, after I had finished what Priya had asked me to do. It changed when we requested the next chunk of actions. The fixed executor asked on a regular beat; mine watched the slow end of recent inference times and asked sooner when it risked running out. It also paid attention when a new plan strongly disagreed with the old one.

The first version had reacted to every disagreement by asking again. A stochastic model obligingly supplied a different answer. Soon it was spending all its time demanding second opinions. Sam would have enjoyed that. I had typed a message to them, then seen the hour and saved it in a file instead.

After I restrained the request rate and kept the committed motion intact, the pilot runs improved. Under injected delay, the gap looked large enough to matter.

Priya pulled over my old chair.

“Did Leah ask for this?”

“No.”

“Then tell me why it helps Leah.”

I talked about delayed observations, uneven model response, and the cost of stopping a station whenever the world became inconvenient. She listened. When I finished she asked the same question again.

“She would get called back less often,” I said.

“If it works on her task.”

“Yes.”

“She bought the fixture. Her people are using it. We don't get to pretend she has spent three weeks standing in an empty room waiting for us.”

I knew about the fixture. I had avoided asking whether she liked it.

Priya put her phone on the table. The screen showed the gripper quote. Beneath it was a message about the demonstration trip we had tentatively booked, back when taking the arm somewhere still seemed the obvious next thing.

“I can fund a comparison,” she said. “Or another attempt to make a useful station. If you want the comparison, tell me what answer would make you stop.”

I had prepared a sample-size estimate, a reset schedule, and a paragraph about original contribution. I hadn't prepared that.

“If the gain is too small.”

“How small?”

We arrived at ten percentage points. It was a business threshold for paying the extra complexity of this branch, not a number delivered by statistics. I wanted to write that the scheduler would clear it. Priya wanted to know what we would do if it didn't.

“You could get a paper out of less,” she said.

“A finding.”

“All right. You could get a finding out of less. I still have to choose what we maintain.”

She approved the comparison and cancelled the trip as well as the gripper. I heard her on the phone in the corridor. She did not blame a supplier or say the dates had become difficult. She said we weren't ready to bring the machine.


I asked Sam for one review, with a fee and a time limit. They declined the fee, accepted the time limit, and sent the document back on Thursday with a photograph of a very small lunch in a very large cafeteria.

New job has excellent plates. Food pending.

They had found a flaw in the promise I had attached to the budget. Ninety trials per condition might reveal an improvement. It did not guarantee we could establish an improvement of at least ten points.

You have budgeted for “better” and written “better by enough,” they wrote. Those are different bets. Also, your reset spreadsheet forgets lunch. Again.

I called during the agreed half hour. They answered outside; a bus hissed in the background.

“More trials?” I said.

“Maybe. How many can you actually do?”

“Three hundred and sixty. Four cells, ninety each. Fixed and adaptive, clean and delayed.”

“Then write what that can answer.”

“You make it sound easy.”

“I am on a bus stop bench. It's easier from here.”

We kept two decision lines: evidence that it helped, and evidence that it helped enough. For the first, the interval had to clear zero; for the second, ten. Priya said an unresolved business case would still mean stopping the product branch. I asked her to put that in writing. She handed the page back for my signature first.

Sam's bus arrived before I could tell them about the chair.

Priya signed off the commissioning checks with me, then helped turn the proposal into a schedule we could actually run. The VLA checkpoint, task and apparatus stayed fixed across the comparison. A shuffled schedule and masked trial IDs kept us from giving either method the easy starts or generous scores. We froze the protocol and analysis before the first counted trial.

The success rule took longer than the scheduler description: released, fully inside the destination, still there ten seconds later, all within the trial limit. Priya argued for counting a block touching the outline. I said no, then discovered I had marked precisely that case a success in my pilot notes.

She waited while I corrected the pilot record. We used photographs to settle the boundary rule before the main run.

When we finished, I put my proposed report title back on the first page. Priya reached for her coat, read it, and stayed standing.

“You still call it a breakthrough.”

I selected the word. For a few seconds the blue highlight was the brightest thing in the room.

Then I deleted it and sent her the protocol.

Chapter 18: Original Evidence

Week Twenty-Two

By the last Saturday, I could put a block inside the reset outline without looking directly at it. This was not one of the skills I had hoped to acquire.

Sam arrived at nine with pastries and a new haircut. They looked older until they took off their coat and revealed the same faded shirt.

“I have until four,” they said.

“We should finish before then.”

They set an alarm on their phone.

Most of the three hundred and sixty trials were already collected. Priya had operated resets on two afternoons and left furious at how much concentration the job required. I had done the rest. Sam had agreed to the final session and a review of the masked scores, not to come back and become our missing employee.

They watched the apparatus checks without touching anything. At the first pause they reached for a tool that no longer lived in its old place, opened two drawers, and asked me where it was.

I had imagined their return differently. In the version I had entertained during the long evenings, everything would immediately become easier.

At the next break Sam opened the flagged videos. Trial forty-seven showed the gripper drawing a little circle above the block, retreating, and trying again. It finally placed the block inside the destination and let go.

“This passes,” they said.

“I scored it as a pass.”

“Then why is there a question mark?”

In the notes column I had written possible anomalous recovery.

“The motion is odd.”

“Yes.”

We watched it again. There was no broken sensor, no displaced fixture, no interruption by a person. There was an ugly success. I removed the question mark, leaving the edit in the history, and moved the observation to the motion notes where it belonged.

Sam had a correction too. In a batch they had scored remotely, they had accepted one block touching the boundary. We kept the original score and the correction, then checked all the ambiguous boundary cases against the same photographs before revealing conditions. They did not find this amusing.

“I can send it to you with a comment about lunch,” I offered.

“Please don't.”

We ate standing up because both chairs were covered in paperwork. Sam told me about their new commute and a colleague who brought elaborate leftovers and then wanted half of everybody else's lunch. I almost asked whether the work was more interesting. Instead I asked what the colleague cooked.

At two thirteen we closed the ledger. The script verified the trial count and brought the hidden condition labels back into the score table.

The stressed-condition result came first: seventy successes in ninety trials for the adaptive scheduler, fifty-six in ninety for the fixed RTC baseline.

I did the subtraction aloud. “Fifteen point six.”

Sam smiled. For a moment we had the same uncomplicated thing.

Then the interval appeared.

Difference in success: +15.6 percentage points.
Approximate 95% interval: +2.2 to +28.2 points.

“Above zero,” I said.

“Yes.”

On the sheet beside the keyboard, our other threshold was ten.

I opened the individual-rate intervals, as if there might be another route through the numbers. Their Wilson bounds were about sixty-eight to eighty-five percent and fifty-two to seventy-two. They overlapped, but their overlap was not our registered comparison. The Newcombe interval for the difference was already on the screen. I knew this. Sam let me finish looking.

The observed gain was greater than ten. The experiment supported a narrower superiority claim under our stated jitter condition. It did not establish the minimum gain we had agreed would justify the branch. It also didn't establish that the true gain was below ten. The distinction left plenty of space for another experiment and none for the sentence I wanted to send.

Priya arrived carrying the power lead I had accused her of losing a month earlier. It had been in the demonstration travel case. She laid it beside the monitor and read the result.

“So we stop,” she said.

“We stop the product work.”

“That's what I mean.”

“There is a result.”

“I can see it.”

I described the secondary traces. Fewer missed deadlines, a better tail of observation age, no clear worsening in the measured seams. Those were consistent with the mechanism we proposed. The clean-condition comparison remained uncertain. Inference hadn't become faster; we were spending the wait differently.

Priya listened until I began describing a larger run.

“I don't have another six weeks,” she said. “And I don't think you want the same six weeks again either.”

I looked at the outline on the bench. One corner had lifted and been pressed down so many times that its adhesive was black.

“Leah will read this as a failure.”

“Leah will read the recommendation. Are you recommending that she maintain this?”

Sam got up and carried the empty pastry bag to the bin. They were giving us room, but there was nowhere far enough to go.

I said no.

Priya asked me to write the recommendation myself. I had expected her to do that part, to take the finding I could defend and become responsible for what happened to it.

I wrote that we should preserve the research artifact and end this adaptive pilot branch. The report would include the estimate, the interval, the restricted task and hardware, and the unresolved practical floor. We could offer Leah a separate evaluation of the fixed-object station. We could not rename it to make the cancelled pilot appear delivered.

Sam read the paragraph. They changed nothing. Their alarm went off while I was attaching the ledger.

“Send me the link,” they said.

“Can you stay for—”

I stopped. Sam was already putting on their coat.

“Monday is fine,” I said.

After they left, Priya asked which video should accompany the report. I opened forty-seven. The gripper hesitated in its small circle, then tried again.

“The complete record is linked,” I said. “This one explains something I nearly removed.”

She watched it once, without asking for a cleaner take. Then she sent Leah the report, with my recommendation at the top.

Chapter 19: Notes for the Next Hire

Week Twenty-Four

Leah brought the fixture.

It fit in a canvas bag. She put it on our meeting table between the laptop and the remains of a muffin: a plate with pockets cut for the blocks, a small stop at one end, two clamps. One corner was polished where someone had been resting a hand.

“The thing that beat us,” I said.

“The thing we use,” she said.

She showed me how the pieces sat in it. I had imagined a crude stopgap. It was carefully made and had been altered twice. A notch let an operator lift a stubborn part without tipping the plate. Leah's colleague had suggested that after the first morning.

I ran a finger along the notch and asked permission too late.

“It's fine,” she said. “People are allowed to touch this one.”

She had agreed to spend the morning on our handoff because a fixed-object station could still remove one task from her rounds. It would need to fit around the fixture she already owned. She was not buying the adaptive system. Priya had made that clear in the invitation, and Leah had replied that she appreciated not having to have the same conversation in person.

The test was simple to describe. We would give her the written package and a clean account. First, she would reproduce the analysis from frozen data. Then she would work through the offline setup instructions for the limited station. Enabling the hardware still required the supervised checks. Questions were allowed; undocumented answers would count against the handoff.

Priya asked where I planned to sit.

“Here.”

“Try the kitchen.”

“I can keep quiet.”

Leah looked from one of us to the other. “I'd actually rather you went. Otherwise I'll spend the morning trying not to offend you.”

In the kitchen, someone had taken the last clean mug. I washed one, dried it, made coffee, and checked the time. Four minutes had passed.

At eleven minutes, Priya came in.

“Calibration path.”

I put the mug down. “It's an environment variable. I can—”

“We've stopped that attempt. Come and look.”

The analysis had reproduced. The station setup had failed before anything was enabled. Leah had followed the configuration example, which assumed an environment variable present in my ordinary shell. It was absent from hers. I could fix the immediate problem in one command, and immediately fix it again for every person who came after her.

“Would you have called me?” I asked.

“In production? No. I'd have gone back to the fixture and put this on my list.”

“Then called?”

“If something else didn't happen first.”

She said it without cruelty. I pictured the arm waiting beside a workbench for a person whose list kept acquiring more important things.

We ended the timed attempt with the failure recorded. I repaired the configuration so it named the calibration file explicitly, checked its identity, and produced an actionable error if it was absent. Priya made a fresh account. While I worked, Leah took a call about a delivery at her own workplace. She knew exactly which door the driver meant before the person on the other end finished explaining.

On the repeat, I went back to the kitchen. This time I took the muffin.


By lunch Leah had reproduced the figures, passed the offline setup, and found a second omission in the written camera check: verify alignment had no named reference. We repaired that instruction and repeated the affected check. The first failed attempt remained in the handoff record. Fixing it had not made eleven minutes disappear.

With the station still disabled, she walked the physical setup with Priya and me. She asked which photograph showed the accepted camera mount, where the current gripper-pad measurements lived, and whether the marked workspace applied to the proposed objects. These were ordinary questions. They took us an embarrassingly long time to answer from the package instead of memory.

During the supervised demonstration, we used the fixed-block baseline. Leah watched two placements, then asked us to stop the sequence at the documented pause and show the reset procedure. She had brought a notebook small enough to fit in a pocket. At each step she wrote down what she would have to leave her other work to do.

“You're timing the wrong person,” I said, before I could stop myself.

She looked up.

“Sorry,” I said. “You're timing the person we left out.”

The reset was better than it had been in week five. It still asked too much of her. We walked through one proposed change using the empty fixture on the table, with the robot disabled: where a full tray could come out, where the replacement would seat, which check could be made obvious instead of requiring a terminal.

For the first time that morning she moved her chair closer.

“I can give you two hours with our technician next month,” she said. “To work out whether that exchange can be made simple enough. That's an evaluation, not an installation date.”

Priya wrote it down. I started to explain how quickly we might do it, and then looked at Leah's notebook. One of the entries was just find the right tray.

After lunch she returned to the report. She watched forty-seven, the wandering pick, and one of the baseline failures. Then she checked the result table against the reproduced figures.

“The graph is useful,” she said. “It tells me why you aren't bringing that version.”

I had worked for months to make the graph useful in almost any other way.

Before she left, Leah asked if she could borrow our copy of the setup instructions to mark on the train. I said she could keep it. She said she didn't want our only copy, and for a moment I couldn't tell if she was joking.

We helped carry the fixture downstairs. It was lighter than the arm and much easier to get through the door.


Sam called that evening. They had read the report on their commute and wanted their name corrected in the contribution section.

“What did I get wrong?”

“You put me under data collection. I designed the recovery protocol.”

“You're also under methods.”

“Then remove ‘assisted’.”

I found the sentence. It was a word I could have defended, if I wanted to spend the evening becoming a worse person.

I changed it and read the paragraph back. Sam asked for the link, checked it while we were still on the call, and said yes.

I told them about Leah and the calibration path. They laughed so hard I had to wait.

“You did the clean-account rehearsal,” I said.

“I also know your passwords to reality. That's why we needed Leah.”

“You could have found it.”

“Yes,” they said. “I could have.”

It was a relief to hear them own that without making it a performance. I told them about the chair. They said the shortcuts were upside down because they had read them by leaning backward until their head was under the seat.

“Why didn't you just turn the tape around?”

“I'd already stuck it on.”

After we hung up, I opened the handoff notes. I wrote down the environment variable, the missing reference, and the instruction that had depended on someone pointing. In another section I recorded the skipped replay, including the reason I had given myself for skipping it. There was no shortage of material.

At six Priya stopped by to say she was leaving. The arm was disabled, the last checks saved, the room ready for the next person. I had been considering a small change to the scheduler, something we might try if there was time.

“Coming?” she said.

I put the idea in the archive, shut the laptop, and followed her out before she reached the stairs.

Epilogue: Headroom

Three weeks later, Leah sent a photograph of the tray exchange prototype. A gloved hand held the removable tray halfway out of its seat. Someone had drawn a large arrow on the photograph and written fingers need to go here.

There was no robot in the frame.

I forwarded it to Sam, then remembered they weren't on this work anymore and added: No reply needed. Thought you'd enjoy what the future looks like.

They replied at lunchtime with a picture of a lavish cafeteria salad on a small plate.

Priya and I took the arrow to the afternoon review. The proposed station still needed its own commissioning and evaluation at Leah's site, and the new tray did not fit the old motion plan. We spent most of the hour looking at a person's hand. I had once expected this stage of robotics to involve more robots.

On my laptop, Marcus's forty-three-second clip was still in the archive. Beside it were the raw takes he had sent, our failed handoff attempt, and the completed experiment. I hadn't watched it in weeks. I opened it.

The arm made its perfect pick. Forty-three seconds, including the pause that had once seemed like confidence.

I let it finish. Then I closed it and opened Leah's photograph.

When Sam called that weekend, they asked how the project was going. I told them about the tray, and then asked whether they had found a place to live nearer the new job. They said they had viewed a flat with a kitchen so narrow you had to close the oven to open the fridge.

“Could they move the fridge to—”

“I've put a deposit down,” Sam said. “I was trying to tell you.”

I sat down. “Do you like it?”

“The windows are enormous.”

I asked them to tell me about the windows.

Concept crosswalk & further reading

This brief map points from the fiction to course ideas. It does not reproduce every example, equation, lab, or qualification in the full course; use the linked original chapter and course for the complete treatment.

  1. Chapter 1: The Arm — Actuator interfaces, impedance control, and an illustrative gravity torque budget. Original notes ↗
  2. Chapter 2: Plausible Garbage — Coordinate frames, rigid transforms, gripper conventions, and geometric error. Original notes ↗
  3. Chapter 3: The Time Thief — Clock reconciliation, timestamps, observation age, latency, and jitter. Original notes ↗
  4. Chapter 4: Silence on the Bus — ROS 2 discovery, QoS compatibility, callback execution, and process boundaries. Original notes ↗
  5. Chapter 5: Layers, Not Vigilance — Independent stop layers, watchdogs, workspace checks, and repeatable resets. Original notes ↗
  6. Chapter 6: The Exit Gate — Episode provenance, logging, replay, calibration versions, and operational handoffs. Original notes ↗
  7. Chapter 7: The One Exactly-Correct Function — A classical planning baseline, inverse kinematics, conditioning, and model mismatch. Original notes ↗
  8. Chapter 8: The Lying Eye — Camera mounting, calibration, held-out physical checks, and systematic bias. Original notes ↗
  9. Chapter 9: The Bet — Grasp mechanics, uncertain contact, refusal, reset, and operator workload. Original notes ↗
  10. Chapter 10: The Tube — Behavioral cloning, distribution shift, demonstration coverage, and data conventions. Original notes ↗
  11. Chapter 11: Chunks and Coin Flips — Action chunks, multimodal demonstrations, commitment, and selection of demo clips. Original notes ↗
  12. Chapter 12: Statistics or It Didn’t Happen — Exploratory comparisons, uncertainty, evaluation design, and premature claims. Original notes ↗
  13. Chapter 13: The Giant — Vision-language-action models, separate language and action probes, and transfer limits. Original notes ↗
  14. Chapter 14: The Contract — Normalization and action contracts, observation masks, replay, and commissioning gates. Original notes ↗
  15. Chapter 15: Where the Milliseconds Live — Critical-path traces, observation queues, committed actions, and latency distributions. Original notes ↗
  16. Chapter 16: The Seam — Real-time chunking, frozen prefixes, filtering, jerk, seams, and recovery. Original notes ↗
  17. Chapter 17: What Would Kill It — Adaptive scheduling, confounds, power planning, preregistration, and decision rules. Original notes ↗
  18. Chapter 18: Original Evidence — Condition-masked evaluation, Wilson and difference intervals, and bounded conclusions. Original notes ↗
  19. Chapter 19: Notes for the Next Hire — Reproducible artifacts, environment records, failure videos, and independent reproduction. Original notes ↗

Further reading

A fiction companion to the Robocourse robotics curriculum. The original long edition is available for readers who want its fuller lesson-by-lesson treatment.