Operate / operator doctor

Check the host.
Keep the unknowns.

Is this machine ready to mine or validate on FLOP? Read local capacity, compare it with the docs and see what still needs evidence.

This page shows a recorded Linux host. It never probes your machine. A green check covers one observation, not network admission.

node packages/cli/dist/cli.js doctor miner --markdown

Run from a built flop-lab workspace. Setup and options ↗

Recorded example / identifying details removed

Miner preflight: UNKNOWN

Measured . Sources: local read-only probes and public HTTPS responses. Validator results reuse the same hardware observations.

3Ready for this check
0Below requirement
12Needs evidence

Local evidence is deliberately narrow. Missing NVIDIA tooling means UNKNOWN. The validator profile requires ECC and physical cores; capacity alone cannot establish either.

Follow the evidence

What each result means

The line tracks reading progress, not readiness. Open a source for its exact wording. Requirements are snapshots of the docs recorded with the package fixtures.

Supported host OS

READY

linux/x64. This profile checks the documented Linux amd64 deployment path.

GPU participation floor

UNKNOWN

Probe unavailable (ENOENT)

Exact model fit and TOPLOC

UNKNOWN

Catalogue: qwen/qwen2.5-0.5b-instruct. No exact checkpoint, KV cache budget or runtime memory measurement was supplied. A GPU name or aggregate VRAM does not establish fit.

CPU guidance

UNKNOWN

22 available logical processors. The quoted recommendation is specific to two RTX 5090 cards, not a generic minimum.

RAM guidance

UNKNOWN

33042911232 total bytes; 18890833920 available bytes. The quoted guidance is for RTX 5090 builds. Generic miner RAM minimum is unspecified.

Checkpoint disk capacity

UNKNOWN

518434521088 filesystem capacity bytes; 23556624384 available bytes at the selected path. df does not measure installed device capacity or NVMe quality. Required space depends on the exact checkpoint plus headroom. Neither checkpoint allocation nor persistence is verified.

Docker daemon access

READY

Observed version 29.8.1. No container was started.

Docker Compose availability

READY

Observed version 5.5.1. No container was started.

GPU inside the runtime

UNKNOWN

Host nvidia-smi does not verify NVIDIA Container Toolkit or GPU visibility inside the backend. No container was started.

worker image pin and local digest

UNKNOWN

No image reference supplied

backend image pin and local digest

UNKNOWN

No image reference supplied

Local port binding

UNKNOWN

loopback TCP 80: Port probes disabled; loopback TCP 443: Port probes disabled; loopback TCP 8645: Port probes disabled. Binding tests availability only. A busy port can already belong to the intended service. It does not prove firewall, NAT or ingress. Public HTTPS can use your own tunnel; raw worker port 8645 stays on loopback.

Inbound peer reachability

UNKNOWN

Run the external HTTPS command from a second host after deployment. An unauthenticated 401 shows the session path, not admission.

Clock offset diagnostic

UNKNOWN

Server minus local intervals: [-865, 4105] ms; [-264, 1133] ms. Spec timing_max_clock_skew_ms = 250 ms. HTTP Date has second precision and cannot certify this bound or the miner-agent clock difference. No precise clock verdict. Check time synchronization.

Registration and calibration

UNKNOWN

Hardware readiness does not establish stake, accepted calibration, model identity, DA retention or paid-session admission.

The view from outside

A local bind does not cross NAT.

A transient loopback bind only shows whether this process could claim a local socket. It cannot prove firewall rules, port forwarding or an external route. This recorded run skipped service-port binds to respect the shared machine's port allocation.

The miner manual supports public HTTPS or your own tunnel. After deployment, run this from a second host. A 401 response shows the unauthenticated session path. Keep the raw worker port private.

curl --connect-timeout 5 --max-time 10 -sS -o /dev/null -w '%{http_code}\n' 'https://REPLACE_WITH_PUBLIC_DNS/session/info'

Turn gaps into a useful request.

Use the access draft when you need an operator action. It follows the public issue form and omits hostnames and IPs by default. Add your public account address yourself.

node packages/cli/dist/cli.js doctor miner --access-request

Nothing is submitted. Devnet miners need no request while automatic sponsorship has room.

What this does not verify

No throughput trial, container startup, clock synchronization, installed NVMe inspection or ECC detection. No exact checkpoint fit, stake, calibration, DA availability, peer ingress or network activation. Missing tools and ambiguous requirements stay UNKNOWN.

Back to the suite ↗