Build a custom machine

Versioning and changelog

Python SDK version 1

Markdown

SDK 1 is a promise: every call in it keeps working, with the same names, on every Ownbox on SDK 1. A machine says which it was built on with requires.sdk, and an Ownbox on an older SDK refuses it with sdk_too_new. The manifest format is machine: 2. The Ownbox version a machine needs is requires.box: an older Ownbox refuses it until its next update arrives.

What would break a machine never changes within SDK 1: a call's name, an argument's name or meaning, the shape of an answer, or a refusal's code. A new call, a new optional argument, a new field in an answer, or a new code can arrive at any time, so read answers by their keys and handle a code you do not know. The names under Not yet are kept: m.menu and m.activity arrive in SDK 1; m.store, m.query, m.media and m.upload are reserved.

DateChange
2026-10-14resources.class sets the memory, CPU and processes a machine gets; an Ownbox refuses a class its memory cannot hold.
2026-10-14A new version of an installed machine, sent from its files, is that machine's update.
2026-10-14After a failed check, your AI sends the fixed files to the same build.
2026-10-14The name custom machine, in every word a person reads. This guide's old address forwards here.
2026-10-13packages: from the Ownbox's own list, installed from its own copies.
2026-10-13A custom machine on a partner's Ownbox installs on Ownbox's yes.
2026-10-13A machine's pages are drawn in the Ownbox's own look: screens, cards, settings and Run now.
2026-10-12screen.json v1, checked before anyone sees it.
2026-10-12Build a machine on the Ownbox: the check and the two dry runs before the owner's yes.
2026-10-12m.store, m.query, m.media and m.upload reserved.
2026-10-12machine: 2, one manifest for every machine.