Skip to content

[JUM-889][Chore] Promote changelog race fix to main - #520

Merged
web2solutions merged 2 commits into
mainfrom
dev
Sep 26, 2026
Merged

web2solutions merged 2 commits into
mainfrom
dev

Conversation

@web2solutions

Copy link
Copy Markdown
Owner

Summary

Problem Statement

Project Tracking (Required)

Branch Promotion Path (Required)

  • Source branch: dev
  • Target branch: main
  • The leading JUM-XXXX matches the single Linear Issue declared above.
  • This task PR targets dev.
  • If this PR targets main, it is a release promotion sourced from dev, references the task PRs/issues already merged into dev, and introduces no unreviewed changes.
  • This PR is not a direct task/topic branch promotion to main.

Bidirectional Traceability (Required)

Scope of Change

Domain / Business Rules

  • None

Application / Use Cases

  • None

Adapters / Infrastructure

API / Contracts (OpenAPI, DTOs, handlers, controllers)

  • None

Detailed Technical Changes

  1. Release promotion only: dev tip f32b4d35 onto main 97977fce.
  2. No new unreviewed commits beyond [JUM-889][Chore] Reconcile main into dev + changelog race fix #519.

Test plan

Made with Cursor

web2solutions and others added 2 commits September 26, 2026 10:24
When sync-changelog lands the chore branch first, reuse its tip instead of
failing createCommitOnBranch on a stale expectedHeadOid.

Co-authored-by: Cursor <cursoragent@cursor.com>
## Summary

