From 24d58f07869530e3e690b9a52483d11f28e5fd91 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 11 Nov 2026 15:54:17 +0100 Subject: [PATCH] K10 (backup items): node-backup says when each item starts and ends MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The seat gains item-started and item-ended on ..., kept last per subject for 7 days, each with at, and item-ended with outcome (done, failed or put-off), the restore's act it gave way to and an error, so the recovery module and the backup holder each read the other's start and never overlap. The seat is of the seat-list grain: nothing is generated and its fixtures are not read, so mesh-sdk's definition reader and its bootstrapped copy of this file are what read it. Builds: design 47 G §554, §555, §563, §523 Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ --- seats/node-backup/seat.json | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/seats/node-backup/seat.json b/seats/node-backup/seat.json index e9a8efe..a2b0ece 100644 --- a/seats/node-backup/seat.json +++ b/seats/node-backup/seat.json @@ -68,6 +68,70 @@ "class": "act" } ], + "events": [ + { + "name": "item-started", + "subject": "item-started...", + "keep": { + "max-age-days": 7, + "last-per-subject": true + }, + "body": { + "type": "object", + "description": "the holder started backing up one item of a module on its node, said before it reads the recovery module's restore-started and restored (design 47 G 554, 563)", + "required": [ + "at" + ], + "properties": { + "at": { + "type": "string", + "format": "date-time", + "description": "when the item started, RFC 3339" + } + } + } + }, + { + "name": "item-ended", + "subject": "item-ended...", + "keep": { + "max-age-days": 7, + "last-per-subject": true + }, + "body": { + "type": "object", + "description": "the holder ended one item: done, failed (error stopped for an item it said started and never ended, at its start) or put-off while a restore of the recovery module runs, the item started again when that restore's restored is heard (design 47 G 554, 563)", + "required": [ + "at", + "outcome" + ], + "properties": { + "at": { + "type": "string", + "format": "date-time", + "description": "when the item ended, RFC 3339" + }, + "outcome": { + "type": "string", + "enum": [ + "done", + "failed", + "put-off" + ], + "description": "how the item ended; a put-off item is that night's backup once it runs, neither failed nor missed" + }, + "restore": { + "type": "string", + "description": "with put-off, the act of the recovery module's restore the item gave way to" + }, + "error": { + "type": "string", + "description": "with failed, why, in words; stopped for an item ended at the holder's start" + } + } + } + } + ], "receives": [ { "kind": "backup",