mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
`ModelResolutionOptions` was a field-for-field duplicate of the existing public `ModelResolutionTransform`, down to a verbatim copy of its `new()`. `pipeline::transform` then unpacked one to rebuild the other, cloning the catalog Arc and the eligible-provider set on the way. - Delete `ModelResolutionOptions`. `TransformOptions.model_resolution` now holds an `Option<ModelResolutionTransform>` directly, so the TRANSFORM step is `resolution.apply(graph)?` with no rebuild and no clones. This is consistent with `custom_transforms`, which already holds transforms. - Add `ModelResolutionTransform::catalog()` so the VALIDATE step can reach the same catalog for its lint rules. That is the only new code needed. - Drop `CatalogScope` from `operations::validate`, which was a third copy of the same fields. The three entry points now hand a partially built transform to `validate_resolving_models`, which completes it with the workflow's default provider once the workflow is resolved. - Extract `validate_child_workflow` in `manager_loop`, collapsing two near-identical validate-and-unwrap blocks. - Point the transform tests at their own `transform_options()` helper via struct-update syntax instead of respelling all seven fields, and drop a HashSet -> Vec -> HashSet round trip from the create test helper. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| apps | ||
| components | ||
| foundation | ||
| packages/fabro-api-client | ||