feat(#860): make fix agent multi-forge (GitHub + GitLab) - #872
Conversation
|
🤖 Finished Review · ✅ Success · Started 3:04 PM UTC · Completed 3:24 PM UTC Commit: |
ReviewFindingsMedium
Low
Previous runReviewFindingsMedium
Low
Previous run (2)ReviewFindingsMedium
Low
Previous run (3)ReviewFindingsMedium
Low
Info
Previous run (4)ReviewFindingsMedium
Low
Previous run (5)ReviewFindingsMedium
Low
Previous run (6)ReviewFindingsMedium
Low
Previous run (7)ReviewFindingsMedium
Low
Info
Previous run (8)ReviewFindingsMedium
Low
Previous run (9)ReviewFindingsMedium
Low
Info
Previous run (10)ReviewFindingsMedium
Low
Info
Previous run (11)ReviewFindingsMedium
Low
Previous run (12)ReviewFindingsMedium
Low
Previous run (13)ReviewFindingsHigh
Medium
Low
Next steps:
Previous run (14)ReviewFindingsMedium
Low
Next steps:
Previous run (15)ReviewFindingsMedium
Low
Info
Previous run (16)ReviewFindingsMedium
Low
Previous run (17)ReviewFindingsMedium
Low
Info
Previous run (18)ReviewFindingsLow
Info
Labels: PR adds GitLab support to the fix agent, which is a new capability (enhancement). |
|
All review findings addressed in the amended commit: High:
Medium:
Low:
|
All findings addressed in amended commit 5a36919.
815f336 to
ed0c101
Compare
|
🤖 Finished Review · ✅ Success · Started 2:28 PM UTC · Completed 2:46 PM UTC Commit: |
ed0c101 to
5d94a02
Compare
|
🤖 Review · Commit: |
5d94a02 to
8cc1180
Compare
|
🤖 Review · Commit: |
8cc1180 to
7bbcdab
Compare
|
🤖 Finished Review · ✅ Success · Started 3:10 PM UTC · Completed 3:30 PM UTC Commit: |
7bbcdab to
22d4fff
Compare
|
🤖 Finished Review · ✅ Success · Started 3:36 PM UTC · Completed 3:54 PM UTC Commit: |
22d4fff to
8c42598
Compare
|
🤖 Finished Review · ✅ Success · Started 4:02 PM UTC · Completed 4:19 PM UTC Commit: |
8c42598 to
8fc6d8f
Compare
|
🤖 Finished Review · ✅ Success · Started 4:24 PM UTC · Completed 4:46 PM UTC Commit: |
e5dc730 to
baafde7
Compare
|
🤖 Review · Commit: |
baafde7 to
fd90ec0
Compare
|
🤖 Finished Review · ✅ Success · Started 9:53 PM UTC · Completed 10:33 PM UTC Commit: |
fd90ec0 to
639a633
Compare
|
🤖 Finished Review · ✅ Success · Started 10:41 PM UTC · Completed 11:19 PM UTC Commit: |
639a633 to
3266fd0
Compare
|
🤖 Finished Review · ✅ Success · Started 11:23 PM UTC · Completed 11:43 PM UTC Commit: |
3266fd0 to
2e0340f
Compare
|
🤖 Finished Review · ✅ Success · Started 11:48 PM UTC · Completed 12:07 AM UTC Commit: |
Signed-off-by: Greg Allen <gallen@redhat.com> Signed-off-by: Claude Opus 4.6 <noreply@anthropic.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2e0340f to
f92b08e
Compare
|
🤖 Finished Review · ✅ Success · Started 12:15 AM UTC · Completed 12:33 AM UTC Commit: |
|
🤖 Finished Retro · ✅ Success · Started 12:54 AM UTC · Completed 1:06 AM UTC Commit: |
|
PR #872 (feat: make fix agent multi-forge) took 3 days from issue creation to merge, involving ~34 agent runs across triage (3), code (4), review (~25), and fix (2) stages. The dominant failure mode was shellcheck violations caught by the post-script's authoritative pre-commit check: the code agent failed 3 times and the fix agent failed 2 times before the human took over manual fixes. The code agent only succeeded after the human provided explicit step-by-step instructions to run The review agent found one genuine high-severity bug (missing Several existing open issues cover the review quality problems observed here:
One novel proposal targets the root cause of the 5 shellcheck-related agent failures. Proposals filed
|
Summary
Adds GitLab support to the fix agent using the established three-file lib pattern (
fix-ops.lib.shdispatcher +github-fix-ops.lib.sh+gitlab-fix-ops.lib.sh) from the code and triage agents.Key changes:
forge_*functions for PR/MR head ref lookup, push remote setup, token management, label operations, and comment postingghCLI calls with forge-dispatchedforge_*functions; sourcesfix-ops.lib.shfor automatic forge selectionpre-fix.shto bundled source with forge-neutral workspace and PATH handling viaforge_get_workspace_dirandforge_append_pathforge.gitlabsection (policy, skills, host_files, env) and enrichedforge.githubwithFULLSEND_FORGE, skills, and host_filesgh pr commentfor GitHub,curlPOST to notes API for GitLab)policies/gitlab/fix.yamlallowscurl/git/node/pre-commit(nogh), GitLab API hosts, and package registriesskills/fix-review/shared methodology kept at top level; forge-specific CLI recipes moved togithub/andgitlab/subdirsenv/github/fix.envandenv/gitlab/fix.envmap forge-specific input vars to uniform namesShellcheck fixes (from prior attempts):
# shellcheck disable=SC2153forPR_NUMBERenv var references alongsidepr_numberlocal variables inpost-failure-report.lib.shandpost-fix.src.sh# shellcheck disable=SC2030,SC2031for intentional subshell exports inpost-fix-test.shTesting
post-fix-test.shtests pass (push retry, pre-commit retry, result resolution, branch mismatch, numeric validation, security integration)gitlab-api-failure-fails-closedverifies curl-based API failure triggers fail-closed behaviorgitlab-api-failure-fails-closed-no-gh-callsverifies noghbinary invocations in GitLab modeprocess-fix-result-test.py— all 30 tests passmake check-bundlepasses (bundled scripts match source)shellcheckpasses on all modified scripts (only info-level SC1091/SC2001 remain)Closes #860
Post-script verification
agent/860-fix-multi-forge)107b558888fb5c3eb76e2ac4e1754d33a65214e5..HEAD)