feat: D12 Steam-launch wrapper for auto crash-capture + doc status fixes — 0.16.0 #11

Merged
jessey merged 1 commits from feat/m6-steam-detection into main 2026-05-22 07:01:45 +00:00
Owner

D12 "build first" wrapper: rigdoctor wrap %command% (Steam launch option /
Lutris/Heroic wrapper field) auto-brackets a focused diagnostic around a game —
start a game-tagged capture on launch, clean stop on exit; a hard freeze leaves
it unterminated → flagged as a crash next launch.

  • core/wrap.py: game name from SteamAppId, PATH-proof launch_option(), run()
    that doesn't disturb an existing capture and returns the game's exit code.
  • diagnostic.start() preserves an unanalyzed crash to diagnostic-crash.jsonl
    before clearing, so auto-relaunch can't wipe an unseen crash; pending_crash/
    analyze_crash check the archive first.
  • GUI: "Auto-capture…" helper dialog (copyable launch-option string).
  • Tests for wrap (name resolution, exit-code passthrough, no-double-start).
  • docs: fix stale MODULES.md status column (M1/M3/M4/M5/M8/M10/M13 → done),
    update ROADMAP/MODULES for the wrapper + crash detection.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

D12 "build first" wrapper: `rigdoctor wrap %command%` (Steam launch option / Lutris/Heroic wrapper field) auto-brackets a focused diagnostic around a game — start a game-tagged capture on launch, clean stop on exit; a hard freeze leaves it unterminated → flagged as a crash next launch. - core/wrap.py: game name from SteamAppId, PATH-proof launch_option(), run() that doesn't disturb an existing capture and returns the game's exit code. - diagnostic.start() preserves an unanalyzed crash to diagnostic-crash.jsonl before clearing, so auto-relaunch can't wipe an unseen crash; pending_crash/ analyze_crash check the archive first. - GUI: "Auto-capture…" helper dialog (copyable launch-option string). - Tests for wrap (name resolution, exit-code passthrough, no-double-start). - docs: fix stale MODULES.md status column (M1/M3/M4/M5/M8/M10/M13 → done), update ROADMAP/MODULES for the wrapper + crash detection. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jessey added 1 commit 2026-05-22 07:01:40 +00:00
D12 "build first" wrapper: `rigdoctor wrap %command%` (Steam launch option /
Lutris/Heroic wrapper field) auto-brackets a focused diagnostic around a game —
start a game-tagged capture on launch, clean stop on exit; a hard freeze leaves
it unterminated → flagged as a crash next launch.

- core/wrap.py: game name from SteamAppId, PATH-proof launch_option(), run()
  that doesn't disturb an existing capture and returns the game's exit code.
- diagnostic.start() preserves an unanalyzed crash to diagnostic-crash.jsonl
  before clearing, so auto-relaunch can't wipe an unseen crash; pending_crash/
  analyze_crash check the archive first.
- GUI: "Auto-capture…" helper dialog (copyable launch-option string).
- Tests for wrap (name resolution, exit-code passthrough, no-double-start).
- docs: fix stale MODULES.md status column (M1/M3/M4/M5/M8/M10/M13 → done),
  update ROADMAP/MODULES for the wrapper + crash detection.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jessey merged commit 8d6ce47e87 into main 2026-05-22 07:01:45 +00:00
jessey deleted branch feat/m6-steam-detection 2026-05-22 07:01:45 +00:00
Sign in to join this conversation.