Skip to main content

Module roster

Module roster 

Source
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:

  1. member names are unique;
  2. exactly one member is the entry member;
  3. every rule’s from and to names a member;
  4. no rule calls the entry member;
  5. each member resolves, its packed manifest parses, and murmur.lock agrees with it;
  6. every member an explicit rule calls serves peers;
  7. 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§

AdmittedMember
One member, bound to the artifact admission resolved for it.
AdmittedRoster
A roster that passed every admission check.
CallerOverflow
A member the roster lets more members call than it holds at once.
RosterEdge
from may call to. Both are member names.

Enums§

RosterRefusal
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 artifact registry resolves for this host’s platform.
admit_roster_file
Load roster.yaml from project_dir and admit it.
caller_overflow_fix
The one-line remedy mur doctor prints under Fix: for overflow.
caller_overflow_warning
The whole warning[W-ROS-001]: … line for overflow, link included. mur run --roster and mur doctor both print this string, so the two read the same.