A store that cannot remove a tag alone (another tag names its digest) kept the tag and the holder said removed, so the builder and every follower believed the tagged version gone while it stayed pullable: work reported done that was not done. The shared registry part gains the outcome kept: in remove's answer (kept, the reason shared-digest, the tags still naming the digest) and as its own event, in all four registry seats. Regenerated with mesh-catalog's seatgen (join-mesh-catalog ccb7eaff); seatgen -check passes; fixtures for the answer and the event in each seat. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
99 lines
3.4 KiB
JSON
99 lines
3.4 KiB
JSON
[
|
|
{
|
|
"name": "published on the seat's subject",
|
|
"of": "event:published",
|
|
"subject": "mesh.seat.container-image-registry.event.published",
|
|
"given": {
|
|
"name": "mesh-sdk",
|
|
"version": "0.1.19",
|
|
"kind": "image",
|
|
"digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"fingerprint": "f1",
|
|
"commit": "cccccccccccccccccccccccccccccccccccccccc",
|
|
"holder": "distribution",
|
|
"transfer": "t1",
|
|
"reference": "container-image-registry/mesh-sdk/lib@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
|
}
|
|
},
|
|
{
|
|
"name": "refused on the seat's subject",
|
|
"of": "event:refused",
|
|
"subject": "mesh.seat.container-image-registry.event.refused",
|
|
"given": {
|
|
"name": "mesh-sdk",
|
|
"version": "0.1.19",
|
|
"kind": "image",
|
|
"digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"fingerprint": "f1",
|
|
"commit": "cccccccccccccccccccccccccccccccccccccccc",
|
|
"holder": "distribution",
|
|
"transfer": "t1",
|
|
"reference": "container-image-registry/mesh-sdk/lib@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"reason": "retention"
|
|
}
|
|
},
|
|
{
|
|
"name": "removed on the seat's subject",
|
|
"of": "event:removed",
|
|
"subject": "mesh.seat.container-image-registry.event.removed",
|
|
"given": {
|
|
"name": "mesh-sdk",
|
|
"version": "0.1.19",
|
|
"kind": "image",
|
|
"digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"fingerprint": "f1",
|
|
"commit": "cccccccccccccccccccccccccccccccccccccccc",
|
|
"holder": "distribution",
|
|
"transfer": "t1",
|
|
"reference": "container-image-registry/mesh-sdk/lib@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"reason": "retention"
|
|
}
|
|
},
|
|
{
|
|
"name": "kept on the seat's subject: a tagged version sharing its digest stays, naming the tags on it",
|
|
"of": "event:kept",
|
|
"subject": "mesh.seat.container-image-registry.event.kept",
|
|
"given": {
|
|
"name": "mesh-sdk",
|
|
"version": "0.1.19-feat-x.2",
|
|
"kind": "image",
|
|
"digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"fingerprint": "f1",
|
|
"commit": "cccccccccccccccccccccccccccccccccccccccc",
|
|
"holder": "distribution",
|
|
"reference": "container-image-registry/mesh-sdk/lib@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"reason": "shared-digest",
|
|
"tag": "0.1.19-feat-x.2",
|
|
"tags": [
|
|
"0.1.19"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "held on the seat's subject",
|
|
"of": "event:held",
|
|
"subject": "mesh.seat.container-image-registry.event.held",
|
|
"given": {
|
|
"name": "mesh-sdk",
|
|
"digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
"reason": "kept by the sweep's rule",
|
|
"holder": "distribution",
|
|
"by": "mesh-artifact-sweep",
|
|
"at": "2026-11-04T12:00:00Z"
|
|
}
|
|
},
|
|
{
|
|
"name": "released on the seat's subject",
|
|
"of": "event:released",
|
|
"subject": "mesh.seat.container-image-registry.event.released",
|
|
"given": {
|
|
"name": "mesh-sdk",
|
|
"digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
"reason": "kept by the sweep's rule",
|
|
"holder": "distribution",
|
|
"by": "mesh-artifact-sweep",
|
|
"at": "2026-11-04T12:00:00Z"
|
|
}
|
|
}
|
|
]
|