Use case · worked example

One trailer. Three kinds of hands.

A trailer backs up to dock 6 and the door sensor posts the unload. Two humanoids take the standard cartons, a person handles the crushed, oversized and hazmat ones, and robots move the pallets. The proof is one count against the manifest, with each team member's share on the record.

A mixed team unloads trailer 4471 against its manifestA loading dock from above. A trailer is backed up to dock 6, full of cartons. The door sensor fires and an unload task posts: 312 cartons on the manifest. Two humanoid robots work the cartons out of the trailer, front to back. Three crushed cartons go to a person at the exception table in a separate zone. A small robot shuttles pallets along a marked lane to the rack. Four checks tick: 309 on pallets plus 3 damaged equals 312, pallets in their slots, zones held, trailer empty. Verified, and a receipt prints: reconciled, 312 of 312, 3 to the carrier claim.TRAILER 4471DOCK 6ZONE HZONE PEXCEPTIONSSTAGINGAMR LANERACK B · 6 SLOTSUNLOAD · DOCK 6TRL 4471MANIFEST 312CHECKS309 + 3 = 312PALLETS SLOTTEDZONES HELDTRAILER EMPTYVERIFIEDRECONCILED312 / 3123 → CARRIER
Example · fictional dock · counts illustrative
§ 01

A sensor asks. A mixed team does it. The manifest checks it.

A trailer is 312 cartons and a piece of paper that says so. The work is getting them out. The proof is a number that matches, and a record of who handled what.

Who asks
The dock door sensor, the moment trailer 4471 is closed and sealed at the door. It posts under the warehouse's mandate, and the warehouse answers for it.
Who does it
One team. Two humanoids take the standard cartons. A person takes the crushed, oversized and hazmat ones. Robots (AMRs) carry the pallets to the rack.
Evidence only
The warehouse system supplies the manifest to count against. The dock camera shows the trailer empty at the end.
Evidence
A barcode scan for every carton, the AMRs' logs, a photo of every damaged carton, and the dock camera's last frame.
Who pays
The warehouse runs it in-house. A shortage the carrier caused is charged back to the carrier, with the proof attached.
You get
One count against the manifest, and a record of who handled which carton.
Example · photo to come

The manifest says 312. The proof says 309 on pallets, 3 set aside, and who touched every one.

The short version

Humanoids take the standard cartons because there are hundreds of them and they're all alike. A person takes the awkward ones because they aren't. The sensor only asks; the warehouse system and the dock camera only supply evidence.

Harbor Row DC, dock 6 and trailer 4471 are fictional. Figures are illustrative.

§ 02

309 + 3 = 312, and who did what.

The proof has two halves. The count reconciles with the manifest. And because the team is mixed, each member's share goes on the record: for the person's pay, for everyone's reputation, and so the fleet can learn from its own cartons.

MANIFEST312−DAMAGED3→ FINDING · CARRIER CLAIM=ON PALLETS309CARTONS HANDLED · 312HUMANOID A · 1414,519 BPSHUMANOID B · 1324,231 BPSPERSON · 391,250 BPSPALLETS MOVED · AMR6 / 6 IN SLOT · OWN LINE, OWN UNITSHARES IN BASIS POINTS OF CARTONS HANDLED · SUM 10,000

Shares are basis points of cartons handled. The AMR's line counts pallets, a different unit, so it isn't squeezed into the same bar. Team member shares aren't in TAP v0.2 yet. See § 08.

§ 03

From sealed door to reconciled count, in six steps.

One task, one team, one manifest. The sensor starts it and the count ends it. Everything between is scanned.

  1. 01

    Seal

    Door closed, trailer sealed at dock 6. The sensor posts the unload, and the warehouse system attaches the manifest.

  2. 02

    Team

    One task, one team: two humanoids, one person, the AMRs. Each with its own zone and its own kind of carton.

  3. 03

    Scan

    Every carton is scanned as it's picked. A carton that isn't scanned didn't happen.

  4. 04

    Set aside

    Crushed, oversized or hazmat goes to the person at the exception table, photographed, never palletised blind.

  5. 05

    Move

    AMRs take each finished pallet down the lane to its slot. The slot scan closes the pallet.

  6. 06

    Reconcile

    On pallets plus set aside must equal the manifest. Then the dock camera confirms the trailer is empty.

