Name the words of a composition failed only for an answer not heard, and what an answer's revision is, so the assigner and the checker judge a late answer alike (issue 1126)

This commit is contained in:
2026-10-27 02:22:59 +01:00
parent ba398e2460
commit a37d2622ed
2 changed files with 9 additions and 2 deletions
+6
View File
@@ -452,6 +452,12 @@ func ParseCompositionKey(key string) (group, headsHash string, err error) {
return group, headsHash, nil
}
// CompositionUnanswered is the Words of a composition that failed only because a node placed at the head or on the
// trunk did not answer the group's placement candidate within its bound (novox/hq ADR 0559 §5): the checker takes a
// later passing composition of the same heads in without a new check, since the failure was a part of the mesh not
// heard, not the change (ADR 0548 §1).
const CompositionUnanswered = "did not answer the placement candidate within its bound; judged again when it answers"
// CompositionVerdict is the value of a composition key: the group and its heads hash, the State (pass, fail or waits),
// the Words of a refusal or of what it waits for, the mesh-sdk commit it composed with (the assigner's own, or the
// group's mesh-sdk member's head, ADR 0482 clause 3), the machines composed, the first machine that failed, the
+3 -2
View File
@@ -115,8 +115,9 @@ const (
CandidateRefused = "refused"
)
// CandidateAnswer is a node's answer to its group's candidate keys, in HaveNode.Candidates (ADR 0559 §4): the head and
// the key revision it answered, its verdict, the modules composed the same, those that differ with both digests, those
// CandidateAnswer is a node's answer to its group's candidate keys, in HaveNode.Candidates (ADR 0559 §4): the head
// and the revision of the node's own key in the group it answered (0 when the group has no key of its own for it: its
// file is unchanged and it answers as placed at the head or on the trunk, judged by Head alone), its verdict, the modules composed the same, those that differ with both digests, those
// the candidate adds (naming the values not yet issued for each, which is no refusal: a module's credential and boxes
// are made only once it is placed, ADR 0549 §5) or removes, and each refusal. The node's own composition is named
// "node" (HaveNodeWord).