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> |
||
|---|---|---|
| .. | ||
| fabro-acp | ||
| fabro-automation | ||
| fabro-checkpoint | ||
| fabro-dump | ||
| fabro-environment | ||
| fabro-github | ||
| fabro-graphviz | ||
| fabro-hooks | ||
| fabro-install | ||
| fabro-interview | ||
| fabro-llm | ||
| fabro-manifest | ||
| fabro-mcp | ||
| fabro-mcp-store | ||
| fabro-petri | ||
| fabro-sandbox | ||
| fabro-slack | ||
| fabro-store | ||
| fabro-tool | ||
| fabro-tracker | ||
| fabro-validate | ||
| fabro-variable | ||
| fabro-workflow | ||
| fabro-workflow-version | ||