Command reference
oko defects estimate
Records how many minutes the session holding a defect says its repair will take. The holder writes it once per take, when it takes the item (`oko work next --executor SESSION` or `oko defects assign <id> --owner SESSION`).
Invocation#
oko defects estimate <id> --minutes N --by SESSION [--model PROVIDER/MODEL] [--json]Inputs and options#
- --by names the session that holds the defect; --model the model it runs on, else the model the live agent listing (`oko sessions agents`) shows for that session.
Output and state effect#
- Adds the note `estimated: <N> min by <session>, model <model>` to the defect, beside its assignment note, so every reader and writer of the register keeps it. Only this command writes such a note: `oko defects note` refuses an observation that starts with `estimated: `. After the repair, the estimate stands beside the time the repair took from that take to its recorded repair; `oko work forecast` corrects later estimates by it.
- Only the holder writes its estimate. Oko Desktop → Blockers → Forecast writes none: for each take it names as taken without one, **Ask <holder> to estimate** leaves the holder a message naming this command, as `oko sessions send <holder> --defect <id>` does, and shows the send's refusal word for word.
Refusals and safe exits#
- “oko defects estimate requires --minutes <whole number>” and “oko defects estimate: --minutes takes a positive whole number, got <n>: …” (exit 2).
- “defect <short> is held by nobody; the session that takes it (`oko work next --executor SESSION` or `oko defects assign <short> --owner SESSION`) estimates it”.
- “defect <short> is held by <owner>, not <session>; only its holder estimates it”.
- “defect <short> has nothing left to estimate: its repair is recorded in <revision>” (or its fix, or “it is withdrawn”).
- “defect <short> was estimated at <N> min by <session> at <time>; an estimate is written once per take”.
- Without --model: “the live agent listing shows no model for session <session> among its <n> session(s); name it with --model PROVIDER/MODEL”, or the listing's own failure with the same advice.