The assigner's state and verb placement are assignments, with its events, tools, views and every caller; the assigner copies the retired state at its start (issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
@@ -71,20 +71,20 @@ type Request struct {
|
||||
|
||||
// Case is one catalogue composed: every module's manifest by name, and per node the manifests kept at the build it runs.
|
||||
//
|
||||
// Placements are, by node, the placement the case composes that node with in place of what Input says of it: a change's
|
||||
// own placement files, so a check composes a catalogue pull request's placement (issue 1126, frombus.Placed); a null
|
||||
// placement leaves nothing placed on the node. A case without them composes Input's.
|
||||
// Assignments are, by node, the assignments the case composes that node with in place of what Input says of it: a change's
|
||||
// own assignments files, so a check composes a catalogue pull request's assignments (issue 1126, frombus.Placed); a null
|
||||
// assignments leaves nothing placed on the node. A case without them composes Input's.
|
||||
//
|
||||
// Verdicts are, by module, as raw JSON (this package is seat-neutral, novox/hq ADR 0635 §4; the node-engine's composer decodes the
|
||||
// mesh-catalog seat's manifest verdict, and Placements the mesh-module-assigner seat's placement), the indexer's judge's verdict on its manifest in Manifests (novox/hq ADR 0578 §5), put in by
|
||||
// mesh-catalog seat's manifest verdict, and Assignments the mesh-module-assigner seat's assignments), the indexer's judge's verdict on its manifest in Manifests (novox/hq ADR 0578 §5), put in by
|
||||
// the assigner or the checker that runs the composer: a refused one is held, composed as its stub so what it offers
|
||||
// still shapes the rest, and named in the case's verdict. A module without one is accepted (the mesh-catalog seat's ManifestVerdict, taken by its readers).
|
||||
type Case struct {
|
||||
Name string `json:"name"`
|
||||
Manifests map[string]Manifest `json:"manifests"`
|
||||
Verdicts map[string]json.RawMessage `json:"verdicts,omitempty"`
|
||||
Kept map[string]map[string]Manifest `json:"kept,omitempty"`
|
||||
Placements map[string]json.RawMessage `json:"placements,omitempty"`
|
||||
Name string `json:"name"`
|
||||
Manifests map[string]Manifest `json:"manifests"`
|
||||
Verdicts map[string]json.RawMessage `json:"verdicts,omitempty"`
|
||||
Kept map[string]map[string]Manifest `json:"kept,omitempty"`
|
||||
Assignments map[string]json.RawMessage `json:"assignments,omitempty"`
|
||||
}
|
||||
|
||||
// Manifest is a module's manifest as its repository holds it (Raw, the bytes), or the digest the delivery indexer keeps
|
||||
|
||||
@@ -21,7 +21,7 @@ type WindowHeld struct {
|
||||
// StepWindow is the one rule every window keeper steps its window by (security-upgrade review F3, the second of a
|
||||
// kind): named is every node the read named, dropped ones included, and holding those of them that hold the window at
|
||||
// now. A read that names no node judges nothing, as a first view's empty answer at revision 0 is no empty state (ADR
|
||||
// 0615): an empty node_haves or a placement not yet read never closes a window, and the window stays as it was. A read
|
||||
// 0615): an empty node_haves or assignments not yet read never closes a window, and the window stays as it was. A read
|
||||
// naming nodes, none holding, closes an open window (closed true, once); one naming a holder opens it, each holder's
|
||||
// since kept from w. overdue are the holders whose since is at least findingAfter before now (the keeper's finding,
|
||||
// cleared for every other node); a read naming no node keeps w's holders' overdue as they stand at now.
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
)
|
||||
|
||||
// The one rule every window keeper steps by (design 51; security-upgrade review F3): a read naming no node judges
|
||||
// nothing, so an empty node_haves or an unread placement never closes a window.
|
||||
// nothing, so an empty node_haves or an unread assignments never closes a window.
|
||||
func TestStepWindow(t *testing.T) {
|
||||
now := time.Date(2026, 11, 4, 17, 0, 0, 0, time.UTC)
|
||||
week := 7 * 24 * time.Hour
|
||||
|
||||
Reference in New Issue
Block a user