commit signing hell

This commit is contained in:
Ian Gulliver
2026-10-18 22:55:23 -07:00
parent 95389d0d92
commit 380e533ef4
8 changed files with 402 additions and 280 deletions
+8 -7
View File
@@ -1829,16 +1829,17 @@ components:
ClientRequest:
type: object
required: [id, op]
description: Work a task agent asks a connected Mac to do, sent over /api/clients/connect.
description: Work a task agent, or a merge, asks a connected Mac to do, sent over /api/clients/connect.
properties:
id: { type: string }
op: { type: string, enum: [bash, upload, download, read_file, write_file, hands] }
op: { type: string, enum: [bash, upload, download, read_file, write_file, hands, sign] }
command: { type: string, description: "bash: run with zsh as a login shell in the home directory, in its own process group." }
timeout_ms: { type: integer, description: "bash: kill the process group after this long." }
timeout_ms: { type: integer, description: "bash, sign: kill the process group after this long." }
ident: { type: string, description: "sign: the committer, as \"Name <email>\", to sign as when the Mac's git config has no user.signingkey." }
transfer: { type: string, description: "upload: the transfer id to get from /api/clients/transfers/{transferId}. download: the transfer id to put the archive to." }
dest: { type: string, description: "upload: where the archive's one entry ends up, absolute or starting with ~/; whatever is there is replaced." }
path: { type: string, description: "download, read_file, write_file: the file (or, for download, file or directory) on the client, absolute or starting with ~/." }
data: { type: string, format: byte, description: "write_file: the file's new contents; parent directories are created." }
data: { type: string, format: byte, description: "write_file: the file's new contents; parent directories are created. sign: the unsigned commit object, which the Mac signs with the program its git config names for its gpg.format (openpgp or x509), called as git calls it." }
tool: { type: string, description: "hands: the byre-hands tool to call." }
arguments:
type: object
@@ -1851,9 +1852,9 @@ components:
properties:
id: { type: string, description: The request's id. }
error: { type: string, description: Set when the request couldn't be carried out. }
exit_code: { type: integer, description: "bash: the exit status, -1 when it was killed by its timeout." }
output: { type: string, description: "bash: stdout and stderr together, at most their last 64 KiB." }
data: { type: string, format: byte, description: "read_file: the file's contents." }
exit_code: { type: integer, description: "bash, sign: the exit status, -1 when it was killed by its timeout." }
output: { type: string, description: "bash: stdout and stderr together, at most their last 64 KiB. sign: the signing program's stderr, where it writes its GnuPG status lines, and the login shell's output." }
data: { type: string, format: byte, description: "read_file: the file's contents. sign: the detached signature." }
result:
type: object
additionalProperties: true