Oko/Docs

Command reference

oko tasks judge

Reads the saved model observation, or explicitly asks the selected judge service and persists the result.

Invocation#

Command
oko tasks judge [--probe] [--held-by DEFECT ...] [--json]

Inputs and options#

  • --probe spends a real model request; without it, the command only reads saved health.
  • --held-by names open defects holding an existing outage; repeat it for each owner. --json prints structured observations.
  • The isolated recovery journey in tests/judge/recovery requires a dedicated signed-in HOME under this checkout's .build, a real failed judge-health.json saved during an actual Brama outage, and a restored real route. Supply OKO_TEST_JUDGE_RECOVERY_HOME, OKO_TEST_JUDGE_RECOVERY_ORGANIZATION, OKO_TEST_JUDGE_RECOVERY_RELEASE and the exact OKO_TEST_SOURCE_REVISION, then run the ignored judge-journey test service_lifts_a_recorded_outage_without_a_manual_probe. It launches a real isolated oko serve, waits for its policy-pass probe, reads the persisted health without a manual probe and retains the source revision, commands, log, state and exits under .build/judge/recovery. A missing outage, continued refusal or unanswering service is not a passing run.

Output and state effect#

  • A probe records its actual outcome in the shared database and the local gate copy. It returns that probe's observation, not an older or concurrently replaced row. Both writes are attempted; a failed write identifies its destination, cause and which other write succeeded. An older healthy row never turns a failed probe or failed write into success.
  • Tama's model-judged guards read the local gate copy and stop asking a judge it records as not answering. Oko's service (`oko serve`) lifts that: at every model policy pass (serve.json policyPass) while the copy records an outage it makes the same probe, observed by `oko serve`, and its observation keeps or lifts the outage, so the guards answer again once the judge does without anyone probing by hand. The service log says `serve: judge probe: <state>` or `serve: the judge probe refused: <cause>`.
  • Desktop's Model access screen reads saved health without a model call. Probe judge uses the resident API to make and save the same real request. The screen retains the observation time and shows any model, database or gate-copy failure.
  • A successful probe proves model access, not completion of a task. Use tasks verify for an independent task verdict.

Refusals and safe exits#

  • An unobserved or non-answering judge exits unsuccessfully. A failed database or local copy write also exits unsuccessfully, even when the model answered.
  • --held-by refuses a closed or unknown defect, and refuses when no local outage is recorded.

CLI reference#