305c88ba09
A focused capture that ends without a clean stop (no session-stop, no live recorder) is treated as a likely hard freeze. - core/diagnostic.py: pending_crash() detects the unterminated session; acknowledge_crash() dismisses it; analyze_crash() combines the captured window (final readings + GPU-lost) with a focused scan of the PREVIOUS (crashed) boot + SMART/driver/persistence/temps. - health.check_previous_boot() scans `journalctl -k -b -1`; run_health_checks gained include_journal to avoid double-scanning for the crash path. - GUI: Games page shows a warning banner on launch for an interrupted diagnostic with Analyze crash / Dismiss → results dialog. - Tests for crash detection / clean-stop / acknowledge / in-progress. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
27 lines
677 B
TOML
27 lines
677 B
TOML
[build-system]
|
|
requires = ["setuptools>=61"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "rigdoctor"
|
|
version = "0.15.0"
|
|
description = "Modular hardware monitoring & crash diagnostics for Linux gamers."
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
# Core/CLI/daemon are stdlib-only by design (D2). The GUI/tray modules will add
|
|
# PySide6 via an optional extra when those land.
|
|
dependencies = []
|
|
|
|
[project.optional-dependencies]
|
|
gui = ["PySide6", "pyte"]
|
|
|
|
[project.scripts]
|
|
rigdoctor = "rigdoctor.cli:main"
|
|
rigdoctor-gui = "rigdoctor.gui.app:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.setuptools.package-data]
|
|
rigdoctor = ["gui/assets/*.svg"]
|