mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-01 02:04:24 +00:00
`fabro_petri::check` materialized the version's bundle into a temporary directory because `Runtime::check` read the workflow and its settings files from disk. Petri now has `Runtime::check_source`, which takes the workflow's repository-relative path, its text and a `FileSource`, so the bundle goes into a `frontend::MapFiles` map instead: every file at its bundle-relative path, `workflow.toml` beside the workflow, and `.fabro/project.toml` at the root when the caller has one. Nothing is written to disk, and the diagnostics name the bundle-relative paths directly, with no root to strip. The compile inputs are unchanged: the intent's inputs, the launch model and provider, and `petri.repository` bound by Fabro itself (the launch's path, or `null`). An entrypoint that is not one of the bundle's files is now `CheckError::MissingEntrypoint`; `CheckError::Materialize` goes away. `tempfile` becomes a dev-dependency, as only the tests use it. New tests: a version whose `workflow.toml` names `engine = "petri"` is admitted (the new Petri pin knows the key), an unknown `[workflow]` key is refused with `unsupported.workflow_toml.key` and named in `workflow.toml`, the project settings are read from the map, and a missing entrypoint is an error. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| apps | ||
| components | ||
| foundation | ||
| packages/fabro-api-client | ||