Skip to content

add agent to ui#184

Closed
MichaelClifford wants to merge 303 commits intoambient-code:mainfrom
MichaelClifford:agents
Closed

add agent to ui#184
MichaelClifford wants to merge 303 commits intoambient-code:mainfrom
MichaelClifford:agents

Conversation

@MichaelClifford
Copy link
Copy Markdown
Contributor

Simple PR to make vTeam agents more prominent in the UI. Added a page that lists the available agents from the vTeam project, along with some simple instructions for how to use them directly during an interactive session.

jeremyeder and others added 30 commits August 27, 2025 15:45
…ude-github-actions-1756323904713

Add Claude Code GitHub Workflow
…/sample-prompt-templates

Add Sample RFE Prompt Templates Collection
Assisted by: Claude AI

Signed-off-by: Chris Hambridge <chambrid@redhat.com>
Signed-off-by: Chris Hambridge <chambrid@redhat.com>
Signed-off-by: Chris Hambridge <chambrid@redhat.com>
Signed-off-by: Chris Hambridge <chambrid@redhat.com>
…ment configuration, deployment scripts, and various frontend components. This cleanup enhances project organization by eliminating unused code and outdated documentation, ensuring a more streamlined codebase.
…nhancing README documentation. Added new CLI commands for data ingestion and improved setup instructions. Updated .gitignore to exclude unnecessary files, ensuring a cleaner codebase and better organization.
…eature Sizing. Transition from RFE Refiner to RHOAI, enhancing system design with LlamaDeploy and @llamaindex/server. Remove obsolete files, including components and configuration scripts, to streamline the codebase. Improve README and architecture documentation to reflect new features and integration points, ensuring clarity for enterprise-grade multi-agent analysis workflows.
…roject organization. Change default service to 'rfe-builder-workflow' and add 'artifact-editor-workflow' service. Remove obsolete 'workflow.py' file and enable OpenAI streaming in settings. Exclude 'src/__pycache__/**' from version control.
…ions and environment settings, streamlining the project by eliminating unused configuration files.
…nce type annotations in agents.py for better clarity and type safety. Add agent-specific fields to RFEBuilderUIEventData in rfe_builder_workflow.py and improve event handling in RFEBuilderProgressCard. Remove obsolete workflow_progress component to streamline the UI components.
…w' service with necessary Python dependencies. Update 'pyproject.toml' to include 'python-multipart' for file handling. Improve error handling and response validation in RFEAgentManager, ensuring proper formatting of response fields. Implement streaming analysis in RFEBuilderWorkflow for better UI feedback and add agent-specific progress tracking in RFEBuilderProgressCard. Update settings to allow for larger token limits in LLM configurations, ensuring comprehensive document generation.
… imports in ArtifactTabs component. Comment out RFEBuilderProgress component usage for future reference, improving code readability and maintainability.
…lderWorkflow. Introduce new async functions for structured prediction with UI events and simplify artifact generation logic. Remove obsolete components and improve overall code readability by cleaning up imports and comments. Update UI components to reflect changes in the workflow structure.
 Convert agent definitions to schema-compliant YAML format:
  - Engineering Manager, Staff Engineer, UX Researcher, UX Architect
  - Scrum Master, Delivery Owner, Team Lead, PXE
  - Technical Writer, UX Feature Lead, Team Member
  - Content Strategist, Documentation Program Manager
  - Technical Writing Manager, UX Team Lead

Assisted by: Claude AI
…sonas-in-schema-format

feat: add new agent personas in agent schema format
cooktheryan and others added 25 commits October 9, 2025 14:04
Signed-off-by: Ryan Cook <rcook@redhat.com>
## Summary
This PR improves authentication and session fidelity, introduces
first‑class Git operations, streamlines runner token handling with RBAC
updates, and enhances the frontend UI/UX for session change visibility
and performance. It also consolidates backend URL configuration and
replaces the PR creation flow with an auto‑push behavior.

## What’s Changed

### Backend
- **Token handling**
  - Allow token via query parameter for WebSocket/agent callers.
- Derive `userContext` from the authenticated caller and persist on
session.
- **Agentic Sessions**
  - Add `environmentVariables` passthrough in `AgenticSessionSpec`.
- Initialize repo status on session creation; add status to
`SessionRepoMapping`.
- **Git operations**
  - New endpoints: push, abandon, diff.
  - New routes for session workspace and session repo actions.
  - Remove deprecated webhook-related endpoints.
