window management library
git clone https://git.lucas.co/cce-window-manager.git
docs: committing is not publishing — origin is a pushable bare repo
This file said `origin` was fetch-only and that committing locally published
via gitsite. That stopped being true when `~/.local/bin/git-bare-sync.sh` added
the bare layer: `origin` is the local bare repo `~/git/cce-window-manager.git`, a
real pushable remote, and the old static mirror
`https://git.lucas.co/cce-window-manager.git` is demoted to the `published` remote —
it never accepted a push (dumb HTTP, no receive-pack), which is the whole reason
the bare layer exists.
Acting on the stale wording leaves work that looks published on this machine and
is not on the site. That gap was workspace-wide on 2026-09-18: 21 crates held
unpushed commits, because the bulk pusher read `repos.conf` field 2 as a work
tree when that field holds the bare path, and skipped all 34 repos in silence.
The chain is `git commit` → `git push origin main` → `gitsite.timer` → the site.
Matches the wording already corrected in cce-compositor/WORKSPACE.md and
cce-remote/CLAUDE.md.
Co-Authored-By: Claude Opus 5 <[email protected]>
CLAUDE.md | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/CLAUDE.md b/CLAUDE.md
index 032bba3..226635f 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -25,10 +25,11 @@ I/O lives in the compositor's `window_manager.rs`.
## Version control
This directory is its **own git repository**, sitting side-by-side with the other
-`cce-*` crates to form an uncommitted build workspace at the parent directory. The
-local repo is the source of truth: it is published read-only at
-`https://git.lucas.co/cce-window-manager.git` by the gitsite system (fetch-only
-`origin`; there is no push remote — committing locally is publishing).
+`cce-*` crates to form an uncommitted build workspace at the parent directory. Its
+`origin` is the local *bare* repo `~/git/cce-window-manager.git`, a real pushable
+remote: **committing is not publishing — `git push origin main` is**, after which
+`gitsite.timer` mirrors it to `https://git.lucas.co/cce-window-manager.git` (kept as the
+`published` remote; it is the old static mirror and never accepted a push).
Commit here, not at the workspace root. The crate must **build standalone** — no
`workspace = true` dependency inheritance; versions are declared in this
`Cargo.toml`.