diff --git a/health-and-repair/seats/mesh-healers/fixtures/events.json b/health-and-repair/seats/mesh-healers/fixtures/events.json new file mode 100644 index 0000000..abe6d7f --- /dev/null +++ b/health-and-repair/seats/mesh-healers/fixtures/events.json @@ -0,0 +1,26 @@ +[ + { + "name": "an attempt begun, said with its end (design 47 G 665)", + "of": "event:attempt-changed", + "subject": "mesh.seat.mesh-healers.event.attempt-changed.c-1.a-1", + "given": { + "healer": "directory", + "condition": "module.mesh-host.ace.directory-used-as-found", + "kind": "directory-used-as-found", + "budget-key": "module.mesh-host.ace.directory-used-as-found", + "act": "hand-over", + "outcome": "acting", + "begun": "2026-11-11T10:00:00Z", + "until": "2026-11-11T12:00:00Z" + } + }, + { + "name": "an attempt ended by its healer", + "of": "event:attempt-changed", + "subject": "mesh.seat.mesh-healers.event.attempt-changed.c-1.a-1", + "given": { + "condition": "module.mesh-host.ace.directory-used-as-found", + "removed": true + } + } +] diff --git a/health-and-repair/seats/mesh-healers/seat.json b/health-and-repair/seats/mesh-healers/seat.json index 23772b0..38b0bb4 100644 --- a/health-and-repair/seats/mesh-healers/seat.json +++ b/health-and-repair/seats/mesh-healers/seat.json @@ -135,6 +135,66 @@ "outcome" ] } + }, + { + "name": "attempt-changed", + "subject": "attempt-changed..", + "keep": { + "max-age-days": 7, + "max-mib": 16, + "last-per-subject": true + }, + "body": { + "type": "object", + "description": "an attempt as the attempts state holds it, whole, with until, or removed: true when the healer ends it; said again for every open attempt at the healers' start (design 47 G 541, 665)", + "properties": { + "healer": { + "type": "string" + }, + "condition": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "budget-key": { + "type": "string", + "description": "what the budget counts by: the condition's key unless the healer says another" + }, + "act": { + "type": "string" + }, + "outcome": { + "type": "string", + "enum": [ + "acting", + "acted", + "failed", + "escalated" + ] + }, + "said": { + "type": "string" + }, + "begun": { + "type": "string", + "format": "date-time" + }, + "finished": { + "type": "string", + "format": "date-time" + }, + "until": { + "type": "string", + "format": "date-time", + "description": "the end of that key's lifetime, which the keeper drops the attempt at on its own clock" + }, + "removed": { + "type": "boolean", + "description": "true when the healer ends the attempt" + } + } + } } ], "family": {