- **Runner token provisioning**
- Update `provisionRunnerTokenForSession` to handle RBAC for
`agenticsessions/status`.

### Frontend
- **API and routing**
  - Add routes for session Git actions: push, abandon, diff.
- Use `BACKEND_URL` from config across fetch calls; handle `subpath`
query param.
- **UI/UX improvements**
  - Add “Changes” column in `ProjectRFEDetailPage` and session list:
    - Labels based on repo status: “diff”, “pushed”, “no changes”.
  - Compute `changesMap` via diff API and display per session.
- Performance/stability: `useRef` to avoid rerender flicker, list
flicker reduction, exponential backoff for workspace polling, preserve
expansion state, avoid unnecessary re-renders.
- **Workflow change**
- Replace PR creation option with `autoPushOnComplete` toggle (auto-push
behavior on completion).

### Types and Schemas
- `SessionRepo.status` enum: `no-diff` | `has-diff` | `pushed` |
`abandoned`.
- `AgenticSessionSpec`: add `environmentVariables` and `userContext`.
- `SessionRepoMapping`: add `status` field.

### RBAC and Manifests
- **Backend ClusterRole**: include permissions for AgenticSessions,
TokenRequests, ConfigMaps, TokenReviews, RBAC objects, and Secrets.
- **ambient-project-admin**: full CRUD for ProjectSettings and
RFEWorkflows; AgenticSessions read-only.
- **ambient-project-edit**: AgenticSessions read-only; remove extra
verbs for `agenticsessions` and `agenticsessions/status`.
- **Backend deployment**: add label `role: backend`; fix resources
indentation.
- **Automated deployer**: broaden ClusterRole to common deployment
permissions; add RoleBinding for `ambient-code` namespace.

### Operator/Runner
- Read runner secrets configuration from `ProjectSettings` in the
session namespace.
- Flip container roles for content writer and code runner.
- Inject `BOT_TOKEN` from annotated Secret; deterministic fallback if
absent.
- Refactor/remove mounted runner Secret volume; runner fetches tokens on
demand.
- WebSocket transport: only use `BOT_TOKEN` in `Authorization`; append
token to WS URL when available.

### Dependencies and SDK
- Rename `claude-code-sdk` to `claude-agent-sdk`; update references.

## Security and Compliance
- More flexible but explicit auth: WS token via query param alongside
headers.
- Persisted `userContext` for auditability.
- Expanded but scoped RBAC to enable Git/session operations and token
provisioning with least-privilege intent.
- Secret handling reworked to reduce static mounts and enable on-demand
token retrieval.

---------

Signed-off-by: sallyom <somalley@redhat.com>
Co-authored-by: sallyom <somalley@redhat.com>
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Ryan Cook <rcook@redhat.com>
…code#164)

@Gkrumbach07 @cooktheryan this appears to fix the issue of artifacts not
getting pushed - the real issue I think was `obj -> currentObj` i think

Signed-off-by: sallyom <somalley@redhat.com>
# PR Description: Fix Push Branch Changes

## Key Features
- **Auto-push on completion**: New flag to automatically push changes
when session completes (moved from environment variable to dedicated
field)
- **Enhanced diff statistics**: Changed from file status counts to
line-based totals (added/removed lines)
- **Improved repo seeding**: Now validates `.claude/commands/` and
`.claude/agents/` directories for proper spec-kit setup
- **Claude-first template**: Switched default spec-kit template to
Claude version

## Backend Changes
- Git diff now uses `--numstat` for line-based statistics instead of
porcelain status
- Repo seeding validation checks for `.claude/commands/` and
`.claude/agents/` directories
- Agent files now copied to `.claude/agents/` subdirectory
- Added `autoPushOnComplete` flag to session creation API

## Frontend Changes
- Updated diff display to show total lines added/removed instead of file
counts
- Removed "Changes" column from RFE sessions table
- Simplified specify phase prompt
- Auto-push flag now part of session spec (not environment variable)
)

## Summary

Enhanced CLAUDE.md to provide future Claude Code instances with
comprehensive development context and actionable commands for working in
this repository.

**Key improvements:**
- Complete development workflow commands (build, test, deploy, lint) for
all components
- Deep architectural documentation (CRDs, operators, multi-repo support,
batch vs interactive modes)
- Component-specific development instructions (Go backend, NextJS
frontend, Python runner)
- Testing strategy with environment configuration details
- CI/CD pipeline documentation
- Production considerations (security, monitoring, scaling)

