Repository navigation
fix: Branch sync hides missing workflow write capability and aborts after committing its merge (#844) - #871
Merged
Conversation
…orts-after-committing-its-merge: reconcile committed publication failures
|
To preview the documentation for this pull request, visit the following URL:
|
vypbot
self-requested a review
November 3, 2026 13:33
1 task done
Contributor
Bugbot: review complete
|
Contributor
Copilot approval · Human review neededStatus: A protected workflow, policy, or trust-boundary file changed. Technical evidenceRevision: |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #871 +/- ##
===========================================
+ Coverage 95.38% 95.39% +0.01%
===========================================
Files 1142 1146 +4
Lines 37803 37904 +101
Branches 11261 11297 +36
===========================================
+ Hits 36057 36158 +101
Misses 672 672
Partials 1074 1074
🚀 New features to boost your workflow:
|
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #844.
A branch sync could commit its merge, receive GitHub's workflow-write rejection, then attempt
git merge --abortafter the merge had already ended. The reply hid the credential problem behind a retryable error and could also claim that nothing was published after a lost push response.The trusted Git adapter now captures a bounded stderr suffix and reports only a closed workflow-write denial. Once commit finishes, recovery preserves the workspace and observes the existing remote branch once. An exact candidate confirms completion without a second push; an original, different or unavailable head produces accurate nonretryable recovery facts. An unverifiable candidate is never pushed. Facts are bound to the prepared original child before reconciliation.
English/Spanish recovery, the owning SDD, a dedicated publication-recovery companion, catalog and operator documentation cover temporary runner storage and credential-specific recovery. Workflow paths alone do not prove missing capability. Existing verification, branch ownership and credential isolation remain in force; the fix introduces no permission grants, force push or user-worktree reset.
Local validation: 878 Jest suites / 17,071 tests pass (35 existing skips), including 105 distinct new cases; 267 extension tests retain 100% in every metric. Full-suite LCOV covers 114/114 modified lines with zero misses or partials against c1d593d. The four new pure modules measure 100% lines, statements, functions and branches, enforced by an exhaustive budget. Types, lint, SDD/catalog/docs/workflow contracts pass. A versioned controlled before/after proof uses actual SDK source and real local Git. Its server hook models the denial message shape; it does not claim real GitHub credential validation or consumer execution. Four executable real-Git cases cover denial, unrelated rejection, lost acknowledgement and unavailable observation while preserving a separate dirty user checkout.
Remote acceptance for
771dc505ee24d5ea37883749ae298c27f1d6b337againstc1d593dc72637e31e3dba0785e846b5548b9a4b0: CI, Commit, Branch Sync and Linux/macOS/Windows pass. The complete review covers 2/2 partitions, all 27 assigned files and 4/4 issue comments, with zero omissions, findings or open threads. Official Codecov confirms 114/114 modified lines (100%), zero misses and partials. All native jobs executed the exact parent/head treeb56829f9980c61996e9460c43b847415c74a98b4and verified deferred cleanup.The opened-PR lifecycle needed one bounded retry after a retryable provider failure at issue linkage, before Bugbot began. The successful run verifies native linkage to #844 and the complete finding-free review; no source, permission, coverage or protection control was weakened.
Build, package validation (96 files), CLI/typed API/isolated setup-web smoke and Graphify pass. Normal commit hooks reran build, all 878 suites / 17,071 tests and lint successfully; all 34 prepared input hashes remain unchanged.