tools: Abgleich - Publish-, Sync-Hilfe und Log-Vorlage nennen den reinen Log-Zusatz (#223 close); 10.1.1-beta.2
Files changed: - CHANGES.md - VERSION - docs/reference/commands/git.md - tools/CONTRACT.md - tools/chemenu/commands/git_publish.py - tools/chemenu/dist_templates/log.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
1 parent
05c6697d3d
commit
55ddf652cb
6 files changed
+13
-9
No files matched your search
+5
-1
@@ -14,12 +14,16 @@ place only: `instructions/dev/version-parts.md` § The candidate model.
|
||||
|
||||
---
|
||||
|
||||
## 10.1.1-beta.1 - 2026-10-16 - Reine Lesevorgänge schreiben keinen Log-Eintrag mehr, und ein offener Log-Eintrag allein lässt den Katalog beim Abgleich unangetastet
|
||||
## 10.1.1-beta.2 - 2026-10-16 - Publish-, Sync-Hilfe und Log-Vorlage nennen den reinen Log-Zusatz beim Abgleich
|
||||
|
||||
**Author:** Torben Nehmer
|
||||
|
||||
<!-- wikitool:bumps -->
|
||||
**Medium impact**
|
||||
- Reine Lesevorgänge schreiben keinen Log-Eintrag mehr, und ein offener Log-Eintrag allein lässt den Katalog beim Abgleich unangetastet
|
||||
|
||||
**Low impact**
|
||||
- Publish-, Sync-Hilfe und Log-Vorlage nennen den reinen Log-Zusatz beim Abgleich
|
||||
<!-- /wikitool:bumps -->
|
||||
|
||||
---
|
||||
|
||||
@@ -55,7 +55,7 @@ tools/wikitool sync --confirm-rebase <token> # re-run after exit 42, once the
|
||||
|
||||
- Changes files: yes
|
||||
- Idempotent: yes
|
||||
- Atomic: No - fetch, then at most one merge/rebase attempt, aborted cleanly on failure with the working tree restored; a success that merged generated files then rewrites the catalog
|
||||
- Atomic: No - fetch, then at most one merge/rebase attempt, aborted cleanly on failure with the working tree restored; a success that merged generated files then rewrites the catalog, unless `kb/log.md` was the only one
|
||||
- Counts toward the session call budget: yes
|
||||
- Can reach the network: yes
|
||||
- Gates: rebase-review - see [exit codes and gates](../exit-codes.md)
|
||||
@@ -121,7 +121,7 @@ tools/wikitool publish --confirm-rebase <token> --message "ingest: docker-cheats
|
||||
- Order: branch check and Publish-Remote Gate, then the reconcile with `<remote>/<branch>`, then the Mass-Update Gate, then `git add -A`, commit and push. `--no-push` skips all but the Mass-Update Gate and the commit.
|
||||
- Without `--no-push`, a remote that is not configured or cannot be reached ends the call with exit 1 at the reconcile - before the gate, `git add` and the commit, and also on a clean tree. Nothing is committed, the index and the working tree are unchanged, and the message names `--no-push` as the way to a local commit. The next `publish` that reaches the remote pushes that commit along with whatever is new. A remote that answers but has no `<branch>` yet (a new, empty repository) is not this case: the first publish of an instance commits and pushes as before.
|
||||
- Reconcile: fetches `<remote>/<branch>`, fast-forwards when only the remote moved, rebases the local commits on top when both sides moved but touched disjoint files, and exits 42 (Rebase-Review Gate) when both sides touched the same file. A refused reconcile performs no rebase attempt. The `--confirm-rebase` token covers the exact upstream state and the set of files touched on both sides.
|
||||
- Generated files are never an overlap: where they are all that stops the reconcile, it merges them as `sync` does (both sides' log entries kept, the catalog and `kb/provenance.md` regenerated) and carries uncommitted changes no incoming commit touches through the rebase. The proactive reconcile runs before staging, so this publish commits the regenerated files - with `--path` too, see there; on the retry after a rejected push they get a commit of their own before the second push.
|
||||
- Generated files are never an overlap: where they are all that stops the reconcile, it merges them as `sync` does (both sides' log entries kept, the catalog and `kb/provenance.md` regenerated unless the log alone stood in the way) and carries uncommitted changes no incoming commit touches through the rebase. The proactive reconcile runs before staging, so this publish commits the regenerated files - with `--path` too, see there; on the retry after a rejected push they get a commit of their own before the second push.
|
||||
- The push target must be the checked-out branch; this is checked before anything is staged. The unborn branch of a fresh `git init -b main` counts as checked out, so the first publish of a new instance works; a real detached HEAD is refused.
|
||||
- With nothing new to stage, a local commit the remote lacks is still pushed: one left behind by an earlier publish whose push failed, or every commit when the remote answers but does not have the branch yet (a new, empty remote repository).
|
||||
- A rejected push that finds the remote unreachable on its one retry reports the original push error.
|
||||
|
||||
+2
-2
@@ -2110,7 +2110,7 @@ Fetch `<remote>/<branch>` and bring the local branch up to date with it.
|
||||
|
||||
- effect: write
|
||||
- idempotent: yes
|
||||
- atomic: No - fetch, then at most one merge/rebase attempt, aborted cleanly on failure with the working tree restored; a success that merged generated files then rewrites the catalog
|
||||
- atomic: No - fetch, then at most one merge/rebase attempt, aborted cleanly on failure with the working tree restored; a success that merged generated files then rewrites the catalog, unless `kb/log.md` was the only one
|
||||
- budget: counted
|
||||
- network: yes
|
||||
- gates: rebase-review
|
||||
@@ -2221,7 +2221,7 @@ Reconcile with `<remote>/<branch>`, then stage all changes, commit, and push.
|
||||
- Order: branch check and Publish-Remote Gate, then the reconcile with `<remote>/<branch>`, then the Mass-Update Gate, then `git add -A`, commit and push. `--no-push` skips all but the Mass-Update Gate and the commit.
|
||||
- Without `--no-push`, a remote that is not configured or cannot be reached ends the call with exit 1 at the reconcile - before the gate, `git add` and the commit, and also on a clean tree. Nothing is committed, the index and the working tree are unchanged, and the message names `--no-push` as the way to a local commit. The next `publish` that reaches the remote pushes that commit along with whatever is new. A remote that answers but has no `<branch>` yet (a new, empty repository) is not this case: the first publish of an instance commits and pushes as before.
|
||||
- Reconcile: fetches `<remote>/<branch>`, fast-forwards when only the remote moved, rebases the local commits on top when both sides moved but touched disjoint files, and exits 42 (Rebase-Review Gate) when both sides touched the same file. A refused reconcile performs no rebase attempt. The `--confirm-rebase` token covers the exact upstream state and the set of files touched on both sides.
|
||||
- Generated files are never an overlap: where they are all that stops the reconcile, it merges them as `sync` does (both sides' log entries kept, the catalog and `kb/provenance.md` regenerated) and carries uncommitted changes no incoming commit touches through the rebase. The proactive reconcile runs before staging, so this publish commits the regenerated files - with `--path` too, see there; on the retry after a rejected push they get a commit of their own before the second push.
|
||||
- Generated files are never an overlap: where they are all that stops the reconcile, it merges them as `sync` does (both sides' log entries kept, the catalog and `kb/provenance.md` regenerated unless the log alone stood in the way) and carries uncommitted changes no incoming commit touches through the rebase. The proactive reconcile runs before staging, so this publish commits the regenerated files - with `--path` too, see there; on the retry after a rejected push they get a commit of their own before the second push.
|
||||
- The push target must be the checked-out branch; this is checked before anything is staged. The unborn branch of a fresh `git init -b main` counts as checked out, so the first publish of a new instance works; a real detached HEAD is refused.
|
||||
- With nothing new to stage, a local commit the remote lacks is still pushed: one left behind by an earlier publish whose push failed, or every commit when the remote answers but does not have the branch yet (a new, empty remote repository).
|
||||
- A rejected push that finds the remote unreachable on its one retry reports the original push error.
|
||||
|
||||
@@ -1426,7 +1426,7 @@ def apply_reconcile(outcome: ReconcileOutcome, remote: str, branch: str, command
|
||||
idempotent=cli_contract.Idempotent.YES,
|
||||
atomic="No - fetch, then at most one merge/rebase attempt, aborted cleanly on failure "
|
||||
"with the working tree restored; a success that merged generated files then rewrites "
|
||||
"the catalog",
|
||||
"the catalog, unless `kb/log.md` was the only one",
|
||||
budget=cli_contract.Budget.COUNTED,
|
||||
network=cli_contract.Network.YES,
|
||||
gates=("rebase-review",),
|
||||
@@ -1624,7 +1624,7 @@ def commit_regenerated(remote: str, branch: str) -> None:
|
||||
"upstream state and the set of files touched on both sides.",
|
||||
"Generated files are never an overlap: where they are all that stops the reconcile, it "
|
||||
"merges them as `sync` does (both sides' log entries kept, the catalog and "
|
||||
"`kb/provenance.md` regenerated) and carries uncommitted changes no incoming commit "
|
||||
"`kb/provenance.md` regenerated unless the log alone stood in the way) and carries uncommitted changes no incoming commit "
|
||||
"touches through the rebase. The proactive reconcile runs before staging, so this "
|
||||
"publish commits the regenerated files - with `--path` too, see there; on the retry "
|
||||
"after a rejected push they get a commit of their own before the second push.",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Wiki Log
|
||||
|
||||
This is the chronological audit log of all operations on the wiki.
|
||||
This is the audit log of the operations on the wiki, in the order the entries arrived.
|
||||
Each entry records what happened, when, and with what result.
|
||||
|
||||
## Entry Format
|
||||
|
||||
Reference in new issue
Block a user