Skip to content

fix: install.sh doctor readiness parsing uses outdated JSON schema #8

@vi70x3

Description

@vi70x3

Problem

The run_doctor() function in install.sh parses the computer-use-linux doctor JSON output using the old schema:

ready="$(printf '%s' "${out}" | jq -r '.readiness.ready // false')"

and

printf '%s' "${out}" | jq -r '.readiness.checks[]? | select(.status != "ok") | ...'

However, the doctor output's readiness object no longer contains .ready (boolean) or .checks (array) fields. The current schema uses:

  • .readiness.blockers (array of strings) — empty array means ready
  • .readiness.can_build_accessibility_tree, .readiness.can_query_windows, etc. (booleans)
  • .readiness.recommended_next_step (string)

Because .readiness.ready is now null, the jq expression .readiness.ready // false evaluates to false, causing install.sh to always report "doctor reports NOT ready" even when the system is fully provisioned.

Steps to Reproduce

  1. Run ./install.sh on any system where the doctor would otherwise report ready (all checks pass, no blockers).
  2. Observe Step 8 outputs ready: null and FAIL doctor reports NOT ready.
  3. Run computer-use-linux doctor | jq '.readiness' directly — note the absence of .ready and .checks fields.

Expected Behavior

When the doctor has zero blockers, install.sh should report OK doctor reports ready.

Proposed Fix

Update the jq queries in run_doctor() to use the current schema:

  • Replace .readiness.ready check with .readiness.blockers | length == 0
  • Replace .readiness.checks[] failure extraction with .readiness.blockers[]

A fix has been prepared locally and tested — install.sh now correctly reports ready on a fully provisioned CachyOS/Hyprland system.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions