Converted mechanically from mesh-sdk's compiled list at 5a38a12 by a program kept out of the repository; the three new registry seats follow npm-package-registry, operator-channel the mesh's own seats. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
104 lines
3.8 KiB
JSON
104 lines
3.8 KiB
JSON
{
|
|
"format": 1,
|
|
"seat": "mesh-artifact-sweep",
|
|
"scope": "mesh",
|
|
"grain": "seat-list",
|
|
"decision": "novox/hq ADR 0571",
|
|
"verbs": [
|
|
{
|
|
"name": "artifacts",
|
|
"description": "Every artifact the mesh made that lives in its artifact store, each with its repository, digest, kind (image or archive) and state: kept, and why (a want names it, or one of the five newest builds of its module in the builder's log), eligible (made, kept for no reason, not yet let go), or unrecorded (in the store and named by nothing the mesh made: never removed). Reads only.",
|
|
"input": {
|
|
"properties": {
|
|
"collected": {
|
|
"description": "\"true\": list the collected references too (counted always)",
|
|
"enum": [
|
|
"true",
|
|
"false"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"repository": {
|
|
"description": "only this repository's references, as \u003cmodule\u003e/\u003cartifact\u003e (the counts stay whole)",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
{
|
|
"name": "held",
|
|
"description": "Whether the artifact store holds each reference given, asked with one HEAD each: held, gone (the store answered 404) or unknown with why. The builder asks it before it reuses a done key. Reads only.",
|
|
"input": {
|
|
"properties": {
|
|
"references": {
|
|
"description": "the artifacts' references, artifact-store://\u003cmodule\u003e/\u003cartifact\u003e/blobs/sha256:\u003chex\u003e: a list, or one text separated by commas",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"references"
|
|
],
|
|
"type": "object"
|
|
}
|
|
},
|
|
{
|
|
"name": "collect",
|
|
"description": "The artifact store's sweep, now: what is eligible is let go of. Without confirm a dry run: what would be let go, nothing held or deleted. With confirm and why: every kept archive held first, then each eligible artifact let go of, oldest first, an index with the platform manifests no kept index names, each deletion recorded in the hand-act log. Bounded by most (500 by default, at most 5000) and 45 seconds; what is left is said. Never touches a digest the mesh did not make.",
|
|
"input": {
|
|
"properties": {
|
|
"confirm": {
|
|
"description": "\"true\": let go of what is eligible (needs why); without it nothing is done",
|
|
"enum": [
|
|
"true",
|
|
"false"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"most": {
|
|
"description": "let go of at most this many (500 by default, at most 5000)",
|
|
"type": "string"
|
|
},
|
|
"why": {
|
|
"description": "with confirm: why, required and recorded",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
{
|
|
"name": "mirrors",
|
|
"description": "The bases the mesh copied into its artifact store, each kept (a kept build stood on it), eligible (only builds no longer kept stood on it) or unrecorded (no build the builder's log holds stood on it: never removed), by what the builder's log says each build stood on. Records nothing by hand.",
|
|
"input": {
|
|
"properties": {},
|
|
"type": "object"
|
|
}
|
|
},
|
|
{
|
|
"name": "images",
|
|
"description": "Every container image one machine's want and have name, each with the resources naming it: what the machine keeps when it prunes its images. Reads only.",
|
|
"input": {
|
|
"properties": {
|
|
"node": {
|
|
"description": "the machine's name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"node"
|
|
],
|
|
"type": "object"
|
|
}
|
|
}
|
|
],
|
|
"events": [
|
|
{
|
|
"name": "artifacts-gone"
|
|
}
|
|
]
|
|
}
|