{
  "checker": {
    "details": {
      "argv": [
        "/root/.local/lib/vls/vls"
      ],
      "bytes": 464,
      "kind": "http",
      "scope": "product operation",
      "status": 200,
      "url": "http://127.0.0.1:11500/v1/models",
      "working": true
    },
    "status": "PASS"
  },
  "deviations": [
    "README Install section says `curl ... | sh`; I downloaded the script first and read it, then ran it with `sh install.sh`, same command, to inspect it before execution.",
    "README says `vls` is on PATH; the installer warned ~/.local/bin is not on PATH, so the probe uses the absolute path /root/.local/lib/vls/vls.",
    "Browser (CDP at http://192.0.2.1:9226) was not needed and not used; the operation is HTTP-only."
  ],
  "main_blocker": null,
  "operation": "Installed VLS 0.1.1 Preview 3.3 (Linux x64) with the README install command, started the local OpenAI-compatible service with `vls`, and queried GET /v1/models, which lists the 'velocity' model. /health also returned status ok.",
  "operation_scope": "Covers install, start, and the model-list endpoint. Chat completions, speech, transcription and image generation were not exercised: no model is loaded and no GGUF was downloaded (that needs the VLS panel, and the chat operation needs a loaded model). Vulkan GPU build not used (no libvulkan loader in the VM); the processor build was installed. The repo itself is documentation only, so the product is the prebuilt release, not built from source.",
  "outcome": "working",
  "steps": [
    "curl -fsSL https://github.com/Veloresearch/velocity-local-services/releases/latest/download/install.sh | sh  (run as two steps: downloaded to /tmp/vls-install/install.sh, reviewed, then `sh install.sh`; installer verified the package SHA-256 and installed to /root/.local/lib/vls)",
    "/root/.local/lib/vls/vls  (started in background; GET /health returned status ok)",
    "GET http://127.0.0.1:11500/v1/models (returned the 'velocity' model, loaded:false)",
    "Stopped the test instance (PID 584) so the port is free for the checker"
  ],
  "stuck_step": null,
  "suggested_fix": null
}
