✔ the four shipped version 2 roles load (2.008219ms)
✔ shipped role scopes match addendum B section 2 and the SR runbook (0.631767ms)
✔ shipped authority follows the note's table (1.544275ms)
✔ every role file in roles/ loads through the validator, and a v2 contract exists (0.658257ms)
✔ version 1 files keep loading with no authority (0.707936ms)
✔ the conductor policy isn't a role (0.140304ms)
✔ a missing role file is exit 4, a symbolic link too (0.27862ms)
✔ version 2 refusals (1.198536ms)
✔ authority: closed vocabulary, no gated-only action, no overlap (1.255213ms)
✔ messaging: optional, role definitions and human, never the tester (1.117536ms)
✔ credentials: Gitea scopes (0.496646ms)
✔ credentials: Vikunja scopes are a group-to-verbs map from the grantable list (0.66559ms)
✔ credentials: services (0.348673ms)
✔ contract: a non-empty regular Markdown file beside the role file (0.447021ms)
ℹ tests 14
ℹ suites 0
ℹ pass 14
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 59.16678
