Integrate the two orphaned fixes for #5 and #6 - #2
Merged
Merged
Conversation
Owner
Author
|
Reopening to re-fire the PR-target workflow now that the default branch is fork/main. |
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.
Both commits were pushed to this repository on 2026-08-03 and then left on no branch at all.
git branch --containsfinds nothing; the API reports them asdivergedfromfork/main. They were reachable only by SHA, from a comment on the issue that requested them — which is why agent-company-kit#5 and #6 are still open while the work reads as done.Cherry-picked here onto the upstream sync, authorship preserved.
What they do
77c44a0d— serialize concurrent escalations. The plugin's read-modify-write on the escalation transition could interleave, so two reviewer-return events could both see an un-escalated task and both block it, comment, and emit. A per-company\0issuepromise chain puts them in order. Same in-process shape as the mirror's lock — it closes the concurrent half, not the crash half, which is the correct scope for this bug.66b30848— require executor evidence before the policy handoff.commentRequiredwas documented as a runtime invariant and was, in fact, dead: hardcodedtrueat parse and read by exactly one line that copied it into another object. An agent could requestdonefrom active work and be routed into review with no comment. Now adonerequest from an agent under an execution policy fails with422unless it carries a non-empty comment.Verified on this tree, after the sync
paperclip-plugin-escalationtypecheckpaperclip-plugin-escalationtestssrc/__tests__/issue-execution-policy.test.ts@paperclipai/servertypecheckBoth cherry-picks merged without conflict despite 106 commits of drift.
Base
Stacked on
sync/upstream-2026-08-10(PR #1), because these were written against a pre-sync tree and the point of re-running them here is to prove they still hold after it. Merge #1 first.