mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-07 08:27:12 +00:00
The manifest bundler and workflow-version validation each maintained their own walk over the graph reference vocabulary (goal files, inline goal/prompt templates, imports, child workflows, @-file attributes), so a new reference-bearing attribute had to be added twice or the two would drift. Add fabro_template::visit_graph_references as the single per-graph walker — it validates that file references are template-free and emits typed events — and rewrite both consumers on top of it, keeping their own IO, resolution, and recursion. Same for dockerfiles: SettingsLayer::image_layers[_mut] is now the one definition of where images live in a settings layer, replacing the three hand-rolled traversals in the run compiler, manifest bundler, and workflow-version validation. Behavior note: the manifest bundler now also follows stack.child_dotfile (already in the shared vocabulary and treated as a child-workflow reference by workflow-version validation); nothing in the engine emits or reads that attribute today. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||