ODH-ADR-ML-0001: Consolidate AI asset registries on MLflow - #136
Conversation
Documents the decision to adopt MLflow as the unified registry backend for all AI asset types in OpenShift AI, with registry-catalog separation and a federated plugin model per asset type. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Warning Review limit reached
More reviews will be available in 37 minutes and 48 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR adds an architecture decision record establishing MLflow as the unified governance backend for OpenShift AI asset types (models, prompts, skills, MCP servers, agents) while AI Hub remains the catalog and discovery layer. The ADR specifies architectural principles (registry–catalog separation, metadata-first design, federated plugins per asset type, upstream-first development), documents in-scope asset consolidation paths, explicitly rejects fragmented multi-registry and abstraction-layer alternatives, and enumerates resulting constraints (mandatory MLflow use for new governed assets, plugin conformity to MLflow patterns, upstream-first default). Security and privacy considerations address executable content lifecycle gating and RBAC alignment with OpenShift. Documented risks include upstream dependency and migration complexity. Stakeholder impacts are enumerated by team with identified contacts. Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 10✅ Passed checks (10 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@architecture-decision-records/ODH-ADR-0008-consolidate-ai-asset-registries-on-mlflow.md`:
- Around line 149-152: Update the ADR by adding a concrete "Fallback and
Rollback Criteria" (or "Resilience Addendum") section referenced from the
"Upstream dependency" and "Migration complexity" paragraphs: define explicit
trigger conditions (e.g., X% error rate, API semantic drift detected, failed
dual-write verification), acceptance gates for each migration phase (deprecation
→ dual-stack → removal), required verification checks (read-after-write checks,
data consistency sampling), automated rollback actions (disable MLflow writes,
switch to Kubeflow reads/writes or a read-only mode), responsible roles/contacts
for decision and timeframe for rollback, and telemetry/alerting metrics and
runbook links to enable a safe rollback path.
- Around line 143-146: The ADR currently lists risks under "Executable content"
and "Access control" but lacks enforceable promotion controls; update the ADR to
require mandatory promotion gates for executable assets (MCP servers, skills) by
specifying: (1) mandatory artifact provenance metadata and cryptographic
signature verification before any promotion, (2) an admission/policy check
(e.g., cluster admission controller or MLflow hook) that rejects promotions
lacking valid signatures or provenance, (3) integration of registry RBAC with
OpenShift RBAC so promotion APIs honor namespace-level permissions, (4)
deny-by-default promotion workflows in MLflow that only allow promote actions
via a vetted service account or CI pipeline, and (5) audit logging and alerting
on failed or bypassed promotion attempts; reference the "Executable content" and
"Access control" sections, MLflow promotion APIs, registry RBAC, OpenShift RBAC,
and MCP/skill artifacts when adding these mandatory controls.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 58ae9e62-5f2a-49b5-91bc-9e160d025e51
📒 Files selected for processing (1)
architecture-decision-records/ODH-ADR-0008-consolidate-ai-asset-registries-on-mlflow.md
Relocate the registry consolidation ADR from top-level ODH-ADR-0008 to mlflow/ODH-ADR-ML-0001, following the component-specific subdirectory convention used by other areas (eval-hub, model-registry, operator). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
architecture-decision-records/mlflow/ODH-ADR-ML-0001-consolidate-ai-asset-registries-on-mlflow.md (1)
12-12:⚠️ Potential issue | 🟡 MinorUpdate stale RFC links: both referenced RFCs do not resolve to active documents.
Line 12 references two MLflow RFC links that do not point to current, active RFC content. The Skills Registry RFC link (mlflow/rfcs#10) refers to a closed or non-existent pull request; the associated work is at https://github.com/mlflow/skills instead. The MCP Registry RFC link (https://github.com/mlflow/rfcs/tree/main/rfcs/0004-mcp-registry) is not an active document in the rfcs repository—MCP registry implementation has proceeded via standard issues and PRs in the main MLflow repository. Remove these broken links or replace with the correct GitHub references.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@architecture-decision-records/mlflow/ODH-ADR-ML-0001-consolidate-ai-asset-registries-on-mlflow.md` at line 12, In the "Other docs" section of line 12, update the two stale RFC links in the "Other docs" field. Replace the Skills Registry RFC link (the closed pull request reference) with the correct reference to the MLflow skills repository work. Replace the MCP Registry RFC link (the inactive rfcs/0004-mcp-registry reference) with appropriate links to the standard issues and PRs in the main MLflow repository where the actual MCP registry implementation has proceeded. Ensure both links now point to current, active documentation or project locations.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In
`@architecture-decision-records/mlflow/ODH-ADR-ML-0001-consolidate-ai-asset-registries-on-mlflow.md`:
- Line 12: In the "Other docs" section of line 12, update the two stale RFC
links in the "Other docs" field. Replace the Skills Registry RFC link (the
closed pull request reference) with the correct reference to the MLflow skills
repository work. Replace the MCP Registry RFC link (the inactive
rfcs/0004-mcp-registry reference) with appropriate links to the standard issues
and PRs in the main MLflow repository where the actual MCP registry
implementation has proceeded. Ensure both links now point to current, active
documentation or project locations.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 688160df-35ac-4763-b81f-fa8df98ffe2b
📒 Files selected for processing (1)
architecture-decision-records/mlflow/ODH-ADR-ML-0001-consolidate-ai-asset-registries-on-mlflow.md
- Clarify each asset type gets its own API/plugin within MLflow - Reframe Why section to acknowledge Kubeflow as a real alternative - Soften upstream investment language to match current RFC status - Add user experience benefit (purpose-built APIs per asset type) - Add model deployment/serving as a non-goal - Remove redundant abstraction layer non-goal - Soften registry-catalog separation from prescriptive to descriptive - Fix experiment tracking -> model registry reference - Update relationships example to use traces - Add Kubeflow AI Hub expansion as rejected alternative - Reframe executable content security as a capability requirement Co-Authored-By: Claude Code <noreply@anthropic.com> Signed-off-by: Edson Tirelli <etirelli@redhat.com>
Co-Authored-By: Claude Code <noreply@anthropic.com> Signed-off-by: Edson Tirelli <etirelli@redhat.com>
304facc to
cf00d37
Compare
Defines principle-level requirements for authoring, lifecycle promotion, cross-workspace sharing, catalog contribution, and cross-asset dependency governance. Defers implementation details to per-asset-type registry ADRs. Co-Authored-By: Claude Code <noreply@anthropic.com> Signed-off-by: Edson Tirelli <etirelli@redhat.com>
Summary
Test plan
0008does not conflict with in-flight ADRsMade with Cursor
Summary by CodeRabbit