feat: publish gate lists the staged state; a missing or unreachable remote stops before the commit (#159)
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:
1 parent
08dde007dd
commit
eadc052f6c
8 files changed
+487
-206
No files matched your search
@@ -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.
|
||||
|
||||
Reference in new issue
Block a user