fix(jira): queue busy turns async + reliable inline parentId replies - #248
Merged
Conversation
patroza
force-pushed
the
fork/identity
branch
5 times, most recently
from
July 31, 2026 09:28
e5e3872 to
180a4be
Compare
patroza
force-pushed
the
fix/jira-queue-and-inline-reply
branch
5 times, most recently
from
July 31, 2026 09:37
1823660 to
97f1ede
Compare
patroza
enabled auto-merge (squash)
July 31, 2026 09:37
…lies Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
force-pushed
the
fix/jira-queue-and-inline-reply
branch
from
July 31, 2026 09:40
97f1ede to
86a1581
Compare
patroza
disabled auto-merge
July 31, 2026 09:43
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
patroza
added a commit
that referenced
this pull request
Jul 31, 2026
…lies (#248) Stop short-circuiting busy threads with "already working" — always dispatch thread.turn.start so orchestration queues the message, and keep bridgeTurn fork-detached (async reply when the turn finishes). Make parentId threading reliable: Jira only accepts children under root comments (nested parentId → 400, then we used to fall flat). GET the trigger comment and use its parentId when set before posting. Accept comment.parentId on webhooks; ignore empty Automation parent.id. Live evidence SA-421: reply 71415 was flat because parent was nested 71413 (true root 71399); parentId=71399 succeeds. Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com> Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
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.
Summary
thread.turn.start— orchestration queues when mid-turn; no more “already working” short-circuit. Reply stays async via existingforkDetach(bridgeTurn).parentId→ 400 → we used to fall flat. Before POST, GET the trigger comment and use itsparentIdwhen set.comment.parentIdand ignores empty Automationparent.id.Live evidence (SA-421)
Exact delivery this time:
jira-comment:SA-421:71413— Patrick @omegent on nested comment 71413 (parentIdon REST is 71399, not in Automation payload).parent: None/ empty Automation parent).parentId: 71413→ 400 Parent comment not found, and no child comments exist;parentId: 71399→ 200 withparentId: 71399.Test plan
vp test run apps/server/src/jira/JiraWebhook.test.ts(23)vp check(0 errors)parentId= thread rootopened by Patrick Roza in chat thread Discord · Discord