**Architecture highlights:**
- Custom Resource Definitions and their schemas
- Backend API structure with project-scoped endpoints and multi-tenancy
- Operator reconciliation loop patterns
- Claude Code runner execution flow
- Multi-repo support architecture

**Development commands added:**
- Local dev with OpenShift Local (CRC): `make dev-start`
- Component builds: `make build-all`, individual component targets
- Testing: Backend (unit/contract/integration), frontend, operator
- Hot-reloading development workflow
- Documentation serving and deployment

Focuses on non-obvious patterns requiring multiple file reads to
understand, avoiding generic development practices and repetition.

## Test plan

- [x] Analyzed codebase structure (Makefiles, READMEs, CRDs, backend
code)
- [x] Documented all major development commands from root and component
Makefiles
- [x] Verified architectural patterns match actual implementation
- [x] Included references to specific files and line counts for context

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
…ode#170)

## Summary

This PR removes obsolete code and documentation references to improve
repository clarity and prevent confusion for new contributors.

## Changes

### 1. Archive Directory Removal
- **Deleted 37 files** containing deprecated components:
- `archive/mcp_client_integration/` - Old MCP client code no longer in
use
- `archive/vteam_shared_configs/` - Legacy configuration management
system
- **Removed 9,337 lines** of obsolete code

### 2. Documentation Cleanup
Updated all documentation to reflect the current Kubernetes-native
architecture:

- **Configuration files:**
- `.gitignore` - Removed `demos/rfe-builder/.streamlit/secrets.toml`
entry
  - `.claudeignore` - Removed `demos/rfe-builder-archived/` entry

- **User documentation:**
- `docs/user-guide/getting-started.md` - Complete rewrite for Kubernetes
deployment with OpenShift Local (CRC)
- `docs/labs/index.md` - Updated setup instructions to use current
architecture
- `docs/labs/basic/lab-1-first-rfe.md` - Changed from Streamlit to vTeam
web interface

- **Developer documentation:**
- `docs/developer-guide/index.md` - Updated tech stack: Go backend,
Kubernetes operator, Claude Code runner
- `docs/reference/index.md` - Changed config examples from
`.streamlit/secrets.toml` to `ProjectSettings` CRs
- `docs-plan.md` - Updated troubleshooting to use `kubectl`/`oc`
commands

## Architecture Changes Reflected

**Before:** Documentation referenced Streamlit-based RFE builder with
LlamaDeploy
**After:** Documentation accurately reflects:
- Kubernetes Custom Resources (AgenticSession, ProjectSettings,
RFEWorkflow)
- Go backend REST API
- Kubernetes operator for job orchestration
- Python Claude Code runner in job pods
- NextJS frontend

## Testing

- Ran `markdownlint` on all modified documentation files
- Verified no remaining references to `streamlit`, `rfe-builder`, or
`demos/` paths
- Confirmed documentation coherence and accuracy

## Impact

- **Repository cleanup:** Reduces maintenance burden by removing 37
obsolete files
- **Documentation accuracy:** New users will follow correct deployment
instructions
- **Developer onboarding:** Clear understanding of current architecture
components

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
@Gkrumbach07 with the rebase I had this defined in 2 places - it should
_only_ be
[here](https://github.com/ambient-code/vTeam/blob/main/components/backend/types/session.go#L74)
- the duplicate was causing issues - I hope this fixes it, testing now.

Signed-off-by: sallyom <somalley@redhat.com>
temporarily comment out the `changed` filter to force update images
try ambient-code#2 to refresh operator image without code change
try ambient-code#3 temporary update to workflow to trigger image builds
restore workflow file
Signed-off-by: Ryan Cook <rcook@redhat.com>
Signed-off-by: Ryan Cook <rcook@redhat.com>
Signed-off-by: Ryan Cook <rcook@redhat.com>
ambient-code#178)

Remove the check for empty result_payload upon completion - empty
result_payload isn't necessarily a failure.
@Gkrumbach07 ptal!

Signed-off-by: sallyom <somalley@redhat.com>
Signed-off-by: Ryan Cook <rcook@redhat.com>
)

