When something goes wrong on a user's G2, OcuClaw can assemble a report from bounded diagnostics enabled for that purpose. Routine relay logs stay local; enhanced capture and upload are separate controls, and nothing is sent until the user reviews that specific report and taps Send. On the other side, a private dashboard and a protected AI-assisted workflow turn reports into fixes, with a human approving the result.
OCU-XXXX-XXXX code you can quote on Discord. Works even when the app can't connect.
The plugin on the agent side assembles the bundle, the glasses app uploads it, and two small cloud services
share one storage box: debug.ocuclaw.com is the public drop-slot anyone can post into,
and a private triage service is the only way anything comes back out. Uploaders can't read;
readers can't be reached by uploaders.
flowchart TB
classDef you fill:#0e1622,stroke:#7ad3ff,color:#dbeeff,stroke-width:1px;
classDef cc fill:#0c1a10,stroke:#4dd58a,color:#dff5e6,stroke-width:1.2px;
classDef box fill:#1a1408,stroke:#ffb454,color:#ffe7c2,stroke-width:1px;
classDef edge fill:#1a0e12,stroke:#ff8798,color:#ffd9df,stroke-width:1px;
PL["ocuclaw plugin — assembles the bundle<br/>gated capture → verify → package"]:::box
APP["👓 glasses app<br/>'Send Bug Report' — review + send"]:::you
UP["public drop-slot<br/>debug.ocuclaw.com"]:::edge
ST[("shared store<br/>private blobs · 90-day retention")]:::cc
TR["private triage service<br/>dashboard + protected agent API"]:::cc
OPR["💻 you — login + dashboard"]:::you
AGT["🤖 AI agent — read-only key"]:::you
PL --> APP
APP -->|"proof-of-work + upload"| UP
UP -.->|"reference OCU-XXXX-XXXX"| APP
UP --> ST --> TR
TR --> OPR
TR --> AGT
Enhanced report diagnostics are separate from routine local logging and must be enabled before this flow can assemble them. The report starts with the last 5 minutes of available activity (a slider reaches further back). You can inspect the complete prepared bundle, add a note, and either save it locally or choose Send to OcuClaw. Enabling diagnostics alone never uploads a report.
Client Debug Enabled adds enhanced app-side diagnostics. On the OpenClaw relay,
externalDebugToolsEnabled permits bounded capture, preview, and local save;
allowDebugUpload separately permits the prepared bundle to reach the phone. The user must still
tap Send to OcuClaw for that specific report.
Before anything leaves, the app applies strict on-device privacy controls that minimise sensitive content while preserving the diagnostic signals needed to investigate a fault. The receiving service then verifies the report, limits automated abuse, and binds the upload to its integrity record before accepting it. These protections are enforced in code and fail closed when a report does not meet the expected contract.
Debug reports can contain unpredictable text, so OcuClaw applies multiple independent protection tiers before AI-assisted triage begins. Deterministic validation, prompt-injection defenses, least-privilege access, and human approval work together; no single model judgement is treated as the security boundary.
privacy controls active ✓ integrity + completeness verified ✓ prompt-injection defenses active ✓ analysis permissions read-only ✓ consequential action human approval required ✓
Integrity and completeness checks travel with the protected analysis response. If a response is incomplete or fails verification, it is not treated as a complete report. The agent produces a structured recommendation; a human operator remains responsible for any consequential next step.
A small CLI drives the whole read side. The agent narrows the pile with code-side filters, deep-reads only the reports that match, and emits a structured verdict. A human approves; the fix is reproduced against the exact build the report pinned, validated, and shipped. The reading agent recommends — it never executes.