Skip to content

Fix/model handling in catalog#493

Merged
Edwardvaneechoud merged 3 commits into
mainfrom
fix/model-handling-in-catalog
Jun 4, 2026
Merged

Fix/model handling in catalog#493
Edwardvaneechoud merged 3 commits into
mainfrom
fix/model-handling-in-catalog

Conversation

@Edwardvaneechoud
Copy link
Copy Markdown
Owner

This pull request introduces several improvements to artifact and namespace resolution, enhances error handling for ambiguous lookups, and improves artifact serialization to reflect missing blobs. It also updates developer documentation to clarify versioning and compatibility contracts. The main themes are: improved error handling for ambiguous artifact/namespace lookups, enhanced artifact serialization, and better developer documentation.

Ambiguity Handling and Resolution:

  • Introduced AmbiguousArtifactError and AmbiguousNamespaceError exceptions, raised when an artifact or namespace name matches multiple candidates and no unique identifier is provided. This ensures that ambiguous lookups are detected and surfaced to the API caller, requiring explicit disambiguation. [1] [2]
  • Updated artifact service methods (get_artifact_by_name, get_artifact_with_versions, delete_all_versions) to assert unambiguous lookups and raise the new exceptions when necessary. [1] [2] [3]
  • Added resolve_namespace_id to resolve a namespace name to its unique ID, raising AmbiguousNamespaceError or NamespaceNotFoundError as appropriate.
  • Updated artifact API routes to accept either namespace_id or namespace (name), and to handle the new ambiguity exceptions by returning HTTP 409 Conflict responses. [1] [2] [3] [4]

Artifact Serialization and Blob Existence:

  • Enhanced artifact serialization (artifact_to_out) and added a bulk_enrich_artifacts helper to include a blob_exists flag, indicating whether the artifact's backing blob is present on disk (for filesystem storage). This helps surface missing artifact data to the frontend and users. [1] [2] [3]
  • Updated catalog and namespace services to use bulk_enrich_artifacts when serializing artifact lists, ensuring the blob_exists field is populated throughout the API. [1] [2] [3]

Developer Experience and Documentation:

  • Added a new section to the developer documentation explaining Flowfile's versioning and compatibility strategy, clarifying the relationship between app, kernel image, and kernel runtime versions, and detailing how kernel updates are shipped and surfaced to users.

Other Improvements:

  • Added a runtime check in the flow graph engine to raise a clear error if a catalog model's artifact blob is missing on disk, with instructions for Docker users.
  • Added polars-ds to the list of kernel flavours, reflecting its use in the kernel image.

@Edwardvaneechoud Edwardvaneechoud marked this pull request as ready for review June 4, 2026 16:23
@netlify
Copy link
Copy Markdown

netlify Bot commented Jun 4, 2026

Deploy Preview for flowfile-wasm ready!

Name Link
🔨 Latest commit e1d8e37
🔍 Latest deploy log https://app.netlify.com/projects/flowfile-wasm/deploys/6a21a67c2d7547000824fdbf
😎 Deploy Preview https://deploy-preview-493--flowfile-wasm.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@Edwardvaneechoud Edwardvaneechoud merged commit ba9f65e into main Jun 4, 2026
27 checks passed
@Edwardvaneechoud Edwardvaneechoud deleted the fix/model-handling-in-catalog branch June 4, 2026 17:20
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.

1 participant