feat: Linux-to-Linux migration paths (e.g. Debian/Fedora → Arch) #4

Open
opened 2026-05-19 07:36:04 -07:00 by pyr0ball · 0 comments
Owner

Problem

Robin currently treats SourceOs::Linux as a dead end — the system prompt and pattern files assume the user came from Windows or macOS. But distro-to-distro migrants have real, different needs.

Use cases

  • Debian/Ubuntu → Arch/CachyOS: package manager translation (aptpacman/paru/AUR), rolling release model, minimal-by-default Arch setup, PKGBUILD/makepkg mechanics, AUR lock file errors
  • Fedora/RHEL → Arch: dnfpacman, SELinux absence, systemd unit locations
  • Debian → Fedora: aptdnf, .deb vs .rpm, snap vs Flatpak defaults
  • Any stable → rolling: expectations around update frequency, breakage risk, when to hold packages

What needs to change

  1. MigrationConfig gains a source_distro: Option<String> field alongside distro (target)
  2. build_system_prompt() in llm.rs uses both when available: "migrating from Debian-based to Arch-based"
  3. New pattern files: linux-debian-to-arch.toml, linux-fedora-to-arch.toml, etc.
  4. Onboarding flow (M3) asks "which distro were you on?" when source OS is Linux
  5. Distro family detection in distro.rs extended to cover source distro families

Real test case

Alan: 20 years Debian-based, 11 years Fedora/CentOS, now trying CachyOS. First-hand friction points during migration are the acceptance test for this feature.

Scope

Target M4 (alongside RAG knowledge base). Onboarding UI changes land in M3.

## Problem Robin currently treats `SourceOs::Linux` as a dead end — the system prompt and pattern files assume the user came from Windows or macOS. But distro-to-distro migrants have real, different needs. ## Use cases - **Debian/Ubuntu → Arch/CachyOS**: package manager translation (`apt` → `pacman`/`paru`/AUR), rolling release model, minimal-by-default Arch setup, PKGBUILD/makepkg mechanics, AUR lock file errors - **Fedora/RHEL → Arch**: `dnf` → `pacman`, SELinux absence, systemd unit locations - **Debian → Fedora**: `apt` → `dnf`, `.deb` vs `.rpm`, snap vs Flatpak defaults - **Any stable → rolling**: expectations around update frequency, breakage risk, when to hold packages ## What needs to change 1. `MigrationConfig` gains a `source_distro: Option<String>` field alongside `distro` (target) 2. `build_system_prompt()` in `llm.rs` uses both when available: "migrating from Debian-based to Arch-based" 3. New pattern files: `linux-debian-to-arch.toml`, `linux-fedora-to-arch.toml`, etc. 4. Onboarding flow (M3) asks "which distro were you on?" when source OS is Linux 5. Distro family detection in `distro.rs` extended to cover source distro families ## Real test case Alan: 20 years Debian-based, 11 years Fedora/CentOS, now trying CachyOS. First-hand friction points during migration are the acceptance test for this feature. ## Scope Target M4 (alongside RAG knowledge base). Onboarding UI changes land in M3.
pyr0ball added this to the M4: RAG Knowledge Base milestone 2026-05-19 07:36:04 -07:00
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/robin#4
No description provided.