local workbench · offline
ONLINE

Protocol Tools Guide

How to use the Universal Command Protocol (UCP) workbench — a deterministic, offline command & payload transport console.

The protocol in one minute
  1. A command is defined in a dictionary with a name, version, typed params, and an allowlisted action.
  2. A payload is { cmd, ver, args }, normalized against the definition.
  3. The payload is canonicalized (sorted keys, no whitespace) and hashed with SHA-256 to make a content digest — the packet identity.
  4. A packet wraps the content + digest in a portable (JSON) or compact (ucp1:...) form.
  5. The receiver recomputes the digest from the content (never trusts the sender's), validates, authorizes, deduplicates by digest, then runs the allowlisted action.

Canonicalization Lab

Edit any JSON and watch its deterministic canonical bytes and SHA-256 digest update live. Use it to confirm two payloads with the same content always share a digest, regardless of key order or whitespace.

Open tool

Packet Encoder

Pick a command, fill its params, and generate a normalized payload. Export it as a portable JSON packet or a compact ucp1:body:digest string. Each form carries its content digest for integrity.

Open tool

QR Transfer

Render a packet as a QR PNG/SVG (byte mode, EC L/M, up to v10) and decode incoming codes via camera or file upload where BarcodeDetector is available. Use Regenerate to re-render on demand.

Open tool

Command Dictionary

Browse, inspect, import, and export command definitions. Each definition declares its params, allowlisted actions, and role policy. Validation rejects duplicate names/ids and malformed schemas.

Open tool

Receiver · Dedup

Submit packets to the local receiver simulator. It validates, authorizes by role, deduplicates by digest, and runs the allowlisted action. The status panels and filters let you search history by status or timestamp; the quick action bar clears history or jumps to QR.

Open tool

Settings & Diagnostics

Run the self-test suite, try an in-browser QR round-trip, and export/import/clear the local IndexedDB state. All persistence is browser-local — nothing leaves the device.

Open tool
Execution states
COMPLETED
Action ran and the result was committed.
FAILED
Validation, authorization, or action failed.
DUPLICATE
A packet with this digest already completed — not re-run.
UNKNOWN_AFTER_CRASH
A prior attempt did not finish; the action is not repeated automatically.
VALIDATED
Packet passed validation and is awaiting execution.
EXECUTING
Action is in progress (transient).

Exactly-once execution is not claimed. Non-idempotent actions that crash stay UNKNOWN_AFTER_CRASH for manual review.

No network, no account, no persistence beyond this browser. Built for the SynCloud / Omega UI engineering aesthetic.