Skip to content

Add WithCatalog() and WithValidation() recipe builder options #735

Description

@xdu31

Status: DEFERRED

This issue is deferred per the design principle in #731: only add functionality when a second consumer demonstrates the same need.

Overview

Add builder options to the recipe package for external consumers.

Proposed API

recipe := recipe.NewBuilder(
    recipe.WithValidation(validationConfig),
    recipe.WithCatalog(catalog),
)

Why Deferred

These are opinionated orchestration patterns shaped around the first consumer's specific needs. Wait until a second consumer needs similar patterns before adding - that signals a real abstraction rather than a consumer-specific accommodation.

Alternative

Consumers can build their own orchestration without these helpers. The core API provides:

  • Planning function - Returns Job specs
  • ExtractResult() - Extracts results from validator container
  • FilterEntriesBySpec() - Filters catalog entries
  • Portable types - ValidationConfig, ValidatorCatalog

These are sufficient for external integration without orchestration helpers.

Acceptance Criteria (If Undeferred Later)

  • Second consumer demonstrates need for builder options
  • Design review confirms pattern is shared, not consumer-specific
  • Implementation added to appropriate package

Related

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions