R3 cto raise class=cross-role route_to=human
R3 cto self resolve -> human-required
R3 cto other role resolve -> human-required
R3 cto authorize before -> decision-not-approved
R3 cto human resolve -> undefined
R3 cto authorize after -> {"class":"cross-role","decision":"4381b2ea-f8bb-4614-89a2-c3b58dcc9478"}
R3 pm raise class=cross-role route_to=human
R3 pm self resolve -> human-required
R3 pm other role resolve -> human-required
R3 pm authorize before -> decision-not-approved
R3 pm human resolve -> undefined
R3 pm authorize after -> {"class":"cross-role","decision":"228defd1-0385-47dc-a562-14cc7a1fe158"}
R3 coder raise class=cross-role route_to=cto
R3 cto resolves coder -> undefined
R3 coder authorize -> {"class":"cross-role","decision":"134e5879-d92a-4694-9f57-99d3511ae7f5"}
R2 revoked pm-run after restart -> run-revoked
R2 replacement after restart -> {"role":"pm","run":"pm-next"}
R2 revoked pm-run still other verbs -> not-holder
dup -> duplicate-run
bad harness then good -> invalid-harness "string"
✔ R3 cto self-arbiter routes to human (94.464351ms)
✔ R3 pm self-arbiter routes to human (94.142635ms)
✔ R3 non-arbiter coder still routes to cto (77.105785ms)
✔ R2 revoked run across a broker restart (116.284091ms)
✔ bindLaunch run key after a refused record (50.576946ms)
R4 boot true
R4 first true
R4 duplicate {"ok":false,"error":"duplicate-run"}
R4 malformed record {"ok":false,"error":"invalid-launch-process"}
R4 later bind true r2
R4 second boot {"ok":false,"error":"invalid-host-request"}
R4 exit after protocol error 2
✔ R4 broker keeps serving after a refused bind, protocol error exits 2 (97.430903ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 592.244641
