From 3442b7af371cae6f1b26d022980ae6a909ec390f Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 11 Nov 2026 13:58:08 +0100 Subject: [PATCH] =?UTF-8?q?TEMPORARY=20stand-in=20for=20CT:=20CatalogEntry?= =?UTF-8?q?.ManifestDigest=20in=20the=20Go=20contract=20only=20(design=204?= =?UTF-8?q?7=20G=20=C2=A7506);=20the=20contracts=20developer's=20field=20r?= =?UTF-8?q?eplaces=20it,=20take=20theirs=20at=20the=20merge?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Builds: design 47 G §506 Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ --- contracts/go/seats/meshcatalog/contract.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contracts/go/seats/meshcatalog/contract.go b/contracts/go/seats/meshcatalog/contract.go index 1a6b43f6..a2ada753 100644 --- a/contracts/go/seats/meshcatalog/contract.go +++ b/contracts/go/seats/meshcatalog/contract.go @@ -736,6 +736,8 @@ type CatalogEntry struct { Main string `json:"main,omitempty"` // the validated manifest whole, kept as an object by the entry's digest, so no size limit applies; read by anyone but the indexer through the entry, never as a manifest (design 47 G section 443, section 442) Manifest map[string]any `json:"manifest"` + // TEMPORARY local field: the digest of the manifest's bytes as the forge answered them (design 47 G section 506) + ManifestDigest string `json:"manifest-digest,omitempty"` Module string `json:"module"` // the manifest reads a node-engine must state to compose it, its templates' forms included, as the forge bridge read them at the merge (ADR 0614 §4, ADR 0632 §2) Needs []string `json:"needs,omitempty"`