WIP: Feat/Frontend to consume new v2 API#640
WIP: Feat/Frontend to consume new v2 API#640markturansky wants to merge 3 commits intoambient-code:mainfrom
Conversation
This comment has been minimized.
This comment has been minimized.
220f39b to
4181d02
Compare
Claude Code ReviewSummaryThis PR adds a dual-API architecture to the frontend, allowing users to toggle between the existing Kubernetes-backed API and a new v2 API server. It introduces an The architecture is sound and the dual-hook pattern with Issues by SeverityBlocker Issues1. Hardcoded
Critical Issues2. Token resolution silently falls through to
3.
Major Issues4. The Dockerfile mutates 5. Component size violations Several new components exceed the 200-line guideline from
Extract table rows, action dialogs, and pagination controls as dedicated sub-components. 6. Every Minor Issues7. Default API source is
8. v1 The v1 key factory uses 9. Stale time comments stripped from existing hooks Adding the 10. Turbopack root conditional in The Positive Highlights
Recommendations
🔍 View AI decision process (logs available for 90 days) 📋 View memory system files loaded (click to expand)What Amber Loaded for Code ReviewAmber automatically loaded these repository standards from the memory system:
Impact: This review used your repository's specific code quality standards, security patterns, and best practices from the memory system (PRs #359, #360) - not just generic code review guidelines. |
… SDK integration Introduces the ambient-control-plane component — a Go controller that watches the ambient-api-server via gRPC streams and reconciles desired state into Kubernetes CRs (AgenticSession, Project, ProjectSettings). Control plane features: - gRPC watch + paginated list-sync informer for real-time event delivery - Session, Project, and ProjectSettings reconcilers for K8s CR management - Optimistic concurrency retry on 409 conflict during CR updates - Write-back echo detection to prevent infinite update loops - Local mode with runner process management and AG-UI reverse proxy - Configurable namespace targeting via NAMESPACE env var SDK changes (required dependency): - URL path updated to /api/ambient/v1 - NewClientFromEnv requires explicit project parameter - gRPC session watch client for real-time stream subscriptions - Watch example added Also adds CI workflow for control plane unit tests.
- Added ApiSourceToggle to navigation component - Wrapped app layout with ApiSourceProvider - Enables switching between Kubernetes and API Server sources 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
4181d02 to
dd1470f
Compare
Merge Readiness — Blockers Found
|
Jira: RHOAIENG-51896
Builds on #639