Snapshot history keeps only about 5 updates #27

Closed
opened 2026-09-26 07:27:42 +08:00 by Breadway · 5 comments
Owner

Problem

NUMBER_LIMIT="10", and snap-pac makes a pre + post pair per pacman transaction, so only about 5 transactions are kept. NUMBER_LIMIT_IMPORTANT="5".

Where

iso/airootfs/etc/calamares/post-install.sh lines 361-365.

Fix

Use NUMBER_LIMIT="2-20" and NUMBER_LIMIT_IMPORTANT="4-10", and set FREE_LIMIT="0.2" / SPACE_LIMIT="0.5" so cleanup is driven by disk space. Document the retention in Settings > Snapshots.

Acceptance

The config file shows the new values, and ten pacman -S runs keep at least 10 pairs when there's free space.


Source: BOS v0.6.2 source review (tag dated 2026-09-19); paths and line numbers refer to that tree. Read AGENTS.md first. One issue per branch/PR, match existing style. Add a CHANGELOG [Unreleased] entry.

## Problem `NUMBER_LIMIT="10"`, and snap-pac makes a pre + post pair per pacman transaction, so only about 5 transactions are kept. `NUMBER_LIMIT_IMPORTANT="5"`. ## Where `iso/airootfs/etc/calamares/post-install.sh` lines 361-365. ## Fix Use `NUMBER_LIMIT="2-20"` and `NUMBER_LIMIT_IMPORTANT="4-10"`, and set `FREE_LIMIT="0.2"` / `SPACE_LIMIT="0.5"` so cleanup is driven by disk space. Document the retention in Settings > Snapshots. ## Acceptance The config file shows the new values, and ten `pacman -S` runs keep at least 10 pairs when there's free space. --- Source: BOS v0.6.2 source review (tag dated 2026-09-19); paths and line numbers refer to that tree. Read AGENTS.md first. One issue per branch/PR, match existing style. Add a CHANGELOG `[Unreleased]` entry.
Author
Owner

PR: #56

Installer retention is set to 2-20 normal and 4-10 important root snapshots. It also runs snapper setup-quota so the requested 20% free-space and 50% snapshot-space limits can be used, and the README and hardware recovery guide describe the limits. bash -n, git diff --check, Snapper CLI option review, and FAST_BUILD ISO build passed. Ten pacman -S update transactions were not run, so leaving this issue in DOING pending that acceptance check.

The Settings > Snapshots UI note is tracked as BSET-20, linked to this issue. This PR only changes the BOS repository.

PR: https://git.breadway.dev/Breadway/bos/pulls/56 Installer retention is set to 2-20 normal and 4-10 important root snapshots. It also runs `snapper setup-quota` so the requested 20% free-space and 50% snapshot-space limits can be used, and the README and hardware recovery guide describe the limits. `bash -n`, `git diff --check`, Snapper CLI option review, and FAST_BUILD ISO build passed. Ten `pacman -S` update transactions were not run, so leaving this issue in DOING pending that acceptance check. The Settings > Snapshots UI note is tracked as BSET-20, linked to this issue. This PR only changes the BOS repository.
Author
Owner

Independent review of PR #56 found the retention settings and quota setup, but the required ten pacman transactions and free-space retention check are not verified. Forgejo reports the PR is not mergeable. No validation is currently active, so returning BOS-27 to TODO.

Independent review of PR #56 found the retention settings and quota setup, but the required ten pacman transactions and free-space retention check are not verified. Forgejo reports the PR is not mergeable. No validation is currently active, so returning BOS-27 to TODO.
Author
Owner

Independent review of PR #56: the change sets the requested Snapper retention values and documents them, but the acceptance criterion still requires ten real pacman -S transactions followed by confirming at least ten pre/post snapshot pairs while free space is available. I could not safely run that check in this environment. /dev/kvm is absent; this process has no elevated capabilities (NoNewPrivs and seccomp are active), and sudo cannot escalate here. A QEMU TCG guest is technically available, but there is no prepared installed guest, and the host filesystem is 95% full with 45 GB free while other BOS build work is present. Provisioning an installer guest for the real transaction test is not a safe validation path under those constraints. I did not run a simulated substitute or touch the live desktop, user configuration, or installed binaries. PR #56 is also currently reported unmergeable; Forgejo returns no CI statuses, consistent with this repo's lack of pull request CI. Returning BOS-27 and its PR card BOS-56 to TODO until the real acceptance can be demonstrated.

