You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Headline: No safe_outputs job failed, but a productioncreate_pull_request was silently dropped at a layer this monitor rarely sees β the safeoutputs MCP-handler branch-pin step β with a git detected dubious ownership error from the out-of-container bridge process. jsweep's daily PR was never created; the agent self-healed via report_incomplete.
Safe Output Job Statistics
Job Type
Executions
Failures
Success
create_issue
3
0
100%
create_discussion
3
0
100%
add_labels
1
0
100%
hide_comment
1
0
100%
assign_to_agent
2
0
100%
add_comment
5
0
100%
upload_asset
4
0
100%
noop
6
0
100%
report_incomplete
1
0 (self-heal)
100%
create_pull_request
3 attempts
3 dropped pre-buffer
0%
Lower bound β partial early-morning batch; downstream JOB logs confirmed per-run via the audit MCP tool.
Workflow: jsweep β JavaScript Unbloater (production, copilot/sonnet-4.6), run Β§27667495270
Severity: Medium β production intent dropped, gracefully self-healed (no red run)
Sample Error:
Failed to pin branch 'jsweep/write-large-content-to-file' before bundle generation:
ERR_SYSTEM: fatal: detected dubious ownership in repository at '/home/runner/work/gh-aw/gh-aw'
Root Cause: The bundle-transport branch-pinning step ("Bundle transport requires branch pinning to prevent patch/bundle desynchronization") runs git inside the safeoutputs bridge process, which executes outside the agent container as a different user/HOME than the checkout. git refuses the foreign-owned worktree with dubious ownership. The agent's in-container git config --global --add safe.directory (and '*') cannot reach the bridge's gitconfig. The handler errors before buffering the message, so it never reaches the downstream job β the PR intent is dropped except for the report_incomplete warning footer.
Impact: jsweep's daily cleanup PR (commit d216f3c: JSDoc fix + 4 new tests) was not created. Work is committed locally on branch jsweep/write-large-content-to-file but otherwise invisible β report_incomplete only wrote a warning, it did not open a tracking issue.
Regression: jsweep created PRs cleanly on 06-12, 06-13 ([jsweep] Clean update_handler_factory.cjsΒ #39019), 06-16. The branch-pin/bundle-transport path is the new variable. First branch-pin failure on record.
In-scope despite a green job: the create_pull_requestpath failed at the MCP-handler/bridge layer; the job is green only because the agent fell back to report_incomplete. A write the system was asked to perform did not happen β exactly what this monitor exists to surface.
Root Cause Summary
Infrastructure/Bridge (the only finding): ownership mismatch between the safeoutputs bridge process and the container checkout for git. Not fixable from agent-side config.
API/Permission: none. AI Moderator hide_comment + add_labels (codex, issue_comment ctx) and all issue/discussion/comment/assign writes clean.
Validation: none. No collection-time rejections, no malformed payloads.
Recommendations & Work Items
WI-1 (High, Bug Fix): Resolve branch-pin dubious-ownership in the bridge.
Invoke the pin git with -c safe.directory=/home/runner/work/gh-aw/gh-aw (or '*'), or point the bridge's GIT_CONFIG_GLOBAL/HOME at a gitconfig whitelisting the checkout, or run the pin with matching uid/ownership. Acceptance: a jsweep-equivalent create_pull_request passes the branch-pin step on this runner topology; unit/integration test covers the bridge-vs-container ownership case. Effort: SmallβMedium. Affects any PR-emitting workflow hitting the branch-pin step from the out-of-container bridge.
WI-2 (Medium, Enhancement): Surface dropped intents from report_incomplete.
When create_report_incomplete_issue is configured (jsweep does), an incomplete signal should open a tracking issue, not just a run-summary footer β today the dropped daily PR is invisible. Effort: Small.
WI-3 (Low): Clearer branch-pin error β point at the bridge safe.directory requirement; the current message suggests the in-container fix, which does not work.
Historical Context & Trends
Metric
06-16
06-17
safe_outputs JOB hard failures
0
0
In-scope degradations
0
1 (pre-buffer)
Production PR creations
1 β
0 β jsweep dropped
Production safe_outputs JOB streak unbroken (recent hard failures were all smoke-only, not exercised today).
New finding sits at a different layer (MCP-handler/bridge) than the recurring smoke clusters β first of its kind.
Latent / not exercised (the 2 Smoke CI runs were push-event noop; no workflow_dispatch Smoke or PR-reviewer): target_star_review_comment_no_pr_number_fallback, add_comment_discussion_resource_not_accessible_by_integration, target_star_add_labels_no_item_number_hardfail, update_issue_target_triggering (LintMonster absent) β all remain OPEN.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Executive Summary
create_pull_request)Headline: No safe_outputs job failed, but a production
create_pull_requestwas silently dropped at a layer this monitor rarely sees β the safeoutputs MCP-handler branch-pin step β with a gitdetected dubious ownershiperror from the out-of-container bridge process. jsweep's daily PR was never created; the agent self-healed viareport_incomplete.Safe Output Job Statistics
Error Cluster (NEW):
create_pull_request_branch_pin_dubious_ownership_bridge_processcreate_pull_requestattempts (05:31:57 / 05:32:07 / 05:32:35) all returned{result:error}; agent emittedreport_incomplete05:33:08; downstreamsafe_outputsjob processed it β non-fatal##[warning]β Successful 1 / Failed 0 (job = success).gitinside the safeoutputs bridge process, which executes outside the agent container as a different user/HOME than the checkout.gitrefuses the foreign-owned worktree with dubious ownership. The agent's in-containergit config --global --add safe.directory(and'*') cannot reach the bridge's gitconfig. The handler errors before buffering the message, so it never reaches the downstream job β the PR intent is dropped except for thereport_incompletewarning footer.d216f3c: JSDoc fix + 4 new tests) was not created. Work is committed locally on branchjsweep/write-large-content-to-filebut otherwise invisible βreport_incompleteonly wrote a warning, it did not open a tracking issue.Root Cause Summary
git. Not fixable from agent-side config.hide_comment+add_labels(codex, issue_comment ctx) and all issue/discussion/comment/assign writes clean.Recommendations & Work Items
WI-1 (High, Bug Fix): Resolve branch-pin dubious-ownership in the bridge.
Invoke the pin
gitwith-c safe.directory=/home/runner/work/gh-aw/gh-aw(or'*'), or point the bridge'sGIT_CONFIG_GLOBAL/HOMEat a gitconfig whitelisting the checkout, or run the pin with matching uid/ownership.Acceptance: a jsweep-equivalent
create_pull_requestpasses the branch-pin step on this runner topology; unit/integration test covers the bridge-vs-container ownership case. Effort: SmallβMedium. Affects any PR-emitting workflow hitting the branch-pin step from the out-of-container bridge.WI-2 (Medium, Enhancement): Surface dropped intents from
report_incomplete.When
create_report_incomplete_issueis configured (jsweep does), an incomplete signal should open a tracking issue, not just a run-summary footer β today the dropped daily PR is invisible. Effort: Small.WI-3 (Low): Clearer branch-pin error β point at the bridge
safe.directoryrequirement; the current message suggests the in-container fix, which does not work.Historical Context & Trends
safe_outputsJOB streak unbroken (recent hard failures were all smoke-only, not exercised today).assign_to_agentclean with real numbers, 3rd consecutive (Issue Monster regexpcompileinfunction precision: isRegexpCompileCall matches the identifier name "regexp" syntactically β alias import (re "re [Content truncated due to length]Β #39733/uncheckedtypeassertion precision: comma-ok safe form only recognized for AssignStmt βvar v, ok = x.(T)and parenthesized asse [Content truncated due to length]Β #39732); with-contextadd_labelsclean again (AI Moderator [aw] Code Simplifier failedΒ #39729);hide_commentclean on codex.target_star_review_comment_no_pr_number_fallback,add_comment_discussion_resource_not_accessible_by_integration,target_star_add_labels_no_item_number_hardfail,update_issue_target_triggering(LintMonster absent) β all remain OPEN.review_path_unresolved_422Path-variant fix (pr_review_buffer.cjs:554) UNVALIDATED, 20th consecutive audit.Metrics
create_pull_request(0/1 intents fulfilled β bridge branch-pin)Next Steps
safe.directory(WI-1) β highest priorityreport_incompleteopen a tracking issue (WI-2)References:
Beta Was this translation helpful? Give feedback.
All reactions