Oko/Docs

Command reference

oko rulings steering

Reads and changes who in the organization may record standing decisions that agents follow. Members and their central roles come from the organization's register, never from a list in Oko: an owner steers by role; any other member steers only through Oko's own grant of `steering.decide` in `oko_member_permissions`, which only an owner writes. The same authority decides which later decision may supersede an earlier one.

Invocation#

Command
oko rulings steering list | grant <member> | revoke <member> [--json]

Inputs and options#

  • `list` takes nothing; `grant` and `revoke` take the member's user id as `list` prints it. The signed-in member's organization is the one read and changed.

Output and state effect#

  • `list` prints one line per member: `<member> <email> <role> steers as <role> | steers by Oko's grant at <time> | does not steer`; --json prints `[{member, email, role, steers, grant, grantable}]`, `grant {user_id, granted_by, granted_at}` or null, `grantable` false for an owner, whose steering comes from the role and is not Oko's to change. `grant` writes the grant row with the signed-in owner as `granted_by`; `revoke` deletes it; each prints the member's row as read back from the register. Oko Desktop → Rulings → Who steers reads the same list through the native API (`rulings` `steering`) and offers Grant and Revoke for every member whose row is grantable (`steering_change {member, steers}`).

Refusals and safe exits#

  • `oko rulings steering takes list, grant <member> or revoke <member>` (exit 2); `organization <org>'s register lists no member <member>` and nothing is written; `<email> (<member>) steers as an owner of organization <org>; Oko's grant of steering.decide neither adds nor removes an owner's steering` for an owner; `the change for <member> was not recorded: the register reads steers <value> after it; only an owner of organization <org> changes Oko's grants of steering.decide` when the database's row policy refused a member who is not an owner; the database refusals of the shared register.

CLI reference#