Fabric didn't stop the robot when the verification window was still open.

No warning banner. Just the receipt printing while the window stayed open.

The actuator arm had already crossed the safety rail. Servo pitch climbed as it took load... not the soft positioning whine. higher note you get when the motor is actually carrying something. The local controller marked motion complete. Fabric's task-bound state transition posted clean into the coordination kernel.

Receipt printed right after.

provisional_cert: true

verification_window: open

verification_window_age: 11.2s

Provisional is still a deployable state. That's the problem.

I watch the trace scroll. Sensor bundle attached. Identity envelope intact. Hardware key matches Fabric modular agent-native infrastructure's machine identity registry snapshot from earlier in the epoch.

Still provisional.

Validator arbitration is already touching the bundle again. No accusation. No dispute entry. Just the proof envelope getting pulled back into the arbitration queue because the verification dispute surface hasn’t closed yet.

verification_cycle: running

arbitration_slots: 3 active

The robot places the component before the validator cluster finishes the scan. Nothing dramatic. Just overlap.

My cursor hits “deploy” then stops on the second click. I didn't mean to hesitate. I did. Anyways.

Fabric arbitration worker flags the bundle once, then drops it back into re-evaluation. Not “wrong.” Just not matching first-pass expectations.

It isn’t the digest. Same bytes.

Index ordering.

Same data, packed in a different sequence. Enough to trigger another replay while the actuator resets its arm and the next cycle starts warming.

The coordination kernel already recorded the action certificate under mission history. sitting under a provisional branch, not hardened under the consensus root.

That changes what I’m allowed to build on.

I try to attach the next job to the dependency graph out of habit. It accepts the payload for a moment, then returns it with one field flipped:

parent_certificate: provisional

Nothing fails.

... Graph just doesn’t move.

The robot is physically ready. Fabric won’t let me build on it yet. The regulated tag doesn’t reject the deploy either... it just marks the parent unsafe to inherit. Until the parent hardens, the next job can execute, but it can’t count as verified state.

Validator worker two finishes its pass. Worker three pulls the same proof bundle again anyway, comparing the sensor-signed digest against its cache snapshot.

Second replay.

Same task ID.

Same envelope.

Different ordering expectation.

The proof isn’t late... Just. not closed.

And Fabric protocol doesn't close it because the metal already moved.

The actuator log is already rolling into the next cycle window. Motors doing that slow pre-spin, torque test, the quiet “I’m about to go again” behavior. My console is still stuck on the same provisional parent.

I don’t submit the follow-up task. Not yet. On me.

I stage it in the coordination queue and leave it there. One extra pause. A small operator mutation. I’d rather delay execution than manufacture a dependency chain on a parent the network hasn’t finished certifying.

Arbitration queue shrinks.

verification_window: open

Still open.

The deploy clock doesn’t care about my preference. The regulated environment tag is waiting on a hardened parent, and right now the parent is a provisional receipt with a clean action and an unfinished window.

@Fabric Foundation validator cluster is still reading.

The robot is still holding the next component in position, not moving, not failing, just waiting for an envelope I haven’t sent. My thumb hovers over submit.

verification_window: open

Deploy clock hits T-0.

I ship anyway.

#ROBO $ROBO