Doctor's checks
jevlin doctor answers one question per line, and names the one thing to fix. -json gives the same checks as one envelope.
| check | OK when |
|---|---|
| authorization server | The configured AS answers. |
| enrolled | The AS accepts this installation's authorization. |
| joined this epoch | This installation is in the open epoch. When the rewards service refused the join under its region policy, NO says which refusal; only a VPN or proxy hold offers a fix. |
| payout address | An address is in force. |
| earning | This epoch has enough verified searches to qualify. |
| intake writable | This process can write where a search records. Probes with one inert non-.json file, then removes it. |
| recording | Recorded searches are waiting, queued, or verified at the AS; or nothing ran recently. |
| up to date | The daily release check found this copy current, or has not run yet. NO names the newer release and the one command that applies it here. UNKNOWN when the last check failed, is still running, could not be read, is dated in the future, or ran more than three days ago, which says the hooks that start it may not be running. |
| wallet access | Windows only: nobody but you can read the wallet. |
| state access | Windows only: the state directory and its credentials have an access list and an owner, who is you, SYSTEM or Administrators. Anyone else the list names is shown, and is OK: an agent's sandbox is expected there. |
NO, UNKNOWN and the exit code
NO is a fact and a successful diagnosis; UNKNOWN is the absence of one. doctor exits non-zero only when every check came back UNKNOWN. It opens existing state only and creates no key, wallet or enrollment. With [miner] enabled and mining on, it may create the intake directory when its parent exists. Its AS checks may rotate the refresh token.
The checks that most often read UNKNOWN, and what each means, are on Troubleshooting.
Health records
status and doctor also show unresolved health records in three components, decision, capture and flush, with these reasons:
| reason | what went wrong |
|---|---|
decision_unreadable | The stored mining decision could not be read. |
intake_unwritable | A search could not write where it records. |
sandbox_restricted | A sandbox kept a search from recording. |
flush_spawn_failed | A flush could not be started. |
flush_state_unavailable | A flush could not take its lock or write its stamp. |
auth_state_unavailable | A flush could not read the authorization state. |
submission_failed | Evidence could not be submitted. |
spool_backlog | Evidence is piling up in the spool. |
Stopping mining keeps earlier capture and flush records as previous degradation.