Skip to content

feat(pipeline-catalog): enhance pipeline catalog resolver with addtl data sources#227

Merged
eliteprox merged 1 commit into
mainfrom
fix/pipeline-catalog-metric
Apr 2, 2026
Merged

feat(pipeline-catalog): enhance pipeline catalog resolver with addtl data sources#227
eliteprox merged 1 commit into
mainfrom
fix/pipeline-catalog-metric

Conversation

@eliteprox
Copy link
Copy Markdown
Contributor

@eliteprox eliteprox commented Apr 2, 2026

Summary

Resolves issue with only live-video-to-video pipeline showing intermittently

Changes

  • Updated the pipeline catalog resolver to merge data from three sources for improved cold-start stability.
  • Introduced a new REST catalog endpoint to enrich the pipeline catalog with models and regions, addressing issues with incomplete data during refresh.
  • Added utility functions for filtering and merging catalog entries, ensuring a comprehensive and organized output for the dashboard.

Type

  • Feature
  • Bug fix
  • Refactor
  • Documentation
  • CI / Tooling
  • Plugin (new or update)
  • Dependencies

Plugin(s) Affected

Checklist

  • Tests pass locally
  • Lint passes (npm run lint)
  • Build succeeds (npm run build)
  • No new lint warnings introduced
  • Breaking changes documented below
  • Database migration included (if Prisma schema changed)

Breaking Changes

None

Screenshots / Recordings

Summary by CodeRabbit

  • New Features
    • Pipeline catalog resolution now integrates data from additional sources concurrently for more comprehensive coverage. The system consolidates pipeline information across multiple endpoints more effectively, ensuring consistent data accuracy and visibility. Pipeline models and regions are unified and organized to improve discovery reliability and user experience.

…onal data sources

- Updated the pipeline catalog resolver to merge data from three sources for improved cold-start stability.
- Introduced a new REST catalog endpoint to enrich the pipeline catalog with models and regions, addressing issues with incomplete data during refresh.
- Added utility functions for filtering and merging catalog entries, ensuring a comprehensive and organized output for the dashboard.
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Apr 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
naap-platform Ready Ready Preview, Comment Apr 2, 2026 5:24am

Request Review

@github-actions github-actions Bot added size/M Medium PR (51-200 lines) scope/shell Shell app changes and removed size/M Medium PR (51-200 lines) labels Apr 2, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 2, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 01f69b96-9487-4942-a9f9-1fdc5c5286b4

📥 Commits

Reviewing files that changed from the base of the PR and between 37b88c6 and 60edbc7.

📒 Files selected for processing (1)
  • apps/web-next/src/lib/facade/resolvers/pipeline-catalog.ts

📝 Walkthrough

Walkthrough

The pipeline catalog resolver now integrates a third data source by fetching from the /v1/pipelines REST endpoint. New helper functions normalize REST entries and merge them with existing catalog sources using set-based unions for models and regions, with deterministic sorting.

Changes

Cohort / File(s) Summary
Pipeline Catalog Resolver
apps/web-next/src/lib/facade/resolvers/pipeline-catalog.ts
Added concurrent fetch from REST endpoint with error handling and fallback. Introduced pipelinesEndpointToDashboard helper for filtering/normalization and unionCatalogEntries helper for merging catalog sources by id with set-based model/region union and deterministic sorting.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: enhancing the pipeline catalog resolver with additional data sources (a REST endpoint). It's specific, concise, and directly reflects the primary objective of the PR.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/pipeline-catalog-metric

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@eliteprox eliteprox merged commit 6b877ff into main Apr 2, 2026
24 checks passed
@eliteprox eliteprox deleted the fix/pipeline-catalog-metric branch April 2, 2026 16:36
Copy link
Copy Markdown
Contributor

@seanhanca seanhanca left a comment

Choose a reason for hiding this comment

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

Review Summary

Good fix — merging a third data source (/v1/pipelines) addresses the intermittent single-pipeline issue cleanly. The unionCatalogEntries merge is correct (Set-based dedup, sorted output). Two items worth addressing:

  1. No tests for the new functionsunionCatalogEntries and pipelinesEndpointToDashboard are pure data transforms that are easy to unit test. Adding a few test cases (empty inputs, overlapping models/regions, disjoint pipelines) would prevent regressions.

  2. PR checklist items unchecked — tests pass, lint, and build are all unchecked in the PR description. Confirm these pass before merge.

See inline comments for details.

}));
}

/** Union pipeline ids, merging model and region sets (order-stable). */
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.

Missing tests: unionCatalogEntries and pipelinesEndpointToDashboard are pure functions ideal for unit testing. Consider adding a test file (e.g. __tests__/pipeline-catalog.test.ts) with cases for:

  • Empty arrays from all three sources
  • Overlapping pipeline IDs with different model/region sets
  • PIPELINE_DISPLAY[entry.id] === null filtering

This prevents silent regressions if the merge logic or display filtering changes.

});
continue;
}
for (const m of e.models) {
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.

The .catch(() => []) silently swallows errors from getRawPipelineCatalog(). The console.warn is good, but if this endpoint consistently fails, there's no observability beyond server logs. Consider emitting a structured warning (or at minimum, ensure the warn includes enough context to diagnose — you already do with the err parameter, so this is fine as-is). Just flagging that persistent failures here will silently degrade the catalog without alerting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope/shell Shell app changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(developer-api): List models available on the network Developer dashboard

2 participants