fix: load per-repo config.yaml in fullsend run and reusable workflows - #3000
Conversation
|
🤖 Finished Review · ✅ Success · Started 7:58 PM UTC · Completed 8:13 PM UTC |
PR Summary by QodoFix per-repo config.yaml loading for CLI run + reusable workflows
AI Description
Diagram
High-Level Assessment
Files changed (11)
|
Site previewPreview: https://400a58af-site.fullsend-ai.workers.dev Commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Code Review by Qodo
1.
|
ReviewFindingsMedium
Low
Previous runReviewFindingsMedium
Low
Previous run (2)ReviewFindingsMedium
Low
Previous run (3)ReviewFindingsMedium
Low
Previous run (4)ReviewFindingsMedium
Low
Previous run (5)ReviewFindingsMedium
Low
Previous run (6)ReviewFindingsMedium
Low
Previous run (7)ReviewFindingsMedium
Low
Labels: PR fixes per-repo config loading across reusable dispatch workflows and CLI install paths, matching the linked issue's component labels. Previous run (8)ReviewFindingsMedium
Low
Labels: PR fixes a defect in per-repo config loading; type/bug matches the confirmed-defect description. Previous run (9)ReviewFindingsMedium
Low
Previous run (10)ReviewFindingsMedium
Low
Previous run (11)ReviewFindingsMedium
Low
Previous run (12)ReviewFindingsMedium
Low
Previous run (13)ReviewFindingsMedium
Low
Labels: PR fixes per-repo config loading across reusable dispatch workflows and CLI install paths, matching the linked issue's component labels. |
5cd68bd to
1f23a4e
Compare
|
🤖 Finished Review · ✅ Success · Started 8:21 PM UTC · Completed 8:41 PM UTC |
1f23a4e to
ed2a5dc
Compare
|
🤖 Finished Review · ✅ Success · Started 8:45 PM UTC · Completed 8:58 PM UTC |
ed2a5dc to
11642cc
Compare
|
🤖 Finished Review · ❌ Failure · Started 9:03 PM UTC · Completed 9:17 PM UTC |
11642cc to
d93770d
Compare
|
🤖 Finished Review · ✅ Success · Started 10:02 PM UTC · Completed 10:14 PM UTC |
d93770d to
b22e5f9
Compare
|
🤖 Finished Review · ✅ Success · Started 10:18 PM UTC · Completed 10:44 PM UTC |
Per-repo installations store config.yaml in .fullsend/ but the CLI only parsed OrgConfig format. Add OrgConfigFromPerRepo adapter and teach tryLoadFullsendConfig/requireFullsendConfig to fall back to PerRepoConfig parsing using structural discrimination (isPerRepoYAML). Update all six reusable workflows to layer workspace files under .fullsend/ when install_mode is per-repo, and pass fullsend-dir to the action invocation. Closes fullsend-ai#2970 Signed-off-by: Greg Allen <greg@fullsend.ai> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
b22e5f9 to
f5cb149
Compare
|
🤖 Finished Review · ✅ Success · Started 10:50 PM UTC · Completed 11:02 PM UTC |
|
🤖 Finished Retro · ✅ Success · Started 11:37 AM UTC · Completed 11:47 AM UTC |
|
PR #3000 fixed per-repo config.yaml loading across CLI and 6 reusable workflows (+260/-50, 11 files). The fullsend-ai review agent performed well: it caught the critical dead-code fallback bug (medium), a missing Roles mapping, error message regressions, naming concerns, and a GHA workflow command injection risk. Across 3 re-review cycles, it also found edge cases in the fix itself (isPerRepoYAML returning false for configs without optional keys or invalid YAML). The human reviewer (ifireball) approved with zero additional findings, making this the third positive autonomy signal alongside issues #2984 (forge interface) and #3014 (mint component). Token cost was high (7+ review runs) but existing issues #2959 and #2992 already cover deduplication and iteration caps. Two novel proposals emerge: tracking the accumulating autonomy evidence for internal/cli/ paths, and teaching the review agent to proactively enumerate edge cases when it recommends adding discriminator functions, which would have reduced 2 re-review rounds on this PR. Proposals filed
|
Merge upstream/main into cursor/5525b289, resolving conflicts in forge test doubles and go.sum. Brings in the ADR 0033-aligned Prepare workspace and fullsend-dir=.fullsend fix from #3000. Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Merge upstream/main into cursor/5525b289, resolving conflicts in forge test doubles and go.sum. Brings in the ADR 0033-aligned Prepare workspace and fullsend-dir=.fullsend fix from #3000. Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
…workflows After fullsend-ai#3000, per-repo Prepare workspace copies scripts under .fullsend/, but setup-gcp and inline pre-script steps still invoked scripts/ at the workspace root. Add a scripts_dir input to setup-gcp and thread install_mode through all six reusable workflows so runner-side scripts resolve correctly. Fixes fullsend-ai#3036 Fixes fullsend-ai#3038 Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
OrgConfigFromPerRepoadapter ininternal/config/config.goto bridgePerRepoConfigfields intoOrgConfigtryLoadOrgConfig/requireOrgConfigininternal/cli/orgconfig.goastryLoadConfig/requireConfigwith per-repo YAML fallback (backward-compatible aliases preserved)reusable-{triage,code,review,fix,retro,prioritize}.yml) to layer workspace files under.fullsend/wheninstall_mode == per-repoand passfullsend-dir: .fullsendto the action invocationTestOrgConfigFromPerRepo,TestRunAgent_PerRepoConfig,TestTryLoadConfig_*(5 variants),TestRequireConfig_*(4 variants)Closes #2970
Test plan
go test ./internal/config/ ./internal/cli/— all passtryLoadConfig92.3%,requireConfig92.9%,OrgConfigFromPerRepo100%fullsend runreads.fullsend/config.yaml🤖 Generated with Claude Code