Skip to content

chore: update claude.md#61

Merged
dusglumac merged 2 commits into
kyma-project:mainfrom
dusglumac:update-claudemd
May 27, 2026
Merged

chore: update claude.md#61
dusglumac merged 2 commits into
kyma-project:mainfrom
dusglumac:update-claudemd

Conversation

@dusglumac
Copy link
Copy Markdown
Collaborator

Changes proposed in this pull request:

  • ...
  • ...
  • ...

@dusglumac dusglumac requested a review from vrdc-sap May 27, 2026 11:52
@hyperspace-insights
Copy link
Copy Markdown
Contributor

Summary

The following content is AI-generated and provides a summary of the pull request:


Update CLAUDE.md to Reflect Single-Controller Architecture

Documentation

📝 Updated CLAUDE.md to accurately reflect the current codebase architecture, replacing outdated references to a two-controller design with the consolidated single-controller model.

Changes

  • CLAUDE.md: Comprehensive documentation update with the following key changes:
    • Renamed "Two Controllers" section to "Single Controller" — removes all references to the separate GpuStatusReconciler and consolidates the reconcile flow description under GpuReconciler
    • Expanded the reconcile flow to include all 8 steps (singleton guard, finalizer, preflight, chart loading, Helm install, DaemonSet status, ClusterPolicy status, Ready summary)
    • Moved Watches and On deletion descriptions to be part of the single controller section
    • Updated Condition System description to reflect that all four input conditions are now written by GpuReconciler (not split between two controllers)
    • Simplified the description of chart.GPUOperatorChart() and related helpers
    • Removed reference to gpu_status_reconciler_test.go from testing conventions
    • Added make test-rbac command and documentation explaining RBAC coverage verification
    • Updated Key Constraints to note explicit per-resource RBAC grants (no wildcard */*) and added dual-layered singleton enforcement description

  • 🔄 Regenerate and Update Summary
  • ✏️ Insert as PR Description (deletes this comment)
  • 🗑️ Delete comment
PR Bot Information

Version: 1.21.0

  • Event Trigger: pull_request.opened
  • Output Template: Default Template
  • Correlation ID: 3f2f2b27-9979-4561-8b1a-b391fb85a83c
  • LLM: anthropic--claude-4.6-sonnet
  • Summary Prompt: Default Prompt
  • File Content Strategy: Full file content

Copy link
Copy Markdown
Contributor

@hyperspace-insights hyperspace-insights Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documentation changes are accurate and well-structured overall. The PR successfully consolidates the two-controller architecture into a single-controller description, updates the reconcile flow, and adds the new make test-rbac command. The one minor inaccuracy flagged is the description of what the gpuNodeChangedPredicate triggers on — the predicate fires on GPU-membership transitions rather than raw instance-type label changes as the text implies.

PR Bot Information

Version: 1.21.0

  • Agent Instructions:
  • Event Trigger: pull_request.opened
  • Correlation ID: 3f2f2b27-9979-4561-8b1a-b391fb85a83c
  • LLM: anthropic--claude-4.6-sonnet
  • File Content Strategy: Full file content

Comment thread CLAUDE.md Outdated
- Recomputes `Ready` summary from all four managed conditions after every sync
- Always returns `RequeueAfter: 30s` as a polling safety net
Watches:
- `Node` objects via `gpuNodeChangedPredicate` — fires on GPU node create/delete and on OS image or instance-type label changes, suppressing kubelet heartbeats. Enqueues all `Gpu` CRs so preflight errors self-heal when nodes are replaced.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Naming: gpuNodeChangedPredicate description overstates what triggers on label changes

The document says the predicate fires on "OS image or instance-type label changes". Looking at the actual UpdateFunc in gpuNodeChangedPredicate(), it fires when:

  1. A node transitions in or out of GPU membership (determined by IsGPUNode, which checks the instance-type label) — not on arbitrary instance-type label changes.
  2. OSImage changes on a GPU node.

A direct instance-type label change that doesn't alter GPU-node membership (e.g., changing from one GPU prefix to another) would not be caught by wasGPU != isGPU. The current wording implies a broader trigger than what's implemented.

Consider rephrasing to match the actual predicate behavior:

- `Node` objects via `gpuNodeChangedPredicate` — fires on GPU node create/delete, transitions into/out of GPU membership (instance-type label), and OS image changes on GPU nodes; suppresses kubelet heartbeats. Enqueues all `Gpu` CRs so preflight errors self-heal when nodes are replaced.

Please provide feedback on the review comment by checking the appropriate box:

  • 🌟 Awesome comment, a human might have missed that.
  • ✅ Helpful comment
  • 🤷 Neutral
  • ❌ This comment is not helpful

@dusglumac dusglumac merged commit 0de4a68 into kyma-project:main May 27, 2026
9 checks passed
@dusglumac dusglumac deleted the update-claudemd branch May 27, 2026 19:42
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.

2 participants