Command reference
oko tasks judge
Reads the saved model observation, or explicitly asks the selected judge service and persists the result.
Invocation#
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.