Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
936ea12
feat(integration): MPP OpenShift end-to-end integration (#1083)
markturansky Mar 28, 2026
9e046c2
fix(build): add build-control-plane to build-all RHOAIENG-55811 (#1093)
markturansky Mar 30, 2026
7c7ea1b
refactor(api+sdk+cli+mcp): remove ProjectAgent, ProjectDocument, Igni…
markturansky Mar 30, 2026
adc3b9c
chore: merge main into alpha (20260330-123045) [conflicts require res…
Mar 30, 2026
0baa51c
fix(rebase): reconcile main→alpha merge conflicts and implementation …
Mar 30, 2026
8a4fb5f
chore: sync alpha from main (20260330-123045) (#1103)
Gkrumbach07 Mar 30, 2026
d07332f
feat(cli): acpctl login --use-auth-code OAuth2 + PKCE flow (RHOAIENG-…
markturansky Mar 31, 2026
d259f02
docs(spec): Credential Kind — design spec for RHOAIENG-55817 (#1110)
markturansky Apr 1, 2026
79e1772
feat(credentials): Wave 5 — CP resolves credentials and injects CREDE…
Apr 1, 2026
7fddba2
use "git add -u" in merge script
ktdreyer Apr 1, 2026
84af240
remove orphaned platform-api-server gitlinks (#1132)
ktdreyer Apr 1, 2026
b2b353c
fix: use git add -u in merge script to avoid orphaned gitlinks (#1133)
ktdreyer Apr 1, 2026
236a418
fix(credentials): address Wave 5 code review findings (RHOAIENG-55817)
Apr 1, 2026
961a409
feat(credentials): Wave 5 — CP resolves credentials and injects CREDE…
ktdreyer Apr 2, 2026
9d63ac7
chore: merge main into alpha (20260402-100225) [conflicts require res…
Apr 2, 2026
24fce7d
fix(alpha-sync): resolve merge conflicts in workflow and runner tests
Apr 2, 2026
3c9bf5a
fix(alpha-sync): resolve remaining conflict in runner test credentials
Apr 2, 2026
89d42d4
chore: sync alpha from main (20260402-100225) (#1154)
markturansky Apr 2, 2026
6dc6023
fix(manifests): remove hardcoded preprod hostname from mpp-openshift …
Apr 2, 2026
7202c50
fix(manifests): remove hardcoded preprod hostname from mpp-openshift …
ktdreyer Apr 2, 2026
f729006
fix(control-plane): wire ProxyFromEnvironment into default HTTP trans…
Apr 2, 2026
3790b69
fix(control-plane): wire ProxyFromEnvironment into default HTTP trans…
ktdreyer Apr 2, 2026
0718d30
fix(manifests): wire ambient-control-plane-rbac.yaml into mpp-openshi…
Apr 2, 2026
0445893
fix(manifests): wire ambient-control-plane-rbac.yaml into mpp-openshi…
markturansky Apr 2, 2026
ad11f7c
fix(manifests): fix RoleBinding subject namespace via Kustomize repla…
Apr 2, 2026
493c333
fix(manifests): fix RoleBinding subject namespace via Kustomize repla…
markturansky Apr 2, 2026
05a0349
fix(manifests): explicit namespaces per resource, drop overlay namesp…
Apr 2, 2026
43b33d1
fix(manifests): explicit namespaces per resource, drop overlay namesp…
markturansky Apr 2, 2026
a83e9fb
fix(control-plane): use project kube client for namespace provisioner
Apr 2, 2026
7a8ff1f
fix(control-plane): use project kube client for namespace provisioner…
markturansky Apr 2, 2026
a1c6216
fix(control-plane): drop -z- from MPP namespace prefix
Apr 2, 2026
630e8d7
fix(control-plane): drop -z- from MPP namespace prefix (#1178)
markturansky Apr 2, 2026
8ad69d4
fix(control-plane): credential session unblock + project namespace cl…
markturansky Apr 3, 2026
281a643
fix(control-plane): retry handler errors with exponential backoff in …
markturansky Apr 3, 2026
d0a19d9
fix(api-server): authorize runner OIDC service account in WatchSessio…
markturansky Apr 3, 2026
dda10eb
fix(cp): credential rolebinding and project delete (#1203)
markturansky Apr 3, 2026
533f368
fix(control-plane): default BackendURL to AMBIENT_API_SERVER_URL (#1204)
markturansky Apr 3, 2026
94b0433
fix(runner): allow short-form .svc DNS in credential fetch allowlist …
markturansky Apr 4, 2026
88f1fc8
fix(control-plane): iterate projects to refresh running session token…
markturansky Apr 4, 2026
8526929
fix(control-plane): refresh runner tokens immediately on startup (#1207)
markturansky Apr 4, 2026
f7ef7d7
fix: end-to-end credential flow fixes (#1208)
markturansky Apr 4, 2026
00c1a24
feat(control-plane): CP /token endpoint for runner gRPC auth RHOAIENG…
markturansky Apr 4, 2026
68f239c
fix(manifests): add CP token Service and wire CP_RUNTIME_NAMESPACE + …
markturansky Apr 5, 2026
f5f7516
fix(manifests): add NetworkPolicy allowing runner pods to reach CP to…
markturansky Apr 5, 2026
b0ed2b8
feat(control-plane): replace TokenReview with RSA keypair auth for ru…
markturansky Apr 5, 2026
06f7626
fix(runner): wire CP-fetched OIDC token into get_bot_token() for back…
markturansky Apr 5, 2026
9c4c5c1
fix(runner): use K8s SA token for backend credential fetches
Apr 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
26 changes: 17 additions & 9 deletions .claude/commands/amber.review.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,15 @@ Read all of the following files to build your review context. Do not skip any.
2. `.claude/context/backend-development.md` (Go backend, Gin, K8s integration)
3. `.claude/context/frontend-development.md` (NextJS, Shadcn UI, React Query)
4. `.claude/context/security-standards.md` (auth, RBAC, token handling, container security)
5. `.claude/patterns/k8s-client-usage.md` (user token vs service account)
6. `.claude/patterns/error-handling.md` (consistent error patterns)
7. `.claude/patterns/react-query-usage.md` (data fetching patterns)
5. `.claude/context/api-server-development.md` (ambient-api-server plugin architecture, gRPC, OpenAPI pipeline)
6. `.claude/context/sdk-development.md` (Go/Python/TS SDK generator pipeline)
7. `.claude/context/cli-development.md` (acpctl command structure, session streaming)
8. `.claude/context/control-plane-development.md` (CP↔runner gRPC contract, fan-out, compatibility)
9. `.claude/context/ambient-spec-development.md` (Spec as desired state — Kinds, endpoints, CLI, SDK examples)
10. `.claude/context/ambient-workflow-development.md` (Workflow as transformation policy — propagation order, per-layer rules)
11. `.claude/patterns/k8s-client-usage.md` (user token vs service account)
12. `.claude/patterns/error-handling.md` (consistent error patterns)
13. `.claude/patterns/react-query-usage.md` (data fetching patterns)

### 2. Identify Changes to Review

Expand All @@ -43,12 +49,14 @@ Evaluate every changed file against the loaded standards. Apply ALL relevant che

#### Review Axes

1. **Code Quality** — Does it follow CLAUDE.md patterns? Naming conventions? No unnecessary comments?
2. **Security** — User token auth (`GetK8sClientsForRequest`), RBAC checks before operations, token redaction in logs, input validation, SecurityContext on Job pods, no secrets in code
3. **Performance** — Unnecessary re-renders, missing query key parameters, N+1 queries, unbounded list operations
4. **Testing** — Adequate coverage for new functionality? Tests follow existing patterns?
5. **Architecture** — Follows project structure from memory context? Correct layer separation (api/ vs queries/ in frontend, handlers/ vs types/ in backend)?
6. **Error Handling** — Follows error handling patterns? No `panic()`, no silent failures, wrapped errors with context, generic user messages with detailed server logs
1. **Spec alignment** — Does the change match the Spec (`ambient-data-model.md` + `openapi.yaml`)? If code adds something not in the Spec, flag it. If the Spec implies something not in the code, flag it.
2. **Workflow compliance** — Does the change follow the propagation order? (Spec → API Server → SDK → CLI → Operator/Runner → Frontend). A Layer N+1 change without a corresponding Layer N change is a flag.
3. **Code Quality** — Does it follow CLAUDE.md patterns? Naming conventions? No unnecessary comments?
4. **Security** — User token auth (`GetK8sClientsForRequest`), RBAC checks before operations, token redaction in logs, input validation, SecurityContext on Job pods, no secrets in code
5. **Performance** — Unnecessary re-renders, missing query key parameters, N+1 queries, unbounded list operations
6. **Testing** — Adequate coverage for new functionality? Tests follow existing patterns?
7. **Architecture** — Follows project structure from memory context? Correct layer separation (api/ vs queries/ in frontend, handlers/ vs types/ in backend)?
8. **Error Handling** — Follows error handling patterns? No `panic()`, no silent failures, wrapped errors with context, generic user messages with detailed server logs

#### Backend-Specific Checks (Go)

Expand Down
Loading
Loading