C11: mesh-conditions says findings-asked, resyncs one observer, and defines the finding bodies
The event findings-asked (ask, at, by, module; 7 days, 16 MiB), resync with an optional module and callers operator, healers and sessions, and the section bodies: the finding with its layout whole, finding-written, finding-cleared and findings-stated. The state findings is its owner's alone. Whether findings-views is a state of this definition waits on a question. Builds: design 47 G §383, §384, §390, §434, §437, §439 Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
[
|
||||
{
|
||||
"name": "the keeper asks one observer to state its findings",
|
||||
"of": "event:findings-asked",
|
||||
"subject": "mesh.seat.mesh-conditions.event.findings-asked",
|
||||
"given": {
|
||||
"ask": "a-20261111t100000",
|
||||
"at": "2026-11-11T10:00:00Z",
|
||||
"by": "jochen",
|
||||
"module": "mesh-host"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "the keeper asks every observer",
|
||||
"of": "event:findings-asked",
|
||||
"subject": "mesh.seat.mesh-conditions.event.findings-asked",
|
||||
"given": {
|
||||
"ask": "a-20261111t100100",
|
||||
"at": "2026-11-11T10:01:00Z",
|
||||
"by": "mesh-conditions"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -84,15 +84,26 @@
|
||||
},
|
||||
{
|
||||
"name": "resync",
|
||||
"description": "Read every observer's findings again and raise and clear what differs from the open conditions: the recovery of a keeper that missed a change.",
|
||||
"description": "Ask the observers to state their findings again, every one or the one named, and raise and clear what differs from the open conditions: the recovery of a keeper that missed a change. Each call is written in the hand-act log of the seat mesh-hand-acts (design 47 G 390).",
|
||||
"input": {
|
||||
"properties": {},
|
||||
"type": "object"
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"module": {
|
||||
"type": "string",
|
||||
"description": "ask this observer alone; none asks all"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"answer": {
|
||||
"type": "object",
|
||||
"description": "what was raised and cleared again"
|
||||
}
|
||||
},
|
||||
"callers": [
|
||||
"operator",
|
||||
"healers",
|
||||
"sessions"
|
||||
]
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
@@ -113,6 +124,40 @@
|
||||
"body": {
|
||||
"$ref": "#/defs/ConditionEvent"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "findings-asked",
|
||||
"keep": {
|
||||
"max-age-days": 7,
|
||||
"max-mib": 16
|
||||
},
|
||||
"body": {
|
||||
"type": "object",
|
||||
"description": "the keeper asks every observer, or one, to state its findings (design 47 G 384, 390)",
|
||||
"properties": {
|
||||
"ask": {
|
||||
"type": "string",
|
||||
"description": "the ask's id"
|
||||
},
|
||||
"at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"by": {
|
||||
"type": "string",
|
||||
"description": "who asked: the keeper, or the person or session that called resync"
|
||||
},
|
||||
"module": {
|
||||
"type": "string",
|
||||
"description": "to ask one observer; none asks all"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ask",
|
||||
"at",
|
||||
"by"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"family": {
|
||||
@@ -363,6 +408,14 @@
|
||||
"at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string",
|
||||
"description": "the module the finding is about, when not the observer"
|
||||
},
|
||||
"waiting-on": {
|
||||
"type": "string",
|
||||
"description": "what it waits on: a person, a part or a call"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -380,7 +433,7 @@
|
||||
"description": "one finding of the observer that wrote it"
|
||||
}
|
||||
],
|
||||
"description": "every observer's findings, one key per finding; a key written raises or changes the condition of the same key, a key deleted clears it"
|
||||
"description": "every observer's findings, one key per finding, kept in the observer's own state and read only by its owner's read tool; the keeper hears each change as the observer's events finding-written, finding-cleared and findings-stated (design 47 G 383, 434)"
|
||||
}
|
||||
],
|
||||
"defs": {
|
||||
@@ -643,5 +696,191 @@
|
||||
"change"
|
||||
]
|
||||
}
|
||||
},
|
||||
"bodies": {
|
||||
"Finding": {
|
||||
"type": "object",
|
||||
"description": "one finding as an observer says it: the layout whole, plus scope, id and since (design 47 G 437, 439)",
|
||||
"properties": {
|
||||
"kind": {
|
||||
"type": "string"
|
||||
},
|
||||
"scope": {
|
||||
"type": "string",
|
||||
"description": "the key's first part: <scope>.<id>.<kind> (ADR 0564)"
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"description": "the key's second part"
|
||||
},
|
||||
"at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"since": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "since when the finding stands"
|
||||
},
|
||||
"severity": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"urgent",
|
||||
"warning"
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"type": "string",
|
||||
"description": "one line"
|
||||
},
|
||||
"headline": {
|
||||
"type": "string"
|
||||
},
|
||||
"explanation": {
|
||||
"type": "string"
|
||||
},
|
||||
"subject": {
|
||||
"$ref": "#/defs/Subject"
|
||||
},
|
||||
"evidence": {
|
||||
"type": "array",
|
||||
"description": "newest first, at most 10",
|
||||
"items": {
|
||||
"$ref": "#/defs/Evidence"
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"type": "string",
|
||||
"description": "the row, probe or event that saw it"
|
||||
},
|
||||
"observer": {
|
||||
"type": "string",
|
||||
"description": "the module that wrote it"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string",
|
||||
"description": "the module the finding is about, when not the observer"
|
||||
},
|
||||
"waiting-on": {
|
||||
"type": "string",
|
||||
"description": "what it waits on: a person, a part or a call"
|
||||
},
|
||||
"actions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/defs/Action"
|
||||
}
|
||||
},
|
||||
"needs": {
|
||||
"type": "string"
|
||||
},
|
||||
"resolver": {
|
||||
"type": "string",
|
||||
"description": "self, operator, agent or healer:<name>"
|
||||
},
|
||||
"ref": {
|
||||
"type": "string",
|
||||
"description": "the key's last part when it is not the kind"
|
||||
},
|
||||
"run": {
|
||||
"type": "string",
|
||||
"description": "what of its own saw it last"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"kind",
|
||||
"scope",
|
||||
"id",
|
||||
"at",
|
||||
"since",
|
||||
"severity",
|
||||
"summary",
|
||||
"subject",
|
||||
"source",
|
||||
"observer"
|
||||
]
|
||||
},
|
||||
"FindingWritten": {
|
||||
"$ref": "#/bodies/Finding"
|
||||
},
|
||||
"FindingCleared": {
|
||||
"type": "object",
|
||||
"description": "an observer no longer observes a finding",
|
||||
"properties": {
|
||||
"kind": {
|
||||
"type": "string"
|
||||
},
|
||||
"scope": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"why": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"kind",
|
||||
"scope",
|
||||
"id",
|
||||
"at",
|
||||
"why"
|
||||
]
|
||||
},
|
||||
"FindingsStated": {
|
||||
"type": "object",
|
||||
"description": "every finding an observer observes now, at its start and when asked (design 47 G 384, 439)",
|
||||
"properties": {
|
||||
"at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"asked": {
|
||||
"type": "string",
|
||||
"description": "the ask it answers; none at a start"
|
||||
},
|
||||
"findings": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/bodies/Finding"
|
||||
}
|
||||
},
|
||||
"pending": {
|
||||
"type": "array",
|
||||
"description": "the keys the observer cannot judge yet since its start, with their since and bound",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"key": {
|
||||
"type": "string"
|
||||
},
|
||||
"since": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"bound": {
|
||||
"type": "string",
|
||||
"description": "a duration such as 5m"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"key",
|
||||
"since",
|
||||
"bound"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"at",
|
||||
"findings",
|
||||
"pending"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user