Description
Extract the validator catalog structure as a standalone, portable Go type that can be used in multiple contexts: loaded from YAML files, embedded in recipes, or used by external consumers.
Context
The catalog currently lives in pkg/validator/catalog/catalog.go as ValidatorEntry. External consumers want to use AICR's catalog system programmatically. We need to formalize this as a portable type.
Requirements
- Define
ValidatorCatalog type with list of ValidatorEntry
- Ensure
ValidatorEntry has all necessary fields:
- Name, Phase, Description, Image, Timeout
- Args, Env, Resources
- No external dependencies (keep it portable)
- JSON/YAML serialization support
- Maintain compatibility with existing catalog loading from
validators/catalog.yaml
Acceptance Criteria
Related
Description
Extract the validator catalog structure as a standalone, portable Go type that can be used in multiple contexts: loaded from YAML files, embedded in recipes, or used by external consumers.
Context
The catalog currently lives in
pkg/validator/catalog/catalog.goasValidatorEntry. External consumers want to use AICR's catalog system programmatically. We need to formalize this as a portable type.Requirements
ValidatorCatalogtype with list ofValidatorEntryValidatorEntryhas all necessary fields:validators/catalog.yamlAcceptance Criteria
ValidatorCatalogtype exists withValidators []ValidatorEntryfieldjson:",inline"catalog.Load()) continues to workRelated