- Fast-forward `dev` to current `main` tip (`v0.2.14` ancestry +
changelog sync #518) — `dev` was 29 commits behind.
- Tolerate changelog-sync race in `create-app-release-tag.js`: when
`sync-changelog` lands the chore branch first, reuse its tip instead of
failing `createCommitOnBranch` on a stale OID (app-release run
36175725849).

## Problem Statement

- Related issue(s): JUM-889
- Related PR(s): #516,
#517,
#518

## Project Tracking (Required)

- Linear Project: `Jumentix` (`https://linear.app/jumentix`)
- Focused epic link:
https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e
- Epic milestone: First tagged release published — 2026-10-27
- Primary task nature: chore
- Epic-delegated agent ID: cursor
- Child task issue link:
https://linear.app/jumentix/issue/JUM-889/governance-epic-record-first-real-tagreleasepublish-proven-end-to-end
- Project Update:
https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e/activity#project-update-dcedc54f-1d24-4df1-a584-f6645fe2ab54
- Linear Project link(s):
https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e
- Linear Issue link(s):
https://linear.app/jumentix/issue/JUM-889/governance-epic-record-first-real-tagreleasepublish-proven-end-to-end
- Linear Issue ID list (comma separated): JUM-889
- Item status at PR creation: reconciling main into dev after v0.2.14
- Target cycle (`Start date` -> `End date`): 2026-09-25 -> 2026-10-27
- Priority group for this PR (`P0` / `P1` / `P2`): P1
- [x] This PR contains tasks from only one priority group.

## Branch Promotion Path (Required)

- Source branch: `codex/chore/JUM-889-reconcile-main-into-dev`
- Target branch: `dev`
- [x] The leading `JUM-XXXX` matches the single Linear Issue declared
above.
- [x] This task PR targets `dev`.
- [ ] If this PR targets `main`, it is a release promotion sourced from
`dev`, references the task PRs/issues already merged into `dev`, and
introduces no unreviewed changes.
- [x] This PR is not a direct task/topic branch promotion to `main`.

## Bidirectional Traceability (Required)

- [x] PR description includes mapping of task -> commit(s).
- Task -> commit(s) mapping:
- `JUM-889`: `cb2f6c28` fix(release): tolerate changelog-sync race after
tagging (+ fast-forward of main tip)

## Scope of Change

### Domain / Business Rules

- None

### Application / Use Cases

- None

### Adapters / Infrastructure

- `ci-cd/create-app-release-tag.js` — race-tolerant changelog sync after
tag
- Branch reconciliation: `dev` ← `main` (`97977fce`)

### API / Contracts (OpenAPI, DTOs, handlers, controllers)

- None

## Detailed Technical Changes

1. `dev` lagged `main` by 29 commits after release promotion #517 /
changelog #518.
2. After tagging, app-release and sync-changelog both touch
`chore/changelog-sync-*`; reuse tip OID on conflict so the workflow
stays unattended.

## Test plan

- [x] pre-commit `ci:gate:task` green locally
- [ ] CCI branch-gate / required checks on this PR
- [ ] After merge: `dev` tip matches `main` ancestry for v0.2.14;
promote race-fix to `main` if needed


Made with [Cursor](https://cursor.com)
@cursor

cursor Bot commented Sep 26, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_dfd2a58e-b890-4183-b1b2-e8c609b7003a)

@codecov

codecov Bot commented Sep 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.12%. Comparing base (2c408a1) to head (f32b4d3).
⚠️ Report is 29 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #520   +/-   ##
=======================================
  Coverage   98.12%   98.12%           
=======================================
  Files         477      477           
  Lines       15224    15224           
  Branches     2051     2051           
=======================================
  Hits        14938    14938           
  Misses        220      220           
  Partials       66       66           
Flag Coverage Δ
project 98.12% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@web2solutions
web2solutions merged commit 23b897e into main Sep 26, 2026
43 checks passed
@cursor cursor Bot mentioned this pull request Sep 26, 2026
web2solutions added a commit that referenced this pull request Sep 26, 2026
## Summary

- `ensureBranchAtSha` force-updates an existing automation branch when
its tip differs from the intended SHA (app-release run 36246791005:
`STALE_DATA` on `chore/release-v0.2.15` vs main `23b897e4`).
- Hardens changelog-sync race catch for GraphQL `STALE_DATA` wording.

## Problem Statement

- Related issue(s): JUM-889
- Related PR(s): #520

## Project Tracking (Required)

- Linear Project: `Jumentix` (`https://linear.app/jumentix`)
- Focused epic link:
https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e
- Epic milestone: First tagged release published — 2026-10-27
- Primary task nature: fix
- Epic-delegated agent ID: cursor
- Child task issue link:
https://linear.app/jumentix/issue/JUM-889/governance-epic-record-first-real-tagreleasepublish-proven-end-to-end
- Project Update:
https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e/activity#project-update-ea1f9f87
- Linear Project link(s):
https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e
- Linear Issue link(s):
https://linear.app/jumentix/issue/JUM-889/governance-epic-record-first-real-tagreleasepublish-proven-end-to-end
- Linear Issue ID list (comma separated): JUM-889
- Item status at PR creation: fixing stale release-branch tip for
unattended app-release
- Target cycle (`Start date` -> `End date`): 2026-09-25 -> 2026-10-27
- Priority group for this PR (`P0` / `P1` / `P2`): P0
- [x] This PR contains tasks from only one priority group.

## Branch Promotion Path (Required)

- Source branch: `codex/fix/JUM-889-release-branch-force-reset`
- Target branch: `dev`
- [x] The leading `JUM-XXXX` matches the single Linear Issue declared
above.
- [x] This task PR targets `dev`.
- [ ] If this PR targets `main`, it is a release promotion sourced from
`dev`, references the task PRs/issues already merged into `dev`, and
introduces no unreviewed changes.
- [x] This PR is not a direct task/topic branch promotion to `main`.

## Bidirectional Traceability (Required)

- [x] PR description includes mapping of task -> commit(s).
- Task -> commit(s) mapping:
- `JUM-889`: `5148a101` fix(release): force-reset stale chore/release
branch tips

## Scope of Change

### Domain / Business Rules

- None

### Application / Use Cases

- None

### Adapters / Infrastructure

- `ci-cd/create-app-release-tag.js` — force-reset mismatched automation
branch tips
- `ci-cd/test/release-tagging.test.ts` — unit coverage for create /
match / force paths

### API / Contracts (OpenAPI, DTOs, handlers, controllers)

- None

## Detailed Technical Changes

1. Existing `chore/release-v*` tips left from failed bumps caused
`createCommitOnBranch` STALE_DATA.
2. `ensureBranchAtSha` now PATCHes with `force=true` when tip ≠ target
SHA.

## Test plan

- [x] `jest ci-cd/test/release-tagging.test.ts` (15 tests) green locally
- [x] pre-commit `ci:gate:task` green
- [ ] CCI required checks on this PR
- [ ] After promote to main: app-release unattended for next releasable
tip


Made with [Cursor](https://cursor.com)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant