PhysicalTaskSpec · floor cleaning, task A1TAP v0.2 · preview, subject to change
{
"schema": "teleport.tap.physical-task",
"version": "0.2.0",
"title": "Clean dining-room floor, zone B",
"category": "CLEAN",
"requester": {
"requesterType": "DEVICE",
"principal": { "principalType": "ORGANIZATION" },
"mandateId": "mdt_bistro12_cams_v1",
"authentication": { "method": "DEVICE_ATTESTATION" }
},
"trigger": { "type": "SENSOR_EVENT", "sourceRef": "cam-dining-02" },
"fulfillment": {
"mode": "DIRECT",
"designatedPerformers": [{ "fleetId": "staff_bistro12_floor", "actorType": "HUMAN" }]
},
"completionConditions": [
{ "type": "SEMANTIC", "id": "floor_clean",
"question": "Is the floor in zone B free of spills, debris and standing liquid?",
"verificationMethod": "JEV", "minimumEvidenceOrigin": "ATTESTED_DEVICE" },
{ "type": "STATE", "id": "zone_unobstructed",
"subjectRef": "zone:dining_b", "property": "obstructed", "expected": false,
"verificationMethod": "PERCEPTION" }
],
"evidenceProfiles": [{
"actorTypes": ["HUMAN"],
"requiredEvidence": [
{ "id": "before_frame", "type": "IMAGE", "acceptedOrigins": ["ATTESTED_DEVICE"] },
{ "id": "after_frame", "type": "IMAGE", "acceptedOrigins": ["ATTESTED_DEVICE"] },
{ "id": "after_photo", "type": "IMAGE", "acceptedOrigins": ["TELEPORT_CAPTURE"] }
]
}],
"verificationPolicy": { "policyId": "facility-clean-v1", "version": "1.0" },
"economics": {
"performerPayUsdCents": 500,
"requesterPayment": { "method": "MANDATE_BUDGET", "maxSpendUsdCents": 4000 }
},
"popw": { "required": true, "assurancePolicyId": "VERIFIED", "proofTiming": "WORKFLOW" },
"timing": { "expiresInSeconds": 900, "priority": "HIGH" }
}
- Watch rule
- The standing instruction behind the task: this camera, this zone, this condition, this template, this mandate. Its hash goes in the trigger, so the proof shows why the task existed.
- De-dup + cooldown
- One open task per condition, not per detection, and a quiet period after it's done.
- Ambient redaction
- Always-on cameras see bystanders. Evidence says what was redacted, and the proof records that it was.
- Goods vs. work
- The drinks are inventory, not labor. Pass-through goods sit apart from performer pay, so the receipt stays about work.