From 3675e472744b9b7d2848798fb55a0737447dbd89 Mon Sep 17 00:00:00 2001 From: garrytan Date: Sun, 1 Nov 2026 16:58:14 +0000 Subject: [PATCH] docs(changelog): describe the fork, tag and remote guards (#3650) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- changelog.d/gsta246-gate-diff-origin-base.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.d/gsta246-gate-diff-origin-base.md b/changelog.d/gsta246-gate-diff-origin-base.md index 7f68b21e3..9ee4db95d 100644 --- a/changelog.d/gsta246-gate-diff-origin-base.md +++ b/changelog.d/gsta246-gate-diff-origin-base.md @@ -1 +1 @@ -- `gstack-gate-diff` and `gstack-diff-scope` now read a bare base name such as `main` as `origin/main` when that ref exists, the base /ship fetches and merges against. Before, a local `main` that was behind `origin/main` (a linked worktree, or a Capy clone, where local `main` never moves) set the merge base, so the gate scan and the specialist scope also read commits already on `origin/main`. One /ship run in #3650 listed a `.github/workflows/ci.yml` hunk from upstream and dispatched an extra performance reviewer. `gstack-gate-diff` says so on stderr (`local main is not origin/main; base is origin/main`). An explicit `origin/main` or commit is unchanged (#3650). +- `gstack-gate-diff` and `gstack-diff-scope` now read a bare base name such as `main` as origin's tracking branch (`refs/remotes/origin/main`) when it exists and shares history with HEAD. That's the base /ship fetches and merges against. Before, a local `main` that was behind `origin/main` set the merge base. That happens in a linked worktree, and on a Capy machine, where local `main` never moves. So the gate scan and the specialist scope also read commits already on `origin/main`. One /ship run in #3650 listed a `.github/workflows/ci.yml` hunk from upstream and dispatched an extra performance reviewer. `gstack-gate-diff` now says `local main is not origin/main; base is origin/main` on stderr when that happens. A base you name with its remote (`upstream/main`), a commit or `HEAD` is used as given. A tag named `origin/main` or a fork's `origin/upstream/main` branch can't stand in for the base, and another remote's branch only replaces a local base that is missing or unrelated (#3650).