feat(agentex-ui): filter out build-only agents from the agents list#264
Merged
rpatel-scale merged 2 commits intoJun 2, 2026
Conversation
Build-only agents (AGX1-308) have an `agents` row but no acp_url and are not routable until deploy-time registration flips them to `Ready`. Filter agents with the `BuildOnly` status out of the agents list so they don't clutter the deployed, routable agents. Closes AGX1-311 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ilter-out-build-only-agents
smoreinis
approved these changes
Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fast follow to the build-time-agent-creation work. AGX1-308 added a
BUILD_ONLY("BuildOnly") value toAgentStatus: agents registered at build time have anagentsrow but noacp_urland are not routable until deploy-time registration flips them toReady.Before this change those rows rendered in the agents list as a greyed-out, disabled badge, cluttering the list of deployed, routable agents. This PR filters them out.
Changes
agentex-ui/components/agents-list/agents-list.tsx: filter agents with theBuildOnlystatus out of the displayed list, alongside the existingselectedAgentNamefilter.Notes
useAgentshook, which is documented as fetching "the complete list of agents." Keeps the hook pure and does display filtering at the view layer.agentexSDK (0.1.0-alpha.9) is stale: itsAgent.statusunion doesn't include'BuildOnly'yet. The constant is typed asstringso the comparison type-checks cleanly without a cast, with a comment flagging the gap. When the SDK is regenerated to includeBuildOnly, the constant can be narrowed.BuildOnlyto the frontend (AGX1-310). Harmless before then since no agent carries that status.Verification
tsc --noEmit→ cleannext lint→ no warnings/errorsCloses AGX1-311
🤖 Generated with Claude Code
Greptile Summary
This PR filters agents with a
BuildOnlystatus out of the agents list inagents-list.tsx, preventing un-routable build-time-registered agents from appearing in the UI alongside deployed agents. The filter is applied at the presentation layer, keeping theuseAgentshook's contract unchanged.BUILD_ONLY_STATUSconstant typed asstring(rather than narrowing toAgentStatus) because the publishedagentexSDK (0.1.0-alpha.9) does not yet includeBuildOnlyin theAgent.statusunion; a code comment calls this out and points to AGX1-308.routableAgentspre-filter before the existingselectedAgentNamefilter, so both filter paths benefit from the exclusion without duplicating logic.Confidence Score: 5/5
Safe to merge — the change is a narrow, additive filter at the view layer with no side effects on data fetching or routing logic.
The diff touches one file, adds a single pre-filter step, and correctly chains it with the existing name filter. The string type for BUILD_ONLY_STATUS is intentional and documented, and the filtering logic is straightforward with no edge cases that could silently drop valid agents.
No files require special attention.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[agents prop from useAgents] --> B[routableAgents filter\nagent.status !== 'BuildOnly'] B --> C{selectedAgentName?} C -- Yes --> D[filter by agent.name === selectedAgentName] C -- No --> E[use all routableAgents] D --> F[displayedAgents] E --> F F --> G{isLoading?} G -- Yes --> H[Skeleton placeholders] G -- No --> I{displayedAgents.length > 0?} I -- Yes --> J[Render AgentBadge list] I -- No --> K[No agents found message]Reviews (2): Last reviewed commit: "Merge branch 'main' into ronakpatel/agx1..." | Re-trigger Greptile