aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/specs/2026-10-15-updates-design.md
AgeCommit message (Collapse)AuthorFilesLines
9 daysfix(updates): review findings in updatesctlDanilo M.1-2/+2
A git hash starting with a letter (3.1-a59215d) ordered behind its base, because any trailing alphabetic chunk counted as a pre-release; only alpha, beta, rc, pre and dev do now. Trailing zeros (1.14 against 1.14.0) compare equal instead of reading as an upstream bump. A bad line in the slackpkg blacklist is skipped rather than crashing the script and leaving the drawer with nothing. An AppImage keeps its key over a flatpak of the same name, as the spec orders them, and flatpak list has a timeout. A Slackware upgrade compares version and build, so an arch change alone is not a row. The spec's prose now matches the code: the upstream comparison includes the installed version. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
9 daysdocs(plan): the updates module, and two spec correctionsDanilo M.1-12/+17
Drafting the code found two holes in the spec. Awaiting build was limited to the user's own recipes, so an SBo package whose recipe had caught up but was not yet built (nessus) showed in no section; it now covers any recipe. And "the newest ChangeLog line decides" would never call a package new once it had been upgraded after being added; only Added and Removed lines count now. The prefix rule for kernel suffixes is dropped as redundant: version order already ranks a suffixed version newer, which is never behind. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
9 daysdocs(spec): an updates module that names the next stepDanilo M.1-0/+149
The conky updates card copies nvtable's table, where installed-behind and repo-behind share a row and are told apart by colour, and it measured "shipped" as the .info version: gamescope and kitty read as ready to install while the binary repo still held the old build. The drawer module sorts each tracked package into one action, from PACKAGES.TXT of the binary repo rather than the recipe: upgrade here, awaiting build, upstream newer, app updates. Slackware is compared mirror against installed, not against slackpkg's local ChangeLog, which `slackpkg update` replaces without installing anything; new and removed packages come from the mirror's ChangeLog. NFS reads go through a timed-out child because the mount is hard. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>