diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/specs/2026-08-25-topgrade-guarded-upgrade-spec.org | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/docs/specs/2026-08-25-topgrade-guarded-upgrade-spec.org b/docs/specs/2026-08-25-topgrade-guarded-upgrade-spec.org index e19ea6c..ae456a5 100644 --- a/docs/specs/2026-08-25-topgrade-guarded-upgrade-spec.org +++ b/docs/specs/2026-08-25-topgrade-guarded-upgrade-spec.org @@ -520,7 +520,7 @@ Spec text: - L193: "The =--only system= scope … shrink this to near zero". Git history: -- =git show 77447d0:…spec.org= L64 has the identical ExecStart sentence, so it was never revised. +- =git show a50fb3b:…spec.org= L64 has the identical ExecStart sentence, so it was never revised. - The uncommitted diff touches only the script name and the containers flag, not L69. Live system: @@ -1195,7 +1195,7 @@ Disposition: modified, folded into Design, Alternatives. Confirmed. Its proposed - L155 (Phase 1): =scripts/upgrade-guarded=, with "=--complete= (... stamp when the deferred set is empty)". - L161 (Phase 3): "=ExecStart= runs the script's =--complete= form as the user". - L173 (AC): "via the Phase-1 path". -- Draft provenance: =git show 77447d0:docs/specs/2026-08-25-topgrade-guarded-upgrade-spec.org= has the L71 text verbatim at its line 66 and the L93 text at its line 88. That draft's Phase 1 (its line 119) reads "A single =maint= entry point (=maint apply-upgrade=, ...)". Commit e777ddc rewrote the phases around the script but left these lines in place. +- Draft provenance: =git show a50fb3b:docs/specs/2026-08-25-topgrade-guarded-upgrade-spec.org= has the L71 text verbatim at its line 66 and the L93 text at its line 88. That draft's Phase 1 (its line 119) reads "A single =maint= entry point (=maint apply-upgrade=, ...)". Commit 068306e rewrote the phases around the script but left these lines in place. - No implementation exists: =grep -rn "apply.upgrade" ~/.dotfiles/maint/src= finds nothing, and the only archsetup hits are in this spec. - Adjacent stale text: L69's ExecStart still lists "=topgrade --only system= ... then =maint stamp topgrade= on success". That conflicts with L142 and L161. :END: @@ -1280,7 +1280,7 @@ Spec docs/specs/2026-08-25-topgrade-guarded-upgrade-spec.org: - L193: "verified in Phase 2". - L200: "Phase-1 and Phase-3 logic under the maint fake harness; Phase-2 install under =tests/installer-steps/=". -The stale lines come from the first draft. In git show 77447d0, the phases are: Phase 1 "Stamp the safe-completion path", Phase 2 "The armed boot-time unit (archsetup)", Phase 3 "The arming affordance (dotfiles maint)". Its lines 148, 154 and 159 match the current L187, L193 and L200 word for word. +The stale lines come from the first draft. In git show a50fb3b, the phases are: Phase 1 "Stamp the safe-completion path", Phase 2 "The armed boot-time unit (archsetup)", Phase 3 "The arming affordance (dotfiles maint)". Its lines 148, 154 and 159 match the current L187, L193 and L200 word for word. Test conventions: - tests/hypr-live-update-guard/test_hypr_live_update_guard.py:1-21 is unittest with HYPR_GUARD_* env-var seams, and its docstring says "python3 -m unittest tests.hypr-live-update-guard...". @@ -1605,7 +1605,7 @@ Spec docs/specs/2026-08-25-topgrade-guarded-upgrade-spec.org: - L57: "vNext: none open — the kernel deferral that was vNext is now part of v1's held set." - L136: "the kernel deferral is now standing, so the dedicated session has to happen on a cadence (security fixes ride the kernel), and the panel's deferred count carries a kernel most days" - L197: "The panel's deferred row is the reminder; a stale-kernel age in maint is a possible follow-up." -- git show 77447d0 L54, the original vNext: "fold the same arm-and-reboot pattern into a live-kernel-upgrade prompt (log to todo.org)". e777ddc, the decision-closing commit, added L57's "none open" and L197 together. +- git show a50fb3b L54, the original vNext: "fold the same arm-and-reboot pattern into a live-kernel-upgrade prompt (log to todo.org)". 068306e, the decision-closing commit, added L57's "none open" and L197 together. todo.org: - :739-740: "...file the vNext =[#D]= kernel-reboot item, and commit the spec." @@ -1858,7 +1858,7 @@ Disposition: modified, folded into Summary, Goals and Non-Goals, Design, Alterna - Spec L61: "...while the ordinary full sweep stays a normal live =topgrade= run." - Spec L158 (Phase 2): "UPDATE and TOPGRADE levers change their =argv= to the script". - Spec L65: the script runs pacman -Syu --ignore=..., then yay -Sua, then topgrade --disable system,git_repos,containers -y. -- git show 77447d0 has the identical Summary at draft L25, Goals at draft L40-43, and the L61 sentence at draft L58. Draft L60 is "Three pieces, at two altitudes." with nothing after it, but current L63 appends "— but the everyday gesture is not a reboot. It is a normal live update that simply leaves the dangerous few behind." So L63 has been edited and is not verbatim. +- git show a50fb3b has the identical Summary at draft L25, Goals at draft L40-43, and the L61 sentence at draft L58. Draft L60 is "Three pieces, at two altitudes." with nothing after it, but current L63 appends "— but the everyday gesture is not a reboot. It is a normal live update that simply leaves the dangerous few behind." So L63 has been edited and is not verbatim. - Current L65/L67/L69 are three bold-labelled paragraphs (split script, user, implementer). - Mitigations already in the spec: L13 (history line naming the live split upgrade as the everyday path), L51 and L55 (the split script named as v1), L167 (acceptance criterion for the live UPDATE). - Labels: L90 "D. ... (this spec)" vs L95 "E. ... (this spec's everyday path)". |
