You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes /deploy Step 2 over-reporting a release's contents when the local production branch is stale.
In integration-branch mode, Step 2 computed the release range with git log {{BRANCH_PROD}}..<deploy-branch>, but Step 1 only ever syncs the deploy branch — it never fetches {{BRANCH_PROD}}. So the comparison ran against a possibly-stale local prod ref. When local prod lagged origin/{{BRANCH_PROD}}, /deploy listed already-promoted PRs and re-listed already-closed issues in the release contents and close set.
This bit us live during the v0.8.1 release: local main was frozen at v0.7.0, so /deploy reported production as "behind" and flagged five already-released, already-closed issues — a false alarm that cost an investigation cycle.
Fix
Step 2's integration-branch path now fetches {{BRANCH_PROD}} and computes the range against the freshly-fetched origin/{{BRANCH_PROD}}:
Plus a one-line rationale so the intent is self-documenting. Trunk mode is untouched (it already uses the tag-based <latest-tag>..HEAD range).
Test plan
make check — passes (placeholder, permission, command-shape).
make test — 163 passing, including all 7 TestDeployModeRendering cases (step numbering, no leftover directives, promotion PR present in multi-branch, gates once).
Scope: one-block fix to deploy.md Step 2 (integration-branch release-range computation). make check + 163 tests green, incl. all 7 TestDeployModeRendering cases.
Sensitive-area gate: considered and not triggered. The change touches /deploy but only its read-only release-reporting step — swaps a stale local {{BRANCH_PROD}} ref for a freshly-fetched origin/{{BRANCH_PROD}} in a git log, plus a git fetch. No change to deploy targets, prod config, the promotion/merge path, or any destructive operation.
Correctness: git fetch origin {{BRANCH_PROD}} + git log origin/{{BRANCH_PROD}}..<deploy-branch> correctly computes unpromoted commits against the current remote prod tip, fixing the over-report. Trunk mode is untouched (already tag-based). Command shapes are allowlist-friendly (bare single commands).
[NOTE] The TestDeployModeRendering suite asserts structure/step-numbering but doesn't pin that multi-branch mode renders the origin/-based range — a future assertion could lock the fix in. Non-blocking; the ticket scoped a wording fix, not new test coverage.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes
/deployStep 2 over-reporting a release's contents when the local production branch is stale.In integration-branch mode, Step 2 computed the release range with
git log {{BRANCH_PROD}}..<deploy-branch>, but Step 1 only ever syncs the deploy branch — it never fetches{{BRANCH_PROD}}. So the comparison ran against a possibly-stale local prod ref. When local prod laggedorigin/{{BRANCH_PROD}},/deploylisted already-promoted PRs and re-listed already-closed issues in the release contents and close set.This bit us live during the
v0.8.1release: localmainwas frozen atv0.7.0, so/deployreported production as "behind" and flagged five already-released, already-closed issues — a false alarm that cost an investigation cycle.Fix
Step 2's integration-branch path now fetches
{{BRANCH_PROD}}and computes the range against the freshly-fetchedorigin/{{BRANCH_PROD}}:git fetch origin {{BRANCH_PROD}} git log origin/{{BRANCH_PROD}}..<deploy-branch> --merges --pretty=format:"%s"Plus a one-line rationale so the intent is self-documenting. Trunk mode is untouched (it already uses the tag-based
<latest-tag>..HEADrange).Test plan
make check— passes (placeholder, permission, command-shape).make test— 163 passing, including all 7TestDeployModeRenderingcases (step numbering, no leftover directives, promotion PR present in multi-branch, gates once).Closes #213