✔ REQ-COS-1, REQ-ROLE-2: the chief of staff ends a run with a reason and no decision, and the reason is logged (23.708914ms)
✔ REQ-ROLE-2: a role without role.end still needs a resolved decision to revoke (21.792486ms)
✔ REQ-ROLE-2: storage accepts a revoke with a reason or a decision and aborts one with neither (15.386798ms)
✔ REQ-ROLE-2: the chief of staff may still cite a decision, and a decision alone is the old path (16.02653ms)
✔ REQ-ROLE-2: a role without role.end still ends a run through a resolved decision, which is recorded and has no reason (18.301161ms)
✔ REQ-ROLE-2: a reason is required, bounded, and never sent with a decision (18.13804ms)
✔ REQ-COS-1: the chief of staff cannot end its own run; its end of the assistant stops the assistant's thread run (18.330886ms)
✔ REQ-LIMIT-1, REQ-COS-1: organization.set from the chief of staff reaches the shared writer, named as the actor (14.840701ms)
✔ REQ-LIMIT-1, REQ-COS-1: a refused organization.set logs action.refused and no action.allowed, like a refused limits.set (19.729591ms)
✔ REQ-LIMIT-1: organization.set is refused for every caller whose role file lacks organization.change (21.811154ms)
✔ REQ-LIMIT-1: the chief of staff is logged as allowed, and organization.set takes only the human's keys (25.196026ms)
✔ REQ-COS-1: organization.revision answers the revision alone to the chief of staff and spends nothing (18.475373ms)
✔ REQ-COS-1, REQ-LIMIT-1: organization.revision is refused for every caller whose role file lacks organization.change (19.629715ms)
✔ REQ-ROLE-3, REQ-LIMIT-1: a chief-of-staff change is validated, written and logged like a human's; an invalid one is refused (50.314036ms)
✔ REQ-COS-1: the chief of staff reads the revision, changes the file with it, and reads again after a stale one is refused (43.691684ms)
✔ Q169: the chief of staff's change of the assistant is validated, written and logged; a stale or protection-stripping one is refused (43.19502ms)
✔ row 65, Q169: the chief's change of the assistant's route runs the routing checks, and a valid one saves as the chief (29.0134ms)
✔ REQ-ROLE-2, REQ-COS-1: the 3c→3d migration lets the chief of staff end a held role with a reason; neither is still refused (55.31662ms)
ℹ tests 18
ℹ suites 0
ℹ pass 18
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 565.772951
