From d47230c7a1a609f99ba844b49064bd4323c372b7 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Tue, 14 Jul 2026 13:27:37 +0200 Subject: [PATCH] docs: track :gl divergence rebase in v0.9, note supersede in v0.7 --- docs/v0.7-search-and-git.md | 6 ++++++ docs/v0.9-robustness.md | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/docs/v0.7-search-and-git.md b/docs/v0.7-search-and-git.md index 3dfda18..d068e6b 100644 --- a/docs/v0.7-search-and-git.md +++ b/docs/v0.7-search-and-git.md @@ -78,6 +78,12 @@ the tree was unchanged). the background. Snackbar: `pulled ` / `up to date` / `ahead - :sync to publish` / `diverged - resolve on a computer` / `pull: `. + - **Superseded (v0.9):** divergence is no longer refused — `:gl` now rebases + the device's local commit(s) onto origin (`rebase_local_onto`, + last-writer-wins per note, no content merge) and ends `LocalAhead` for + `:gp` to publish. The `diverged - resolve on a computer` snackbar is + replaced by `rebased - :gp to publish`. See + [v0.9-robustness.md](v0.9-robustness.md). Memory + connection work landed here (2026-07-14, forced by the run-2 crash; all three compose): diff --git a/docs/v0.9-robustness.md b/docs/v0.9-robustness.md index 9e46cd1..0003e88 100644 --- a/docs/v0.9-robustness.md +++ b/docs/v0.9-robustness.md @@ -17,6 +17,18 @@ phase at ~3.5 s ≪ the ~30 s idle window; a multi-pack or cold-cache state could still lose it — see the [real-repo-sync kaizen](kaizen/real-repo-sync.md)) +- [ ] `:gl` recovers from a divergence by rebasing — instead of refusing (the + v0.7 ff-only behavior), the pull replants the device's local commit(s) + onto origin's tip (`rebase_local_onto`: splice the `merge_base..HEAD` + paths from the card onto origin's tree, last-writer-wins per note, no + content merge) and ends `LocalAhead` for `:gp` to publish. The branch ref + moves **last**, after the merged tree is applied to the card, so a + power-pull mid-rebase leaves HEAD at the old tip and the next `:gl` + recomputes the identical commit idempotently. Snackbar `rebased - + :gp to publish`. Core done 2026-07-14 (`git_sync.rs`, full build green); + **on-device verification pending** — needs a real divergence to + reproduce (a stranded local commit plus a foreign push to the same + branch) - [ ] Eradicate the paint-during-sync DMA allocation failure: persistent internal DMA scratch in `Epd` (safety net + allocation-free repaints shipped; see the