cuda-doctor logo

Shared report model

Implementedv0.0.0

include/core/report.hpp

This header is the data contract for every native command. Driver, GPU, CUDA, platform, configuration, and repo probes all produce the same `Probe` shape, and the CLI prints or serializes the aggregate `Report` structure.

Reference

Shared native typescpp
enum class Status { kOk, kIssue, kMissing, kUnsupported };
struct Probe { std::string name; Status status; std::string message; };
struct Report { std::string os; std::string arch; Status overall; std::vector<Probe> probes; std::vector<std::string> next_steps; };

Why it matters

Because every command flows through the same report model, the text renderer and JSON renderer in `src/main.cpp` can stay generic. This header is also the reason `check` and `doctor` can share the same status summarization shape.