feat(cli): add runtime fallback to agents repo for unconfigured agents#2947
feat(cli): add runtime fallback to agents repo for unconfigured agents#2947ggallen wants to merge 1 commit into
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://ffb1fddf-site.fullsend-ai.workers.dev Commit: |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Code Review by Qodo
1.
|
ReviewFindingsLow
Previous runReviewFindingsHigh
Medium
Low
Labels: PR adds agent resolution feature touching runner and harness components with substantial documentation updates. Previous run (2)ReviewFindingsMedium
Low
Previous run (3)ReviewFindingsMedium
Low
Labels: PR modifies agent harness resolution logic in the CLI runner and adds documentation for the agent extraction plan. Previous run (4)ReviewFindingsHigh
Medium
Low
Previous run (5)ReviewFindingsHigh
Medium
Low
Previous run (6)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 |
When an agent is not registered in config.yaml, resolveAgentSource now attempts to fetch the latest harness from fullsend-ai/agents before falling back to the scaffold-embedded harness on disk. The fallback resolves the main branch HEAD SHA via the forge.Client interface, validates the SHA format, checks the org allowlist before any outbound fetch, and caches the fetched content directly. Supply- chain integrity relies on commit-pinned URLs, TLS transport, and the org allowlist. Only known first-party agents (triage, code, fix, review, retro, prioritize) are eligible for fallback; the fallback is skipped in offline mode or when no forge client is available. This is a transitional mechanism for the agent extraction (docs/plans/agent-extraction-to-agents-repo.md) and will be removed once all users have migrated to config-driven registration (ADR 0058 Phase 5). Signed-off-by: Greg Allen <gallen@redhat.com> Signed-off-by: Claude <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
6626d23 to
ad3d8b6
Compare
|
🤖 Finished Review · ✅ Success · Started 6:54 PM UTC · Completed 7:08 PM UTC |
Summary
config.yaml,resolveAgentSourcenow attempts to fetch the latest harness fromfullsend-ai/agentsbefore falling back to the scaffold-embedded harness on diskmainbranch HEAD SHA via the GitHub API, constructs a pinned URL with integrity hash, and uses the existingFetchAgentHarnesspath for full security validation (allowlist, SHA256 integrity)This 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
TestResolveAgentSource_*tests pass with updated signatureTestResolveAgentSource_AgentsRepoFallback_UnknownAgent— unknown agents skip fallback, fall to diskTestResolveAgentSource_AgentsRepoFallback_Offline— offline mode skips fallbackTestResolveAgentSource_AgentsRepoFallback_NoToken— missing token skips fallbackTestResolveAgentSource_AgentsRepoFallback_DiskWins— disk harness still works when no tokengo vet ./...cleango test ./internal/cli/all passfullsend run triageagainst a repo withoutagents:in config and verify it resolves from agents repo🤖 Generated with Claude Code