# PCRT Diagnostics Linux 0.1.0

Initial Linux command-line client release.

## Server integration

- Uses the production PCRT server at `https://scan.pcrtdiag.com:8443/`.
- Accepts a five-character session code through `--code`, `-c`, or a positional argument.
- Fetches configuration without consuming the code.
- Preserves one-time claim and same-client retry behavior.
- Uses the server-issued `X-PCRT-Claim-Token` for status and report uploads.
- Uploads `system-info.html`, `test-results.html`, `raw-data.json`, and `run-log.txt`.
- Treats the run as complete only after the server acknowledges receiving report files.

## Linux diagnostics

- Linux, kernel, firmware, system-board, CPU, memory, storage, filesystem, PCIe, USB, GPU, network, power, and security inventory.
- Deterministic prime-number CPU validation.
- Sustained all-logical-processor CPU calculation workload.
- Application-level deterministic memory-pattern test.
- Server-controlled sustained memory workload, capped at 3 GiB.
- SMART/NVMe health collection through `smartctl` when available.
- Non-destructive distributed physical-drive read sampling with 64-bit offsets.
- Temporary disk write, flush, read, and SHA-256 verification.
- Filesystem capacity and root mount-state review.
- Linux hwmon and thermal-zone temperature collection.
- PCIe and USB sysfs inventory including available link and USB speed details.
- TPM, RTC, systemd failed-unit, package-update, Secure Boot, SELinux/AppArmor, battery, and network checks.
- Kernel hardware-event filtering for MCE, EDAC, PCIe/AER, storage, filesystem, GPU, and USB evidence.
- Before/after kernel-event comparison for Full, Deep, and Burn-in workloads.

## Status and reports

- Fail is reserved for confirmed hardware, data-integrity, or severe Linux error evidence.
- Access and unsupported-operation problems are Incomplete rather than hardware failures.
- Separate domain results prevent Linux maintenance findings from being presented as hardware failures.
- Technician-facing HTML reports use collapsible evidence sections.
- Complete command output and structured evidence remain in `raw-data.json`.

## Distribution

- Written in Go with no third-party Go dependencies.
- Self-contained static binaries for Linux AMD64 and ARM64.
- Includes `build.sh`, `install.sh`, SHA-256 checksums, source, tests, and GPLv3 license.
