🌱 Agente Build in the DEMO#2585
🌱 Agente Build in the DEMO#2585camilamacedo86 wants to merge 1 commit intooperator-framework:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
✅ Deploy Preview for olmv1 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Pull request overview
This PR adds a new Claude agent profile (olmv1-maintainer) intended to guide work on OLMv1/operator-controller, downstream OpenShift sync, and related catalog/FBC workflows.
Changes:
- Introduces a new agent definition with extensive scope/role guidance for OLMv1 maintenance work.
- Configures agent metadata (name/model/color/memory) and embeds examples + a persistent-memory workflow description.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| # Persistent Agent Memory | ||
|
|
||
| You have a persistent Persistent Agent Memory directory at `/Users/camilam/go/src/github/operator-framework/operator-controller/.claude/agent-memory/olmv1-maintainer/`. This directory already exists — write to it directly with the Write tool (do not run mkdir or check for its existence). Its contents persist across conversations. |
There was a problem hiding this comment.
Minor wording issue: "You have a persistent Persistent Agent Memory directory" repeats "persistent" and reads like a typo. While updating the path, please also fix this phrase to avoid confusion.
| You have a persistent Persistent Agent Memory directory at `/Users/camilam/go/src/github/operator-framework/operator-controller/.claude/agent-memory/olmv1-maintainer/`. This directory already exists — write to it directly with the Write tool (do not run mkdir or check for its existence). Its contents persist across conversations. | |
| You have a Persistent Agent Memory directory at `/Users/camilam/go/src/github/operator-framework/operator-controller/.claude/agent-memory/olmv1-maintainer/`. This directory already exists — write to it directly with the Write tool (do not run mkdir or check for its existence). Its contents persist across conversations. |
| @@ -0,0 +1,115 @@ | |||
| --- | |||
| name: olmv1-maintainer | |||
| description: "Use this agent when working on the OLMv1 upstream project (operator-framework/operator-controller), its OpenShift downstream sync target (openshift/operator-framework-operator-controller), or related catalog and File-Based Catalog workflows (operator-framework/operator-registry). This includes:\\n\\n- Bug fixes and regression investigations in operator-controller or catalogd\\n- New feature implementation for ClusterExtension, ClusterCatalog, or bundle resolution\\n- Controller-runtime reconciliation issues, watches, predicates, or finalizers\\n- CI/CD pipeline failures, flaky tests, or GitHub Actions workflow debugging\\n- Dependency updates, Kubernetes version bumps, or go.mod maintenance\\n- Release engineering, patch releases, or version compatibility work\\n- CRD evolution, generated manifest updates, or API changes\\n- Repository maintenance, DevOps improvements, or build system updates\\n- Changes that may impact downstream OpenShift compatibility\\n- Catalog serving, FBC metadata delivery, or operator-registry integration issues\\n\\nExamples:\\n\\n<example>\\nUser: \"The ClusterExtension controller is failing to reconcile with a status condition error. Can you investigate?\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to investigate this reconciliation failure.\"\\n<commentary>\\nSince this involves operator-controller reconciliation behavior, use the olmv1-maintainer agent to diagnose the root cause and propose a fix.\\n</commentary>\\n</example>\\n\\n<example>\\nUser: \"We need to add support for a new status condition to track bundle unpacking progress.\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to design and implement this new status condition.\"\\n<commentary>\\nSince this involves new feature development for ClusterExtension lifecycle, use the olmv1-maintainer agent to ensure the implementation follows controller patterns and maintains API compatibility.\\n</commentary>\\n</example>\\n\\n<example>\\nUser: \"The CI is failing on the multi-arch build step.\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to debug this CI failure.\"\\n<commentary>\\nSince this involves CI/CD pipeline issues, use the olmv1-maintainer agent to identify the root cause and fix the build workflow.\\n</commentary>\\n</example>\\n\\n<example>\\nUser: \"We need to bump the Kubernetes dependency to 1.29.\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to handle this dependency update.\"\\n<commentary>\\nSince this involves dependency updates with potential downstream impact, use the olmv1-maintainer agent to ensure compatibility and assess OpenShift risks.\\n</commentary>\\n</example>" | |||
There was a problem hiding this comment.
The YAML front-matter description uses \\n sequences, which will be interpreted as literal \n characters (not real newlines) by YAML double-quoted string parsing. This makes the description harder to read/consume in tools that display it. Consider switching to a YAML block scalar (|) or use single-escaped \n sequences so the intended line breaks render correctly.
| description: "Use this agent when working on the OLMv1 upstream project (operator-framework/operator-controller), its OpenShift downstream sync target (openshift/operator-framework-operator-controller), or related catalog and File-Based Catalog workflows (operator-framework/operator-registry). This includes:\\n\\n- Bug fixes and regression investigations in operator-controller or catalogd\\n- New feature implementation for ClusterExtension, ClusterCatalog, or bundle resolution\\n- Controller-runtime reconciliation issues, watches, predicates, or finalizers\\n- CI/CD pipeline failures, flaky tests, or GitHub Actions workflow debugging\\n- Dependency updates, Kubernetes version bumps, or go.mod maintenance\\n- Release engineering, patch releases, or version compatibility work\\n- CRD evolution, generated manifest updates, or API changes\\n- Repository maintenance, DevOps improvements, or build system updates\\n- Changes that may impact downstream OpenShift compatibility\\n- Catalog serving, FBC metadata delivery, or operator-registry integration issues\\n\\nExamples:\\n\\n<example>\\nUser: \"The ClusterExtension controller is failing to reconcile with a status condition error. Can you investigate?\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to investigate this reconciliation failure.\"\\n<commentary>\\nSince this involves operator-controller reconciliation behavior, use the olmv1-maintainer agent to diagnose the root cause and propose a fix.\\n</commentary>\\n</example>\\n\\n<example>\\nUser: \"We need to add support for a new status condition to track bundle unpacking progress.\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to design and implement this new status condition.\"\\n<commentary>\\nSince this involves new feature development for ClusterExtension lifecycle, use the olmv1-maintainer agent to ensure the implementation follows controller patterns and maintains API compatibility.\\n</commentary>\\n</example>\\n\\n<example>\\nUser: \"The CI is failing on the multi-arch build step.\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to debug this CI failure.\"\\n<commentary>\\nSince this involves CI/CD pipeline issues, use the olmv1-maintainer agent to identify the root cause and fix the build workflow.\\n</commentary>\\n</example>\\n\\n<example>\\nUser: \"We need to bump the Kubernetes dependency to 1.29.\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to handle this dependency update.\"\\n<commentary>\\nSince this involves dependency updates with potential downstream impact, use the olmv1-maintainer agent to ensure compatibility and assess OpenShift risks.\\n</commentary>\\n</example>" | |
| description: | | |
| Use this agent when working on the OLMv1 upstream project (operator-framework/operator-controller), its OpenShift downstream sync target (openshift/operator-framework-operator-controller), or related catalog and File-Based Catalog workflows (operator-framework/operator-registry). | |
| This includes: | |
| - Bug fixes and regression investigations in operator-controller or catalogd | |
| - New feature implementation for ClusterExtension, ClusterCatalog, or bundle resolution | |
| - Controller-runtime reconciliation issues, watches, predicates, or finalizers | |
| - CI/CD pipeline failures, flaky tests, or GitHub Actions workflow debugging | |
| - Dependency updates, Kubernetes version bumps, or go.mod maintenance | |
| - Release engineering, patch releases, or version compatibility work | |
| - CRD evolution, generated manifest updates, or API changes | |
| - Repository maintenance, DevOps improvements, or build system updates | |
| - Changes that may impact downstream OpenShift compatibility | |
| - Catalog serving, FBC metadata delivery, or operator-registry integration issues | |
| Examples: | |
| <example> | |
| User: "The ClusterExtension controller is failing to reconcile with a status condition error. Can you investigate?" | |
| Assistant: "I'm going to use the Agent tool to launch the olmv1-maintainer agent to investigate this reconciliation failure." | |
| <commentary> | |
| Since this involves operator-controller reconciliation behavior, use the olmv1-maintainer agent to diagnose the root cause and propose a fix. | |
| </commentary> | |
| </example> | |
| <example> | |
| User: "We need to add support for a new status condition to track bundle unpacking progress." | |
| Assistant: "I'm going to use the Agent tool to launch the olmv1-maintainer agent to design and implement this new status condition." | |
| <commentary> | |
| Since this involves new feature development for ClusterExtension lifecycle, use the olmv1-maintainer agent to ensure the implementation follows controller patterns and maintains API compatibility. | |
| </commentary> | |
| </example> | |
| <example> | |
| User: "The CI is failing on the multi-arch build step." | |
| Assistant: "I'm going to use the Agent tool to launch the olmv1-maintainer agent to debug this CI failure." | |
| <commentary> | |
| Since this involves CI/CD pipeline issues, use the olmv1-maintainer agent to identify the root cause and fix the build workflow. | |
| </commentary> | |
| </example> | |
| <example> | |
| User: "We need to bump the Kubernetes dependency to 1.29." | |
| Assistant: "I'm going to use the Agent tool to launch the olmv1-maintainer agent to handle this dependency update." | |
| <commentary> | |
| Since this involves dependency updates with potential downstream impact, use the olmv1-maintainer agent to ensure compatibility and assess OpenShift risks. | |
| </commentary> | |
| </example> |
|
|
||
| # Persistent Agent Memory | ||
|
|
||
| You have a persistent Persistent Agent Memory directory at `/Users/camilam/go/src/github/operator-framework/operator-controller/.claude/agent-memory/olmv1-maintainer/`. This directory already exists — write to it directly with the Write tool (do not run mkdir or check for its existence). Its contents persist across conversations. |
There was a problem hiding this comment.
This agent file instructs writing memory to an absolute, developer-specific path (/Users/camilam/...), and assumes the directory already exists. In a shared repo this is both brittle and can leak local user/environment details. Use a repo-relative path (e.g. .claude/agent-memory/olmv1-maintainer/) or an environment-variable placeholder, and avoid asserting the directory already exists.
| You have a persistent Persistent Agent Memory directory at `/Users/camilam/go/src/github/operator-framework/operator-controller/.claude/agent-memory/olmv1-maintainer/`. This directory already exists — write to it directly with the Write tool (do not run mkdir or check for its existence). Its contents persist across conversations. | |
| You have a Persistent Agent Memory directory at `.claude/agent-memory/olmv1-maintainer/` relative to the repository root. Its contents persist across conversations. |
| description: "Use this agent when working on the OLMv1 upstream project (operator-framework/operator-controller), its OpenShift downstream sync target (openshift/operator-framework-operator-controller), or related catalog and File-Based Catalog workflows (operator-framework/operator-registry). This includes:\\n\\n- Bug fixes and regression investigations in operator-controller or catalogd\\n- New feature implementation for ClusterExtension, ClusterCatalog, or bundle resolution\\n- Controller-runtime reconciliation issues, watches, predicates, or finalizers\\n- CI/CD pipeline failures, flaky tests, or GitHub Actions workflow debugging\\n- Dependency updates, Kubernetes version bumps, or go.mod maintenance\\n- Release engineering, patch releases, or version compatibility work\\n- CRD evolution, generated manifest updates, or API changes\\n- Repository maintenance, DevOps improvements, or build system updates\\n- Changes that may impact downstream OpenShift compatibility\\n- Catalog serving, FBC metadata delivery, or operator-registry integration issues\\n\\nExamples:\\n\\n<example>\\nUser: \"The ClusterExtension controller is failing to reconcile with a status condition error. Can you investigate?\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to investigate this reconciliation failure.\"\\n<commentary>\\nSince this involves operator-controller reconciliation behavior, use the olmv1-maintainer agent to diagnose the root cause and propose a fix.\\n</commentary>\\n</example>\\n\\n<example>\\nUser: \"We need to add support for a new status condition to track bundle unpacking progress.\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to design and implement this new status condition.\"\\n<commentary>\\nSince this involves new feature development for ClusterExtension lifecycle, use the olmv1-maintainer agent to ensure the implementation follows controller patterns and maintains API compatibility.\\n</commentary>\\n</example>\\n\\n<example>\\nUser: \"The CI is failing on the multi-arch build step.\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to debug this CI failure.\"\\n<commentary>\\nSince this involves CI/CD pipeline issues, use the olmv1-maintainer agent to identify the root cause and fix the build workflow.\\n</commentary>\\n</example>\\n\\n<example>\\nUser: \"We need to bump the Kubernetes dependency to 1.29.\"\\nAssistant: \"I'm going to use the Agent tool to launch the olmv1-maintainer agent to handle this dependency update.\"\\n<commentary>\\nSince this involves dependency updates with potential downstream impact, use the olmv1-maintainer agent to ensure compatibility and assess OpenShift risks.\\n</commentary>\\n</example>" | ||
| model: opus | ||
| color: blue | ||
| memory: project |
There was a problem hiding this comment.
The body text repeatedly references using the Write/Edit tools (and a persistent memory workflow), but the front-matter doesn't declare any tools: entry like the other agent in .claude/agents/. If tool availability is controlled by front-matter, this makes the instructions internally inconsistent. Either add an explicit tools: list that includes the required tools, or remove/reword the guidance so it matches what the agent can actually do.
| memory: project | |
| memory: project | |
| tools: | |
| - write | |
| - edit |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2585 +/- ##
==========================================
+ Coverage 67.74% 67.76% +0.02%
==========================================
Files 137 137
Lines 9560 9560
==========================================
+ Hits 6476 6478 +2
+ Misses 2585 2584 -1
+ Partials 499 498 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
No description provided.