§ 04

Five rules and one look.

Counting is arithmetic, and scans don't have opinions. Only one check asks a model: is the trailer really empty in the dock camera's last frame? A versioned policy, not the model, makes the call.

CheckHowEvidenceByResult
The count reconciles309 scanned onto pallets + 3 set aside = 312 on the manifest. No duplicate scans.Actor telemetryRulePassed
Every carton scannedOne pick scan per carton, each tied to the member who picked it.Actor telemetryRulePassed
Damage on recordA photo of each damaged carton, with its barcode, before it leaves the table.Teleport captureRulePassed
Pallets in their slotsEach pallet's location scan matches its assigned slot in rack B.Actor telemetryRulePassed
Zones heldNo person was in zone H while a humanoid moved. Pauses logged within half a second.Actor telemetryRulePassed
Trailer emptyThe dock camera's after-frame shows an empty floor, door to nose.Attested deviceModelPassed

Count off by one? The unload goes to review with the gap named, not a quiet pass. A shortage the carrier caused is a finding: the unload is still accepted, and the claim goes to the carrier.

§ 05 · Separation

One zone per kind of hand.

Humanoids and people inside the same trailer is the risky part. The task sets the zones before anyone moves: humanoids in zone H, people in zone P, AMRs in their lane. A person who steps into zone H pauses every humanoid in it, and a person, not the robot, clears it to restart.

ZONE H · HUMANOIDSZONE P · PEOPLEEXCEPTIONSHAZMATPAUSEDPAUSEDAMR LANE · PALLETS ONLY
Site rules · Dock 6Active · v3
Humanoids
Standard cartons, zone H only
People
Crushed, oversized, hazmat. Zone P
AMRs
Marked lane, pallets only
Crossing
Person in zone H: humanoids pause
Hazmat
People only. Never a humanoid
Restart
A person clears the zone, not the robot

Its hash goes into the proof. A breach is a finding, not a footnote.

§ 06

What needs care.

A mixed crew is safe and fair only if the task says who goes where, who handles what, and who gets credit.

  • Shared space, separate zones

    Humanoids and people don't work the same square metre. Zone H for humanoids, zone P for people, a lane for the AMRs. A person in zone H pauses every humanoid in it.

  • Hazmat goes to people

    A hazmat-labelled carton is never a humanoid's to handle, whatever its size. The task says so as a rule, not a preference.

  • Credit where it's due

    A mixed team needs each member's share on the record: for the person's pay, for everyone's reputation, and so a fleet can learn from its own cartons.

  • A shortage isn't a failed unload

    If the carrier shipped 310, the crew still unloaded the trailer. The unload is accepted; the shortage is a finding that goes to the carrier claim, with the proof.

  • Not a race against robots

    Shares record who did what. They don't rank a person against a humanoid on speed, and the warehouse's mandate can't use them that way.

  • The manifest is fixed first

    The count is only as good as what it's counted against. The manifest's hash goes into the task at the start, so nobody can quietly edit it to match.

§ 07

One receipt for the whole trailer.

The warehouse gets a count it can send the carrier, and a split it can pay and learn from. The carrier gets a shortage claim with the proof behind it, not a spreadsheet.

This one is in-house, so no money moves per task. Where it does, dollars pay for work. Nobody needs $PORT to unload a trailer.

PROOF OF PHYSICAL WORKclaim · example
VERIFIED

Task
Unload trailer 4471 · dock 6
Requested by
Dock door sensor, for the warehouse
Performed by
Humanoid ×2 + person + AMRs
Shares
A 45.2% · B 42.3% · person 12.5%
Evidence
Scans, AMR logs, dock camera
Count
309 + 3 damaged = 312
Policy
trailer-unload v1.0
Decision
Accepted
Finding
3 damaged → carrier claim

STATUS: FINAL

Shares record who handled what. They aren't a ranking of people against machines.

Example receipt. Fictional dock; counts illustrative.
§ 08

For builders.

A SENSOR_EVENT trigger from a DEVICE requester, DIRECT fulfillment to one MULTI_ACTOR performer, and a COUNT condition against a committed manifest.

PhysicalTaskSpec · trailer 4471TAP v0.2 + v0.3 draft · preview, subject to change
{
  "schema": "teleport.tap.physical-task",
  "version": "0.2.0",
  "title": "Unload trailer 4471 at dock 6 against manifest",
  "category": "UNLOAD",
  "requester": {
    "requesterType": "DEVICE",
    "principal": { "principalType": "ORGANIZATION" },
    "mandateId": "mdt_harborrow_dock_v3",
    "authentication": { "method": "DEVICE_ATTESTATION" }
  },
  "trigger": { "type": "SENSOR_EVENT", "sourceRef": "dock:6:door_closed_sealed" },
  "fulfillment": {
    "mode": "DIRECT",
    "designatedPerformers": [{ "fleetId": "crew_dock6_mixed", "actorType": "MULTI_ACTOR" }]
  },
  "environment": {
    "siteRef": "site:harbor_row_dc:dock_6",
    "referenceAssets": ["manifest:trl_4471"]
  },
  "actorRequirement": {
    "permittedActorTypes": ["HUMANOID", "HUMAN", "ROBOT"],
    "requiredCapabilities": [
      { "capability": "HANDLE.HAZMAT", "attributes": { "actorType": "HUMAN" } }
    ]
  },
  "completionConditions": [
    { "type": "COUNT", "id": "reconciled", "subjectRef": "manifest:trl_4471",
      "expression": "scanned + damaged == manifest", "verificationMethod": "DETERMINISTIC" },
    { "type": "LOCATION", "id": "pallets_slotted", "subjectRef": "pallet:*",
      "zoneRef": "site:harbor_row_dc:rack_b", "relation": "IN", "verificationMethod": "DETERMINISTIC" },
    { "type": "STATE", "id": "trailer_empty", "subjectRef": "trailer:4471",
      "property": "contents", "expected": "EMPTY", "verificationMethod": "PERCEPTION",
      "minimumEvidenceOrigin": "ATTESTED_DEVICE" }
  ],
  "safety": { "policyId": "dock-zones-h-p-lane-v1" },
  "findings": { "emit": ["SHORTAGE", "DAMAGE"], "affectsAcceptance": false },
  "economics": { "performerPayUsdCents": 0, "settlementAssets": ["FIAT"] },
  "popw": { "required": true, "assurancePolicyId": "VERIFIED", "proofTiming": "WORKFLOW" }
}

Proposed additions this use case surfaced

Team member shares
MULTI_ACTOR performers with each member's share: who did which part, a shareBps for pay, and a per-member commitment in the evidence. v0.2 has the team, not the split.
Separation zones
Zones per actor type in the safety policy, with the pause rule and who may restart. Checked from the robots' own safety logs.
Reference assets
The manifest committed to the task before work starts, so the count is against something that can't move.
Findings that don't block
A shortage or damage finding that goes to an outcome event (the carrier claim) while the unload itself is accepted.
Learning credit
Per-member evidence a robot fleet can pull for training: its own picks, its own misses, under the task's rights policy.

Example economics: no per-task pay in-house; the warehouse pays for verification and the proof. A shortage chargeback to the carrier carries the proof with it. Developer docs

Warehouse and 3PL operators

Running people and robots on the same dock?

Tell us about your docks. We're working with design partners on mixed-crew operations.