Goal
Make downstream release-bump automation idempotent and self-healing when issue creation or PR publication is interrupted.
Background
.github/workflows/downstream-version-bumps.yml uses a stable marker to avoid duplicate work, but it searches only all pull requests. The workflow creates the downstream issue before cloning the target repository and running the update. Any later failure in cloning, branch creation, the updater, locking, commit, push, or pull-request creation can leave an open issue with the marker and no pull request.
A rerun does not find that orphaned issue because it searches only pull requests, so it can create a second issue for the same release and component. The workflow has no failure cleanup or reuse path for this partial state.
Scope
- Marker lookup across downstream issues and pull requests
- Issue creation, reuse, closure, and failure cleanup in the downstream workflow
- Workflow tests for partial failures and retries
Acceptance Criteria
Validation
- Workflow contract tests
- Shell fixtures for first-run failure followed by retry
git diff --check
Non-Goals
- No change to the downstream repositories or their required validation workflows.
- No removal of issue-backed traceability for successful bumps.
Project Fields
- Status: Backlog
- Priority: P2
- Area: CI
- Initiative: Contract Hardening
- Size: S
- Milestone: v1.10.0
Agent Assignment
- Human first; downstream repository workflow ownership needs maintainer review before implementation.
Goal
Make downstream release-bump automation idempotent and self-healing when issue creation or PR publication is interrupted.
Background
.github/workflows/downstream-version-bumps.ymluses a stable marker to avoid duplicate work, but it searches only all pull requests. The workflow creates the downstream issue before cloning the target repository and running the update. Any later failure in cloning, branch creation, the updater, locking, commit, push, or pull-request creation can leave an open issue with the marker and no pull request.A rerun does not find that orphaned issue because it searches only pull requests, so it can create a second issue for the same release and component. The workflow has no failure cleanup or reuse path for this partial state.
Scope
Acceptance Criteria
Validation
git diff --checkNon-Goals
Project Fields
Agent Assignment