Protocol Tools Guide
How to use the Universal Command Protocol (UCP) workbench — a deterministic, offline command & payload transport console.
- A command is defined in a dictionary with a name, version, typed params, and an allowlisted action.
- A payload is
{ cmd, ver, args }, normalized against the definition. - The payload is canonicalized (sorted keys, no whitespace) and hashed with SHA-256 to make a content digest — the packet identity.
- A packet wraps the content + digest in a portable (JSON) or compact (
ucp1:...) form. - 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.
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.
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.
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.
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.
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.
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.