Issue 039 resolved — the operator's images are pinned, and why that is a stopgap
Nine references now name the digest their tag resolved to. What closed is the immediate fault; the open questions stand, because a digest in a repository is wrong the moment anybody rebuilds — which is the reason the design wants the repository to name artifacts and the mesh to hold digests. Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
status: open
|
status: resolved
|
||||||
opened: 2026-09-10
|
opened: 2026-09-10
|
||||||
located-in: []
|
located-in: [mesh-catalog]
|
||||||
fixed-by:
|
fixed-by: mesh-catalog — the operator's own images are pinned by digest
|
||||||
amended-design:
|
amended-design:
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -44,6 +44,24 @@ often.
|
|||||||
incidentally is an invariant no bed tests. The harness was not merely serving images; it was
|
incidentally is an invariant no bed tests. The harness was not merely serving images; it was
|
||||||
quietly supplying a property of the system under test, and nothing said so.
|
quietly supplying a property of the system under test, and nothing said so.
|
||||||
|
|
||||||
|
## Fixed, and what the fix does not settle
|
||||||
|
|
||||||
|
Each of the nine references now names the digest its tag resolved to, read from the registry that
|
||||||
|
serves them. Every manifest in the catalogue is pinned; the host's refusal has nothing left to
|
||||||
|
catch, and the check that would have caught this — *no manifest names a tag* — now passes on
|
||||||
|
content rather than on a harness's rewriting.
|
||||||
|
|
||||||
|
**It is a stopgap and should be read as one.** A digest written into a repository is wrong the
|
||||||
|
moment anybody rebuilds, which is exactly the argument
|
||||||
|
[`12-a-module-repository`](../../03-DESIGN/01-to-be/12-a-module-repository.md) makes for two
|
||||||
|
documents — the repository naming *artifacts*, the mesh holding *digests*. Until something builds
|
||||||
|
and publishes, a digest that goes stale is still better than a tag that moves without telling
|
||||||
|
anyone: stale fails loudly at the pull, and a moved tag changes what a machine runs while every
|
||||||
|
record says nothing changed.
|
||||||
|
|
||||||
|
So the open questions below stand. What closed is the immediate fault; what remains is the reason
|
||||||
|
it was possible.
|
||||||
|
|
||||||
## Open questions
|
## Open questions
|
||||||
|
|
||||||
- What should a manifest name for an image the operator builds themselves? A digest changes on
|
- What should a manifest name for an image the operator builds themselves? A digest changes on
|
||||||
|
|||||||
Reference in New Issue
Block a user