docs: lock device to one linear branch via Publish-is-sync principle

The user's mental model of Publish is a Google Doc backed by git, not a
curated commit log. Branches fall out of scope under that framing; the
device tracks one stream of work on whichever branch the remote was
cloned on, and never switches. Drops :Gbranch from v0.7 to match.
This commit is contained in:
Julien Calixte
2026-05-17 12:38:36 +02:00
parent ffcd49588a
commit cbdd6aa197
2 changed files with 6 additions and 1 deletions

View File

@@ -86,6 +86,12 @@ into user-facing language).
reconcile remote state in the background. If a previous **Publish** ended
mid-flight and left a local commit unpushed, the next user-initiated
**Publish** picks it up; until then, the device is silent about it.
- **Publish is sync, not history.** The user's mental model is a Google Doc
that happens to be backed by git: the point is "I want to read this on my
phone later," not "I want a curated commit log." Commits are a transport
detail the device authors itself. Branches are out of scope for the same
reason — the device tracks one linear stream of work on whichever branch
the remote was cloned on, and never switches.
- **No state the user didn't ask for.** No banners about pending work, no
prompts about divergence, no "did you mean to publish" warnings. The status
line reflects the _current_ action's outcome, nothing else.

View File

@@ -71,7 +71,6 @@ Out of scope: Vim, palette, multiple files, branches, conflict handling.
- [ ] `/` forward search, `n N`
- [ ] `:Gpull` (fetch + fast-forward only; refuse on conflict and surface it)
- [ ] `:Gbranch` to switch branches; refuse with dirty tree
## v0.8 — Power: battery + sleep — [ ]