From 68c10c5664e9c81d1907a3f0cbd0323af2e906a6 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 11 Nov 2026 12:31:58 +0100 Subject: [PATCH] RN24: the runner's manifest says version 0.1, declares its finding stream and hears the keeper's ask MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Builds: design 47 G §368, §383, §387 Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ --- modules/mesh-delivery-pipeline/manifest_test.go | 11 ++++++++--- modules/mesh-delivery-pipeline/module.json | 15 +++++++++++++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/modules/mesh-delivery-pipeline/manifest_test.go b/modules/mesh-delivery-pipeline/manifest_test.go index 3404113b..dbad350d 100644 --- a/modules/mesh-delivery-pipeline/manifest_test.go +++ b/modules/mesh-delivery-pipeline/manifest_test.go @@ -49,8 +49,13 @@ func TestManifest(t *testing.T) { // §27, §85, §330, §355, §77: the old state sections. {"old state sections", equalSets(states, []string{seat.StatePipelines, seat.StateKept, "aged", "findings", "first-views"})}, // §27, §85: the step log on an old stream, its outputs in an old objects section. - {"old streams section", equalSets(streams, []string{seat.StateStepLog})}, - {"step-log 128 MiB", len(m.Streams) == 1 && m.Streams[0].MaxMiB == 128}, + // RN24 (§383, §387): beside it, the finding stream its findings are said on. + {"old streams section", equalSets(streams, []string{seat.StateStepLog, "mesh-delivery-pipeline-findings"})}, + {"step-log 128 MiB", len(m.Streams) == 2 && m.Streams[0].MaxMiB == 128}, + {"finding stream 7 days 16 MiB", len(m.Streams) == 2 && m.Streams[1].MaxAgeDays == 7 && m.Streams[1].MaxMiB == 16 && + equalSets(m.Streams[1].Events, []string{"finding-written.*", "finding-cleared.*", "findings-stated.*"})}, + // RN24 (§368): the version as MAJOR.MINOR, 0.1 with none published. + {"version 0.1", m.Version == "0.1"}, {"old objects section", equalSets(objects, []string{seat.StateStepOutputs})}, {"step-outputs 1 GiB", len(m.Objects) == 1 && m.Objects[0].MaxMiB == 1024}, // §333, §54, §44, §53, §376, §24, §37, §4, §77: what the runner hears. @@ -58,7 +63,7 @@ func TestManifest(t *testing.T) { "mesh-delivery-indexer.take-in.taken", "mesh-builds.package-published", "mesh-builds.toolchain-agreed", "operator-channel.decided", "node-build-go.step-ended", "node-build-node.step-ended", "node-build-image.step-ended", "mesh-wants.step-ended", "mesh-catalog.registration-changed", - "mesh-catalog.catalog-revision"})}, + "mesh-catalog.catalog-revision", "mesh-conditions.findings-asked"})}, // RN2 (§21, §195, §200, §77): the registrations and the catalog half asked by their verbs, the first views read and // asked again by hand (a hand act). {"invokes", equalSets(m.Invokes, []string{"seat:mesh-catalog.registrations", "seat:mesh-catalog.revision", "seat:mesh-hand-acts.hand-act"})}, diff --git a/modules/mesh-delivery-pipeline/module.json b/modules/mesh-delivery-pipeline/module.json index 9d85a776..5c71ce13 100644 --- a/modules/mesh-delivery-pipeline/module.json +++ b/modules/mesh-delivery-pipeline/module.json @@ -1,6 +1,6 @@ { "module": "mesh-delivery-pipeline", - "version": "1", + "version": "0.1", "slug": "pipeline", "claims": [ { @@ -36,7 +36,8 @@ "node-build-image.step-ended", "mesh-wants.step-ended", "mesh-catalog.registration-changed", - "mesh-catalog.catalog-revision" + "mesh-catalog.catalog-revision", + "mesh-conditions.findings-asked" ], "invokes": [ "seat:mesh-catalog.registrations", @@ -72,6 +73,16 @@ "step-log.**" ], "max-mib": 128 + }, + { + "name": "mesh-delivery-pipeline-findings", + "events": [ + "finding-written.*", + "finding-cleared.*", + "findings-stated.*" + ], + "max-age-days": 7, + "max-mib": 16 } ], "objects": [