Expand description
Roster admission: a parsed roster.yaml checked against the stores and the project’s
murmur.lock, and either bound to exact artifacts with its reachability expanded into edges, or
refused whole.
Admission launches nothing, writes nothing and contacts no daemon. Its inputs are the roster, a
Registry and the lock already read by the caller; the only reads it makes are the registry
lookups.
The checks run in a fixed order and the first refusal is returned:
- member names are unique;
- exactly one member is the entry member;
- every rule’s
fromandtonames a member; - no rule calls the entry member;
- each member resolves, its packed manifest parses, and
murmur.lockagrees with it; - every member an explicit rule calls serves peers;
- when any edge exists, every member’s door requires authentication.
Checks 1–4 read no store, so a structurally broken roster is refused without a lookup. Within a check, members are taken in roster order.
An admitted roster can be asked for AdmittedRoster::caller_overflows: the members more
members may call than their lifecycle holds at once, which mur prints as W-ROS-001
without refusing anything.
Structs§
- Admitted
Member - One member, bound to the artifact admission resolved for it.
- Admitted
Roster - A roster that passed every admission check.
- Caller
Overflow - A member the roster lets more members call than it holds at once.
- Roster
Edge frommay callto. Both are member names.
Enums§
- Roster
Refusal - Why a roster was not admitted. One refusal covers the whole roster: no member of a refused roster is admitted.
Functions§
- admit_
roster - Admit
roster: run every check in the module’s order and return the first refusal, or bind each member to the artifactregistryresolves for this host’s platform. - admit_
roster_ file - Load
roster.yamlfromproject_dirand admit it. - caller_
overflow_ fix - The one-line remedy
mur doctorprints underFix:foroverflow. - caller_
overflow_ warning - The whole
warning[W-ROS-001]: …line foroverflow, link included.mur run --rosterandmur doctorboth print this string, so the two read the same.