# PICO 4 Ultra Enterprise · Handling Rules

Operational reference for the Immersive Commons PICO lending program.
The human-rendered page lives at https://www.immersivecommons.com/floor10/headsets/handling.

Sister machine-readable feeds:
- Agent manifest: https://www.immersivecommons.com/.well-known/ai-agent.json
- Agent card: https://www.immersivecommons.com/.well-known/agent-card.json
- MCP discovery: https://www.immersivecommons.com/.well-known/mcp.json
- llms.txt: https://www.immersivecommons.com/llms.txt

Lending program scopes (mint at /floor10/agent-console or via the RFC 8628
device-code flow at /api/agent/signup/start):
- `headsets:read` — inventory + own waiver + own active lend
- `headsets:lend` — sign waiver + checkout + return
- `headsets:report_damage` — file damage / hygiene / loss incidents
- `admin:headsets_review` — operator-only force-return + OOS + resolve

Floor-only policy through 2026-06-14. Units do not leave Floor 10.

## Three rules that void the warranty (read this first)

These three are the only rules that can brick a headset in seconds. Every
other rule on this page is gradient cost; these three are step-function.

1. **No sunlight.** Windowsill, car footwell, balcony, even briefly. The
   lenses focus sun onto the OLED panel and burn a permanent yellow spot.
   The most expensive way to break a PICO is to leave it on a table near
   a sunlit window.
2. **No alcohol on lenses.** Not isopropyl, not ethanol, not hand
   sanitizer residue from your hands, not glasses cleaner, not Windex.
   They strip the anti-reflective coating permanently. Same rule for
   ammonia.
3. **No paper on lenses.** Paper towels, tissues, kleenex, napkins. They
   scratch. Microfiber only.

## Cleaning matrix

| Surface | Tool | Liquid? |
|---|---|---|
| Lenses | Microfiber cloth | Dry, or microfiber damp with distilled water |
| Face cushion | Alcohol-free wipe (Wipex, EuphoriaXR) | OK |
| Plastic shell | Alcohol-free wipe | OK |
| Strap and halo | Alcohol-free wipe | OK |
| Controllers (grip and buttons) | Alcohol-free wipe | OK |
| Controller tracking ring | Microfiber dry only | No |

If a surface is not on this table, ask before cleaning it.

## Pre-flight checklist (60 seconds, before handing to user)

- Lens visual under a flashlight at an angle. No spots, scratches, fingerprints, yellow burns.
- Disposable hygiene cover applied OR silicone cushion wiped.
- IPD slider reset (under the headset, between the lenses; 62 to 72 mm range).
- Both controllers paired, LED steady, AA cells over 30 percent.
- Headset battery over 50 percent, or on the charge cable.
- Safe area marked on the floor. User knows the boundary.
- Strap pre-loosened so the user can dial in their fit.

## Post-flight checklist (30 seconds, after return)

- Disposable cover into the bin, or silicone cushion wiped front and back.
- Lenses re-inspected with a flashlight at an angle. This catches the start of a yellow burn before it becomes permanent damage.
- Tracking rings on both controllers checked for cracks.
- AA cells swapped if under 30 percent.
- Lens cover snapped on.
- Headset back in the case, foam side down.
- Member confirmed factory reset before return (per waiver §10).

## Controller and strap

- Never set a controller ring-down on a hard table. Cradle it, or place it on the case foam.
- Never pry the halo strap open. Use the back dial.
- Never yank the charging cable to remove the headset. Unplug first, then lift.

## If something is wrong

Message @materialxomplexity on Telegram. If damage is on the unit at
return:

1. Photograph the damage.
2. File the incident via:
   - REST: `POST /api/headsets/report-damage` with `{ unit, type, description, photo?, reporter_name, reporter_role, reporter_contact, lend_id? }`, OR
   - MCP: `ic_headsets_report_damage` tool (same fields).
3. IC operations is auto-paged on Telegram by the node-side ic-notify
   timer (less than 60 seconds latency). Do not charge the member at the
   desk. Disputes about willful misuse versus honest accident are triaged
   after the report lands.

## Lifecycle tool list (PICO lending only)

Reads (`headsets:read`):
- `ic_headsets_list_inventory` — all units + statuses
- `ic_headsets_get_unit` — single unit by id
- `ic_headsets_check_waiver` — caller's waiver freshness (PII-safe)
- `ic_headsets_get_my_lend` — caller's active lend if any (PII stripped)

Member writes (`headsets:lend` + `headsets:report_damage`):
- `ic_headsets_sign_waiver` — record the 15-section agreement (90d TTL)
- `ic_headsets_checkout` — atomic unit claim
- `ic_headsets_return` — close a lend (clean or damaged)
- `ic_headsets_report_damage` — file an incident

Operator-only (`admin:headsets_review`):
- `ic_headsets_admin_list_active_lends` — triage view
- `ic_headsets_admin_list_open_incidents` — incident queue
- `ic_headsets_admin_mark_oos` — pull a unit from rotation
- `ic_headsets_admin_clear_oos` — return a unit to rotation (refuses on open incident)
- `ic_headsets_admin_force_return` — close a stuck lend
- `ic_headsets_admin_resolve_incident` — triage verdict (absorbed | willful-misuse | resolved)

## Lifecycle in one paragraph (for new agents)

A member (ic-member ring) signs the waiver once (90-day TTL), then checks
out a unit. The atomic SET-NX lock on `headsets:lends:active_by_member`
enforces one-active-lend-per-member. On return, the unit goes back to
the available pool unless the borrower flags damage, in which case the
unit goes out-of-service and a follow-up `ic_headsets_report_damage`
back-fills the incident details. Operators (operator ring) can triage
incidents, force-close stuck lends, and pull units from rotation.
Telegram fanout for damage reports runs out-of-band on node's ic-notify
systemd timer (<=60s page latency).
