Builtin Library
README.md
zm.derived
The outputs a commit waits on. A staged asset can have files computed from it (a material's preview picture, for example); they are computed in the background and join the commit that carries the asset. A commit made while one is still computing is sealed: world.commit returns its id at once, the commit lands when every required output is done, and a push asked for meanwhile runs after it lands. zm commit waits for a sealed commit to land (90 seconds, or --wait <seconds>) and prints its id once it is on the branch; one still sealed then, or whose output failed, exits 1 saying it is not on the branch, what it waits on and which of these verbs moves it. world.awaitCommit(id) reads the same from Luau, and zm log and zm status list the sealed commits as not on the branch.
list shows each output with its state (computing, done, failed) and the sealed commit it holds. retry computes an output again, provide takes the file you wrote at its path as the output, drop leaves a best-effort output out of the commit, and unseal returns a sealed commit to the staging area with its message kept. The shell forms are zm derived [list|retry|provide|drop <path>] and zm unseal [<commit>].