Structure

structure batch

experimental
structure batch compose <composition.json> [--pre-approval <file>] [--digest-only]
                                           a typed batch-flight run from a composition
                                           file: the governing process is DISCOVERED
                                           from this repo, context pinned from HEAD's
                                           real blobs, declared conditions answered
                                           explicitly (silence refuses), and stage
                                           briefs compiled from the record's own
                                           pinned context. The composition digest
                                           prints FIRST, so a sponsor can sign those
                                           exact bytes before anything is created —
                                           --digest-only stops there. A pre-approval
                                           is a person's act: an agent/ signer is
                                           refused at the door, and a signature over
                                           a drifted composition lands as a typed
                                           VOID instead of satisfying the gate
structure batch compose <composition.json> [--pre-approval <file>] [--digest-only]

a typed batch-flight run from a composition file: the governing process is DISCOVERED from this repo, context pinned from HEAD's real blobs, declared conditions answered explicitly (silence refuses), and stage briefs compiled from the record's own pinned context. The composition digest prints FIRST, so a sponsor can sign those exact bytes before anything is created — --digest-only stops there. A pre-approval is a person's act: an agent/ signer is refused at the door, and a signature over a drifted composition lands as a typed VOID instead of satisfying the gate

structure batch close <run> <stage> --checks <file>
                      [--scratch <dir>]... [--worktree <path>]... [--keep <path>]...
                                           complete a stage from the record's own
                                           declarations: output ids, destinations,
                                           and check ids are READ from the run
                                           record, never guessed; artifact digests
                                           are computed from the files at the
                                           declared destinations; a missing declared
                                           artifact refuses honestly, by name. On a
                                           stage that declares the workspace restored,
                                           the close is a gate: --scratch names each
                                           receipt root, scratch clone and export
                                           target, --worktree each ephemeral worktree,
                                           --keep a small kit to leave — they are
                                           verified, then removed, and the report
                                           carries the bytes freed
structure batch close <run> <stage> --checks <file>
[--scratch <dir>]... [--worktree <path>]... [--keep <path>]...

complete a stage from the record's own declarations: output ids, destinations, and check ids are READ from the run record, never guessed; artifact digests are computed from the files at the declared destinations; a missing declared artifact refuses honestly, by name. On a stage that declares the workspace restored, the close is a gate: --scratch names each receipt root, scratch clone and export target, --worktree each ephemeral worktree, --keep a small kit to leave — they are verified, then removed, and the report carries the bytes freed