Independent review of PR #56: the change sets the requested Snapper retention values and documents them, but the acceptance criterion still requires ten real `pacman -S` transactions followed by confirming at least ten pre/post snapshot pairs while free space is available. I could not safely run that check in this environment. `/dev/kvm` is absent; this process has no elevated capabilities (`NoNewPrivs` and seccomp are active), and `sudo` cannot escalate here. A QEMU TCG guest is technically available, but there is no prepared installed guest, and the host filesystem is 95% full with 45 GB free while other BOS build work is present. Provisioning an installer guest for the real transaction test is not a safe validation path under those constraints. I did not run a simulated substitute or touch the live desktop, user configuration, or installed binaries. PR #56 is also currently reported unmergeable; Forgejo returns no CI statuses, consistent with this repo's lack of pull request CI. Returning BOS-27 and its PR card BOS-56 to TODO until the real acceptance can be demonstrated.
Author
Owner

PR #56 now has actual acceptance evidence. In an isolated headless KVM Arch guest with Btrfs root and 17 GiB free, ten real pacman -S nano runs created ten complete snap-pac pre/post pairs. All ten pairs remained after number cleanup, including cleanup with NUMBER_MIN_AGE temporarily set to 0. The final config matches all requested values and has QGROUP=1/0. Evidence and reproduction commands are committed in docs/validation/bos-27-retention.md. Main was merged to resolve the existing conflict. No host desktop or personal config was accessed. Ready for independent review; BSET-20 copy remains dependent on this PR landing.

PR https://git.breadway.dev/Breadway/bos/pulls/56 now has actual acceptance evidence. In an isolated headless KVM Arch guest with Btrfs root and 17 GiB free, ten real pacman -S nano runs created ten complete snap-pac pre/post pairs. All ten pairs remained after number cleanup, including cleanup with NUMBER_MIN_AGE temporarily set to 0. The final config matches all requested values and has QGROUP=1/0. Evidence and reproduction commands are committed in docs/validation/bos-27-retention.md. Main was merged to resolve the existing conflict. No host desktop or personal config was accessed. Ready for independent review; BSET-20 copy remains dependent on this PR landing.
Author
Owner

Independent review PASS at 44504c01af. Reviewed installer config/quota changes and independently read the preserved headless guest raw logs. They contain ten distinct pacman transaction markers, ten actual nano reinstalls, and ten complete snap-pac pre/post pairs. The separate age-eligible cleanup CSV retains all ten pairs after disabling the minimum-age protection. Final config matches NUMBER_LIMIT=2-20, NUMBER_LIMIT_IMPORTANT=4-10, FREE_LIMIT=0.2, SPACE_LIMIT=0.5 and QGROUP=1/0; guest has 17 GiB free. Bash syntax and diff check pass; no configured CI statuses. This meets the requested free-space transaction acceptance. It does not claim a fresh Calamares install or low-space stress test. Settings copy is tracked separately by BSET-20.
PR: #56

Independent review PASS at 44504c01af44149d90881c9f4b7ab78c010bf671. Reviewed installer config/quota changes and independently read the preserved headless guest raw logs. They contain ten distinct pacman transaction markers, ten actual nano reinstalls, and ten complete snap-pac pre/post pairs. The separate age-eligible cleanup CSV retains all ten pairs after disabling the minimum-age protection. Final config matches NUMBER_LIMIT=2-20, NUMBER_LIMIT_IMPORTANT=4-10, FREE_LIMIT=0.2, SPACE_LIMIT=0.5 and QGROUP=1/0; guest has 17 GiB free. Bash syntax and diff check pass; no configured CI statuses. This meets the requested free-space transaction acceptance. It does not claim a fresh Calamares install or low-space stress test. Settings copy is tracked separately by BSET-20. PR: https://git.breadway.dev/Breadway/bos/pulls/56
Sign in to join this conversation.
No milestone
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
Breadway/bos#27
No description provided.