/reac/segment/{name}'s roleState — what the daemon says about the role it is carrying.
applied and role_reestablish_pending are libreac's (core pins them byte-for-byte);
role_hunting is reac-pw's OWN answer-side addition; role_tap is the TAP's own answer
(§8, eighth amendment 2026-09-13; reac-pw >= 1.0.2) — serving, asserting nothing, and it will
never reach applied, because applied means the engine PERFORMED a role change on the wire
and a tap performs none. A tap publishing applied would claim the one thing about itself
that is definitionally false; one publishing role_hunting would claim a courtship it is
DEFINED by not running. So it publishes neither, and this is the third answer.
The FIELD stays string, so a member neither side has named passes through unchanged exactly
as masterState does; this list is what the row PUBLISHES as the travel, so a client's menu
and this vocabulary cannot drift.
/reac/segment/{name}'sroleState— what the daemon says about the role it is carrying.appliedandrole_reestablish_pendingare libreac's (core pins them byte-for-byte);role_huntingis reac-pw's OWN answer-side addition;role_tapis the TAP's own answer (§8, eighth amendment 2026-09-13; reac-pw >= 1.0.2) — serving, asserting nothing, and it will never reachapplied, becauseappliedmeans the engine PERFORMED a role change on the wire and a tap performs none. A tap publishingappliedwould claim the one thing about itself that is definitionally false; one publishingrole_huntingwould claim a courtship it is DEFINED by not running. So it publishes neither, and this is the third answer.The FIELD stays
string, so a member neither side has named passes through unchanged exactly asmasterStatedoes; this list is what the row PUBLISHES as the travel, so a client's menu and this vocabulary cannot drift.