Bumps
[softprops/action-gh-release](https://github.com/softprops/action-gh-release)
from 1 to 2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/softprops/action-gh-release/releases">softprops/action-gh-release's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.0</h2>
<ul>
<li>update actions.yml declaration to node20 to address warnings</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md">softprops/action-gh-release's
changelog</a>.</em></p>
<blockquote>
<h2>0.1.12</h2>
<ul>
<li>fix bug leading to empty strings subsituted for inputs users don't
provide breaking api calls <a
href="https://redirect.github.com/softprops/action-gh-release/pull/144">#144</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/softprops/action-gh-release/commit/6da8fa9354ddfdc4aeace5fc48d7f679b5214090"><code>6da8fa9</code></a>
release 2.4.1</li>
<li><a
href="https://github.com/softprops/action-gh-release/commit/f38efdea4c5ffe13e9424b0aa2833bee28f1e34c"><code>f38efde</code></a>
fix: gracefully fallback to body when body_path cannot be read (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/671">#671</a>)</li>
<li><a
href="https://github.com/softprops/action-gh-release/commit/cec1a1113b630bc5ae75fe5204e1b22f8d699e94"><code>cec1a11</code></a>
fix(util): support brace expansion globs containing commas in
parseInputFiles...</li>
<li><a
href="https://github.com/softprops/action-gh-release/commit/aec2ec56f94eb8180ceec724245f64ef008b89f5"><code>aec2ec5</code></a>
release 2.4.0</li>
<li><a
href="https://github.com/softprops/action-gh-release/commit/4db716b1675d78def1254daf8ba4bf42b0806748"><code>4db716b</code></a>
feat: respect working_directory for files globs; add input and tests (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/667">#667</a>)</li>
<li><a
href="https://github.com/softprops/action-gh-release/commit/14820f2cee95a6ff4a1054a5eeb951fe197b73fe"><code>14820f2</code></a>
chore(deps): bump the npm group with 2 updates (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/668">#668</a>)</li>
<li><a
href="https://github.com/softprops/action-gh-release/commit/62c96d0c4e8a889135c1f3a25910db8dbe0e85f7"><code>62c96d0</code></a>
release 2.3.4</li>
<li><a
href="https://github.com/softprops/action-gh-release/commit/7dc9b8ac0f2368b3a87cf0705832afc474fc7cd8"><code>7dc9b8a</code></a>
fix(action): handle 422 already_exists race condition (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/665">#665</a>)</li>
<li><a
href="https://github.com/softprops/action-gh-release/commit/0f0e0b98e953d8219f04f51a8608dd41c902f012"><code>0f0e0b9</code></a>
chore(deps): bump the npm group with 3 updates (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/666">#666</a>)</li>
<li><a
href="https://github.com/softprops/action-gh-release/commit/97d42c1b50f585f357413698aa1b779307aa0d52"><code>97d42c1</code></a>
chore(deps): bump the npm group across 1 directory with 2 updates (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/662">#662</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/softprops/action-gh-release/compare/v1...v2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=softprops/action-gh-release&package-manager=github_actions&previous-version=1&new-version=2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@MichaelClifford
Copy link
Copy Markdown
Contributor Author

Closing in favor of #185

jeremyeder pushed a commit that referenced this pull request Apr 22, 2026
Dependency upgrades (8 of 10 Dependabot alerts):
- astro 5.x → 6.1.8, starlight 0.34 → 0.38 (alerts #183, #184)
- fastmcp 2.14.3 → 3.2.4 via uv override (alerts #144-146)
- pyjwt >=2.11.0 → >=2.12.0 (alert #74)
- pygments 2.19.2 → 2.20.0 (alert #143)
- diskcache removed — fastmcp 3.x dropped the dep (alert #59)
- Remaining: docker/docker #134, #135 — no upstream Go module fix

Docs site:
- Add starlight-llms-txt plugin — generates /llms.txt, /llms-full.txt,
  /llms-small.txt for LLM-friendly documentation access
- Add Claude Code Harness page — documents agents, skills, hooks,
  convention guard, continuous learning loop, migration to other tools
- Add PR Review Gate page — documents inner-loop review flow, circuit
  breakers, self-reviewed label, merge queues
- Add Gerrit and CodeRabbit sections to integrations page
- Remove stale token lifetime table from workspaces page
- Remove stale zod and sitemap overrides from docs/package.json

Scaffold skill:
- Add Documentation section and checklist items for writing docs when
  scaffolding new integrations

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants