feat(cli): add runtime fallback to agents repo for unconfigured agents - #2947
Conversation
|
🤖 Finished Review · ✅ Success · Started 4:45 PM UTC · Completed 5:17 PM UTC |
PR Summary by Qodocli: fall back to fullsend-ai/agents for unconfigured agents
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Site previewPreview: https://9db7cf02-site.fullsend-ai.workers.dev Commit: |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Code Review by Qodo
1.
|
ReviewThe PR adds a runtime fallback to resolve known first-party agents from Prior review findings (SHA
FindingsLow
Previous runReviewThe PR adds a runtime fallback to resolve known first-party agents from Prior review findings (SHA FindingsLow
Labels: PR modifies agent resolution logic in CLI runner and forge interface, adds extraction plan documentation Previous runReviewThe PR adds a runtime fallback to resolve known first-party agents from Prior review findings (SHA FindingsLow
Labels: PR modifies agent resolution logic in CLI runner and forge interface, adds extraction plan documentation Previous run (2)ReviewFindingsLow
Previous run (3)ReviewFindingsHigh
Medium
Low
Labels: PR modifies agent resolution logic in the CLI runner and forge interface with substantial documentation updates. Previous run (4)ReviewFindingsLow
Previous run (5)ReviewFindingsLow
Previous run (6)ReviewFindingsHigh
Medium
Low
Labels: PR modifies agent resolution logic in the CLI runner and forge interface with substantial documentation updates. Previous run (7)ReviewFindingsLow
Previous run (8)ReviewFindingsLow
Previous run (9)ReviewFindingsHigh
Medium
Low
Labels: PR adds agent resolution feature touching runner and harness components with substantial documentation updates. Previous run (10)ReviewFindingsMedium
Low
Previous run (11)ReviewFindingsMedium
Low
Labels: PR modifies agent harness resolution logic in the CLI runner and adds documentation for the agent extraction plan. Previous run (12)ReviewFindingsHigh
Medium
Low
Previous run (13)ReviewFindingsHigh
Medium
Low
Previous run (14)ReviewFindingsMedium
Low
Labels: PR modifies agent harness resolution logic in the CLI runner. |
c3093c2 to
5965f00
Compare
|
🤖 Finished Review · ✅ Success · Started 5:36 PM UTC · Completed 5:53 PM UTC |
5965f00 to
2d3468a
Compare
|
🤖 Finished Review · ✅ Success · Started 6:01 PM UTC · Completed 6:17 PM UTC |
2d3468a to
6626d23
Compare
|
🤖 Finished Review · ✅ Success · Started 6:27 PM UTC · Completed 6:41 PM UTC |
6626d23 to
ad3d8b6
Compare
The functional-tests path filter and relevance check only covered eval/, internal/scaffold/, .github/scripts/, and the workflow file itself. Changes to internal/cli/ (like the harness resolution fix in this PR) skipped functional tests entirely — same blind spot that let #2947 land without running the evals. Add internal/cli/ to both the push.paths filter and the PR relevance grep so that CLI changes affecting agent resolution get evaluated before merge. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
The functional-tests path filter and relevance check only covered eval/, internal/scaffold/, .github/scripts/, and the workflow file itself. Changes to internal/cli/ (like the harness resolution fix in this PR) skipped functional tests entirely — same blind spot that let #2947 land without running the evals. Add internal/cli/ to both the push.paths filter and the PR relevance grep so that CLI changes affecting agent resolution get evaluated before merge. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
Summary
config.yaml,tryAgentsRepoFallbackattempts to fetch the harness fromfullsend-ai/agentsbefore falling back to the scaffold-embedded harness on diskv0floating version tag SHA viaforge.Client.GetRef, constructs a commit-pinnedraw.githubusercontent.comURL, checks the org allowlist, fetches viafetch.FetchURL, and caches content directlyGetRefto theforge.Clientinterface for general ref resolution (branches, tags);GetBranchRefnow delegates to it.GetRefdereferences annotated tags to their underlying commit SHAThis enables existing fullsend users to transparently use the extracted agents repository without any config changes, completing step 7 of the agent extraction plan.
Test plan
TestTryAgentsRepoFallback_UnknownAgent— unknown agents skip fallbackTestTryAgentsRepoFallback_Offline— offline mode skips fallbackTestTryAgentsRepoFallback_NilClient— nil forge client skips fallbackTestTryAgentsRepoFallback_GetRefError— ref resolution error falls through gracefullyTestTryAgentsRepoFallback_NotAllowlisted— URL not in allowlist is rejectedTestTryAgentsRepoFallback_ExplicitlyEmptyAllowlist— empty allowlist ([]string{}) denies allTestTryAgentsRepoFallback_AllKnownAgents— all 6 first-party agents resolveTestTryAgentsRepoFallback_SuccessPath— end-to-end success with cache and audit logTestTryAgentsRepoFallback_FetchURLError— fetch failure falls throughTestFakeClient_GetRef— success, not found, error injectionTestFakeClient_GetBranchRef_DelegatesToGetRef— priority, fallthrough, independent error injectionTestGetRef— lightweight tag returns commit SHATestGetRef_AnnotatedTag— annotated tag dereferences to commit SHATestGetRef_NotFound— 404 returnsErrNotFoundTestGetBranchRef_DelegatesToGetRef— branch resolution viaGetRefgo vet ./...cleango test ./internal/forge/... ./internal/cli/all pass🤖 Generated with Claude Code