mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-05 08:10:39 +00:00
Workflows that run the same ACP agent on several nodes had to repeat the process attribute on every node. `acp.command` and `acp.config` were read only from the node (`Node::acp_command_attr`), with no graph-level fallback. Add `AcpDefaultsTransform`, which materializes the graph-level value onto nodes before validation. The handler's `resolve_acp_process_spec` takes only a `Node`, so reading the graph at the use site (as `retry_target` does) would mean threading a `Graph` through the handler. As a transform, neither the handler nor `backend_valid` changes, and `fabro validate` and `fabro run` stay in agreement because both go through `pipeline::transform`. The two attributes are mutually exclusive, so they inherit as a pair: a node setting either one keeps its own and inherits neither. Only nodes with `backend="acp"` inherit, keeping the attributes off `start`/`exit` and API nodes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fabro-acp | ||
| fabro-agent | ||
| 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-sandbox | ||
| fabro-slack | ||
| fabro-store | ||
| fabro-tool | ||
| fabro-tracker | ||
| fabro-validate | ||
| fabro-variable | ||
| fabro-workflow | ||