Commit graph

4 commits

Author SHA1 Message Date
c356c1d4c5 feat(patterns): add boot, SSH, Flatpak, AppArmor, XWayland patterns across all 25 distro files
Adds 141 new pattern entries via expansion script:

Universal (all 25 files):
- slow-boot-network-wait: detect NetworkManager-wait-online stalling boot
- slow-boot-device-timeout: detect fstab entries for disconnected devices
- slow-boot-long-running-job: surface slow service with systemd-analyze hint
- ssh-permissions-key: catch unprotected private key file warning
- flatpak-missing-runtime: detect missing Flatpak runtime with update/reinstall advice

Per distro family:
- apparmor-denial: added to windows-to-debian (only missing debian target)
- xwayland-crash: added to all files missing it, with distro-correct install cmd
  (apt/pacman/dnf/zypper per target family)

All 42 Rust unit tests pass.
2026-05-24 22:00:23 -07:00
d7c41f07fe feat(patterns): add missing-shared-library pattern to all distro families
Real-world trigger: libQt6PrintSupport.so.6 missing from CheatEngine
portable binary on Linux Mint 22.3.

Windows/macOS migrants double-click a binary, nothing happens, and they
have no idea why — the dynamic linker error goes to journald silently.
Robin catches 'cannot open shared object file: No such file or directory'
in journald and explains the Linux shared library model, pointing to the
right package manager command (apt/pacman/dnf/zypper) per distro family.

Also documents why 'pip install pyqt6' doesn't fix system library errors.

Added to 23 pattern files covering all source OS / target distro family
combinations.
2026-05-20 13:14:36 -07:00
f7639346a6 feat(patterns): expand macOS-to-Arch and Windows-to-Debian pattern sets
macOS-to-Arch: +9 patterns (pacman lock, dep conflict, DKMS build fail,
PipeWire, WirePlumber, Bluetooth rfkill/profile, GPU hang, XWayland crash,
OOM killer, disk I/O, NetworkManager)

Windows-to-Debian: +11 patterns (dpkg interrupted, PipeWire, PulseAudio,
Bluetooth rfkill/profile, NTFS dirty/force flags, disk I/O, USB reset,
OOM killer, GPU hang, NetworkManager, CUPS unavailable)

All patterns target sources Robin actually watches: journald, kmsg, applog.
match_text strings use invariant substrings from real log output.
2026-05-19 08:07:22 -07:00
8195ad98b0 feat(m1): starter pattern files — macos-to-arch and windows-to-debian 2026-05-18 18:25:11 -07:00