## CLI Parity Checklist (apt-ostree vs rpm-ostree) Source references: - rpm-ostree builtins: `inspiration/rpm-ostree/src/app/` (files named `rpmostree-builtin-*.cxx` and related `*-builtins*`) - apt-ostree CLI: `src/cli.rs` ### rpm-ostree top-level commands detected - status - upgrade - rollback - deploy - rebase - initramfs - initramfs-etc - kargs - reload - cancel - reset - refresh-md - compose - override - apply-live - finalize-deployment - cleanup - start-daemon - db - ex (group) - testutils (hidden) - shlib-backend (hidden) ### apt-ostree top-level commands (src/cli.rs) - Status - Upgrade - Rollback - Deploy - Rebase - Install - Uninstall - Search - Initramfs - InitramfsEtc - Kargs - Reload - Cancel - Transaction (group) - Compose (group) - Db (group) - Override (group) - Reset - RefreshMd - ApplyLive - Usroverlay - Cleanup - FinalizeDeployment - Metrics - StartDaemon - Ex (group) - Countme - Container (group) - Testutils (hidden) - ShlibBackend (hidden) - Internals (hidden) ### Parity status - status: present (Status) - upgrade: present (Upgrade) - rollback: present (Rollback) - deploy: present (Deploy) - rebase: present (Rebase) - initramfs: present (Initramfs) - initramfs-etc: present (InitramfsEtc) - kargs: present (Kargs) - reload: present (Reload) - cancel: present (Cancel) - reset: present (Reset) - refresh-md: present (RefreshMd) - compose: present (Compose) - override: present (Override) - apply-live: present (ApplyLive) - finalize-deployment: present (FinalizeDeployment) - cleanup: present (Cleanup) - start-daemon: present (StartDaemon) - db: present (Db) - ex: present (Ex) - testutils (hidden): present (Testutils) - shlib-backend (hidden): present (ShlibBackend) ### Differences and extras - install/uninstall: present in apt-ostree; maps to rpm-ostree package layering builtins (expected) - search: present in apt-ostree; rpm-ostree has `db search` flows (OK) - transaction (group): apt-ostree adds management helpers; aligns with rpm-ostree transaction concepts - usroverlay: extra in apt-ostree (not a top-level in rpm-ostree; keep as experimental) - metrics: extra in apt-ostree (telemetry; not in rpm-ostree) - countme: extra in apt-ostree (dnf concept; not in rpm-ostree) - container (group): extra in apt-ostree (rpm-ostree has container helpers but not a top-level group) - internals (hidden): extra diagnostics; acceptable as hidden ### Next actions for strict parity - Review and align flags/options per command against rpm-ostree - Ensure help text and defaults match where applicable - Gate non-parity extras (`usroverlay`, `metrics`, `countme`, `container`) behind experimental or hidden flags if needed