docs: add git workflow to working agreement (§18)

Long-lived master + dev; all non-doc work on branches off dev; doc-only
edits go straight to dev; human owns the dev->master merge and pushes
master; Claude pushes only dev, only after a --no-ff merge.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-09 11:27:04 -05:00
parent c5eccbb2a5
commit d340e06dad

View File

@@ -530,3 +530,15 @@ Test that before building anything else. Every other system exists to make that
- **When a request conflicts with this document, say so.** Do not silently comply. This file is the argument; if it is wrong, change the file first.
- **When adding a system, state which side of §2 it falls on.** State or text. If it is both, it is two systems.
- **Prefer deleting scope.** The POC's value is answering one question fast.
### Git workflow
The standard flow for this project. Claude follows it; the human owns `master`.
- **Branches.** `master` and `dev` are long-lived. `master` is release; `dev` is integration. All work branches off `dev`.
- **Never commit non-doc changes directly to `master` or `dev`.** Anything that is not purely docs gets its own branch (`feature/…`, `fix/…`, `chore/…`, etc.), branched off `dev`.
- **Doc-only edits may commit directly to `dev`** — no branch required.
- **Never commit to `master`.** Ever. The human merges `dev``master` as they see fit. Claude never touches that merge.
- **Merging a working branch → `dev`** happens only after the work is done, smoke-tested, and **the human confirms**. Merge locally with `--no-ff`.
- **After merging to `dev`, delete the working branch locally.**
- **Pushing.** Origin is set. Claude pushes **only `dev`**, and only after a merge. Never push working branches or `master` — the human always pushes `master`.