feat: publish gate lists the staged state; a missing or unreachable remote stops before the commit (#159)
CI / verify (push) Successful in 2m11s
Release / release (push) Successful in 38s

Files changed:
- CHANGES.md
- INSTALL.md
- VERSION
- instructions/publish-cycle.md
- instructions/setup-instance.md
- tools/CONTRACT.md
- tools/chemenu/commands/git_publish.py
- tools/chemenu/tests/test_git_publish.py
This commit is contained in:
torben committed 2026-09-30 20:51:10 +02:00
1 parent 08dde007dd
commit eadc052f6c
8 files changed
+487 -206

No files matched your search

+6
View File
@@ -47,6 +47,12 @@ consistent.
- **Ten or more files changed?** `publish` exits 42. Show the user its output and stop; see
[gates.md](gates.md).
- **Remote unreachable or not configured?** `publish` ends with exit 1 before it commits:
nothing is staged, committed or pushed, and the message names the remote. Ask the user whether
to commit locally with `--no-push`, and run that only on their answer. Never push by hand
(AGENTS.md invariant 5): the next `publish` that reaches the remote sends the local commit
together with whatever is new. A local-only instance, which has no remote at all, passes
`--no-push` on every call ([setup-instance.md](setup-instance.md), step 4).
- **Query or lint pass?** Neither auto-publishes. Run `publish` only if asked to.
- **Nothing under `kb/` changed?** Skip steps 1 and 2; a change to `tools/` or `instructions/`
does not affect the catalog.