Writes
All mutations in WarmHub flow through one operation pipeline. Operations apply
one at a time, and each data change is recorded as a new version on its thing’s
own history (wh thing history) — not in a separate commit or batch record; a
rename changes the name in place without creating a version. Each
operation succeeds or fails on its own, so a later failure does not undo
earlier operations in the same request.
Submit an Operation
Section titled “Submit an Operation”wh commit submit --add temp-1 --shape Sensor \ --data '{"location": "Building A", "type": "temperature"}' \ -m "Add sensor"This assumes the repository already has a Sensor shape; see
Shapes to define one. Add --json to get the
per-operation results, each with status set to applied, noop, or error.
Where to Next
Section titled “Where to Next”| Need | Page |
|---|---|
| Every operation kind in full — fields, conditional writes, and no-op semantics | Operations |
| What happens when one operation in a request fails, and how to chain operations | Atomicity |
| The stages each operation passes through, from validation to a recorded version | The Pipeline |
| Submit from the CLI, MCP, SDK, or streaming surfaces, and set a committer | Submitting Operations |
| Read the version trail for a thing, with attribution per version | Write History |
| Type-safe SDK write calls and the shape of the result they return | Write Methods |
| How results and receipts differ across the CLI, SDK, and MCP | Operation Results |
Branch recovery logic on a failed operation’s structured details | Structured error details |
| Recover from a timeout, a retry, or a partial submission | Transient Retry |
| Validate a batch before committing it, or drive writes from the CLI | wh commit submit |
| Submit operations from an agent over MCP | warmhub_thing_create and the other write tools |
| Write from an HTTP-oriented client, and validate without committing | HTTP writes |
| Fire a webhook when an operation lands | Subscriptions |
| Understand the wref an operation names | Wrefs |