One spill. One proof, start to finish.
Spills are small, frequent and a slip waiting to happen. Mopping is the easy part. The hard part is showing that the floor was dealt with, and when.
- Who asks
- The moisture sensor in aisle 7, under a mandate from the store. The store answers for every task it posts.
- Who does it
- The store's floor-scrubbing robot, run as a service. On-shift staff if the robot is busy or can't get there.
- Evidence
- The sensor's own readings, the robot's coverage map and odometry, and an after-photo from the shelf camera or a staff phone.
- Who pays
- The store: $12 per spill, from its robot-service budget, paid on accept. Example figure.
- You get
- One proof per spill: detected, cleaned, verified dry, with the times.

The sensor saw the spill first. It also knows when the floor is dry.
Almost everything here is measured, not judged: a reading, a path, a timer. One photo question asks whether the floor looks clear.
Run floor robots across your stores? Talk to us
Fairway Market #14 is a fictional store. The robot is unbranded. Prices are illustrative.
Wet, covered, dry, held.
The sensor's own reading tells the story: a spike at the spill, the robot's passes across the zone, the reading back under the dry line, and ten minutes of staying there.
Dry for ten minutes, not dry for a moment. A quick wipe that leaves a damp film climbs back over the line, and the task isn't accepted.
From a wet reading to a dry floor, in six steps.
The sensor asks, the robot does the work, and the sensor checks it. A person steps in only for the sign and for anything the robot shouldn't touch.
- 01
Detect
Moisture over the line in aisle 7 for 30 seconds. The sensor posts the task under the store's mandate.
- 02
Sign first
On-shift staff get a ping to put a wet-floor sign down. Nothing starts cleaning until it's there.
- 03
Robot takes it
Direct to the store's floor robot, $12. Busy or blocked for five minutes? It goes to on-shift staff instead.
- 04
Clean
The robot scrubs zone 7B in overlapping passes. Its coverage map and odometry are the record.
- 05
Dry, and held
The sensor drops under the dry line and stays there for ten minutes. A damp film climbs back and fails.
- 06
Prove
An after-photo confirms the floor looks clear. One proof covers detected, cleaned and verified dry.
Five readings and one look.
Five checks read the sensor, the robot's logs, the staff app and the clock. One asks a model whether the after-photo shows a clear floor. A versioned policy, not the model, makes the decision.
| Check | How | By | Result |
|---|---|---|---|
| The spill was real | Moisture over the line for 30 seconds at sensor A7-S2, so a knocked mop bucket doesn't post a task. | Rule | Passed |
| Sign before cleaning | Staff confirmed the sign in the app, at the aisle, before the robot entered the zone. | Rule | Passed |
| Zone covered | The robot's coverage map overlaps at least 95% of zone 7B, and its odometry matches the map. | Rule | Passed |
| Back to dry | The sensor reading falls under the dry line after the last pass. | Rule | Passed |
| Held dry | No reading over the line for ten minutes after that, by the sensor's own clock. | Rule | Passed |
| Floor looks clear | The after-photo shows no liquid or residue in zone 7B, with the sign still in place. | Model | Passed |
Robot blocked by a shopper or a pallet? The task goes to on-shift staff with the same checks. The reading still has to fall, and stay down.
§ 05 · Shoppers in the aisle
The sign goes down first. The robot gives way.
Spills happen during opening hours, with people around. The sign goes down before cleaning starts. The robot slows near people and stops when someone is close. Anything sharp or hazardous goes to a person.
- Posts as
- Moisture sensors, aisles 1–12
- Can ask for
- Clean, then confirm dry
- Who first
- Floor robot, then on-shift staff
- Limits
- $12 a spill · $200 a week
- Never
- Glass, chemicals, biohazards: staff only
- Always
- Sign down before cleaning starts
The sensor asks under it. The robot only does the work. Its hash goes into every proof from this store.
What needs care.
A machine asks, a machine does the work, and people are walking past the whole time.
Glass and chemicals: people only
A wet reading doesn't say what spilled. Broken glass, cleaning chemicals and bodily fluids go to trained staff, never the robot.
Not every splash is a task
A reading must stay over the line for 30 seconds, and each zone has one open task at a time. A dripping freezer door shouldn't post twenty jobs.
Sensors drift
A sensor that reads wet on a dry floor is a finding, not a task. The robot's after-pass and the photo show which one is wrong.
The robot can't always reach it
Pallets, carts or a crowd in the aisle. After five minutes blocked, the task goes to on-shift staff with the same checks. The sensor doesn't mind who held the mop.
Cameras in a shop
The after-photo is cropped to the floor zone, with faces blurred, and kept only as evidence. Shoppers aren't the subject.
Not a liability shield
The proof shows when the spill was found, cleaned and dry. It doesn't say nobody slipped before that, which is why the times are on the receipt.
Found, cleaned, dry, with the times.
If someone slips, the question is what the store knew and when it acted. The receipt answers with the sensor's timestamps, not a clipboard on the back of a door.
Dollars pay the robot service. The proof shows the work. Nobody needs $PORT to post a spill or clean one up.
- Task
- Clean aisle 7, confirm dry
- Requested by
- Moisture sensor A7-S2, for the store
- Performed by
- Robot · store floor scrubber
- Evidence
- Sensor trace, coverage map, after-photo
- Detected → dry
- 14:02 → 14:11
- Held dry
- 10 min
- Policy
- spill-response v1.0
- Decision
- Accepted
- Paid
- $12.00 · robot service
STATUS: FINAL
Sensor readings: hashed into the proof. The after-photo stays with the store.
For builders.
A DEVICE requester with a SENSOR_EVENT trigger, a CLEAN task in DIRECT fulfillment to a robot, and evidence that's mostly ATTESTED_DEVICE and robot telemetry. A person is needed only at the edges.
PhysicalTaskSpec · aisle 7 spillTAP v0.2 · preview, subject to change
{
"schema": "teleport.tap.physical-task",
"version": "0.2.0",
"title": "Clean the spill in aisle 7, then confirm dry",
"category": "CLEAN",
"requester": {
"requesterType": "DEVICE",
"principal": { "principalType": "ORGANIZATION" },
"mandateId": "mdt_fairway14_floor_v1",
"authentication": { "method": "DEVICE_ATTESTATION", "keyId": "a7-s2-k1" }
},
"trigger": { "type": "SENSOR_EVENT", "sourceRef": "sensor:fairway14:A7-S2", "eventHash": "0x7c1d…e9" },
"fulfillment": {
"mode": "DIRECT",
"designatedPerformers": [{ "fleetId": "fairway14_floor_robots", "actorType": "ROBOT" }]
},
"environment": { "siteRef": "site:fairway14", "zoneRef": "site:fairway14:aisle7:zone_b" },
"completionConditions": [
{ "type": "STATE", "id": "sign_down", "subjectRef": "sign:aisle7",
"property": "placed", "expected": true, "verificationMethod": "DETERMINISTIC" },
{ "type": "MEASUREMENT", "id": "coverage", "metric": "zone_coverage",
"unit": "bps", "min": 9500, "verificationMethod": "DETERMINISTIC" },
{ "type": "DURATION", "id": "held_dry", "eventRef": "sensor:fairway14:A7-S2:dry",
"minMs": 600000, "verificationMethod": "DETERMINISTIC",
"minimumEvidenceOrigin": "ATTESTED_DEVICE" },
{ "type": "SEMANTIC", "id": "floor_clear",
"question": "Does the after-photo show a clear, dry floor in zone 7B with the sign in place?",
"verificationMethod": "JEV" }
],
"verificationPolicy": { "policyId": "spill-response-v1", "version": "1.0" },
"safety": { "policyId": "store-floor-people-first-v1" },
"economics": {
"performerPayUsdCents": 1200,
"settlementAssets": ["FIAT"],
"requesterPayment": { "method": "MANDATE_BUDGET", "maxSpendUsdCents": 20000 }
},
"popw": { "required": true, "assurancePolicyId": "VERIFIED", "proofTiming": "WORKFLOW" },
"timing": { "expiresInSeconds": 1800, "priority": "HIGH" }
}Proposed additions this use case surfaced
- Fallback performers
- An ordered list on direct fulfillment: the robot first, then on-shift staff after five minutes blocked. Today that's two linked tasks.
- Hazard classes
- A hazard tag on the trigger or a finding (glass, chemical, biohazard) that rules robot performers out by policy, not by hope.
- Response times
- Detected-at and resolved-at as first-class proof fields. For a spill, the timing is the point.
- Sensor health
- A wet reading on a dry floor recorded as a device finding, so a drifting sensor gets fixed instead of obeyed.
Example economics: $12 per spill, paid to the robot service on accept, from a $200 weekly budget the store sets. Verification and the proof are billed per task. Developer docs
Retailers and facility managers
Know every spill was handled, and when.
Tell us about your floors, sensors and robots. We're working with design partners on store operations.