diff --git a/AGENTS.md b/AGENTS.md index 1448685..d58caf8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -34,6 +34,12 @@ Without `FERRY_BIN` the eval suite skips every behavioural test and passes. CI (`.github/workflows/ci.yml`) runs build, vet, `go test ./...`, race tests on the internal packages, and the full eval suite against a real Linux binary. +Never run git-mutating operations (`git worktree add`, merges, rebases) +against this repository while a `go test` or other tooling run is in flight +against it — concurrent heavy git activity has corrupted the working repo's +state (issue #17). One at a time; this also means no parallel subagents that +touch git. + ## Boundaries - Nothing under `$HOME` is ever symlinked: deployed files are regular-file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4110012..2ab98d3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,6 +27,12 @@ Without `FERRY_BIN` the eval suite skips every behavioural test and passes. A change is done only when `make build`, `gofmt -l .` (empty), `go vet ./...`, and `go test ./...` are all clean and the eval suite is green with `FERRY_BIN` set. +Never run git-mutating operations (`git worktree add`, merges, rebases) against +this repository while a `go test` or other tooling run is in flight against it. +Concurrent heavy git activity has corrupted the working repository's state — +`core.bare` flipped and an isolated test fixture's git identity leaked into the +local config (issue #17). Let one finish before starting the other. + ## Branches, commits, and PRs - Work on a branch and open a PR, so review and CI gate the merge. Keep commits