Oko/Docs

Command reference

oko rulings gates

Reads the installed Tama hook catalogue and shows the operator's transcript ruling bound to each hook in Oko. Reconcile reads actual standing-rule messages through Brama and binds only a verified decision; no Tama hook or installation is changed.

Invocation#

Command
oko rulings gates [reconcile] [--json]

Inputs and options#

  • The installed registry at ~/.shared-hooks/registry.json supplies hook identities, declared reasons and release identity. `oko rulings record` copies an operator message from a real transcript; `oko rulings enforce ID --kind hook --name HOOK --product tama --revision REVISION --by SESSION` binds one manually. Reconcile selects an actual operator standing-rule message for each unbound hook, never metadata alone; one decision can govern several hooks.

Output and state effect#

  • One row per installed hook shows its id, ruling id, date and operator words, or `unbound` with the last selection cause. JSON returns [{hook, why, release, ruling, pendingCause}]. Reconcile retains each selected verbatim message and hook binding in the ruling register; a changed Tama release requires a fresh binding. On a Brama outage it retains the failed operation and cause for later retry. Oko's periodic reflection pass retries. Oko Desktop → Rulings → Tama gate decisions reads the same native result and offers Reconcile.

Refusals and safe exits#

  • An unreadable or malformed installed catalogue names its path and cause. Brama compares a defect or supervisor proposal with installed hook identities, bound decisions and stored standing rules: an unrelated defect remains recordable even if another hook is unbound; a proposal against an unbound hook refuses with that hook and its last selection cause. An unavailable or unreadable model refuses with its failed operation and cause, never a keyword guess. A proposal reversing a bound gate quotes the decision and its date; an actual failed operation of that gate remains recordable.
  • Reconcile binds only a standing rule whose author the organization's register gives steering (`oko rulings steering list`); otherwise the hook stays unbound with `standing rule <session> #<n> selected for hook <hook> was said by <email> (<role>), whom the organization's register does not give steering`, or `… names no author` when the ledger row carries none.

CLI reference#