mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-30 01:53:45 +00:00
Petri's Fabro frontend refused a bundle naming an environment it did not declare and every MCP catalog reference, so the fixtures declared `[environments.local]` and the server's catalogs never reached Petri. Pin Petri at c874b86, where the frontend reads `[environments.<id>]` and `[run.environment]` from every settings layer (bundle over project over the host's layer, key by key), takes the environment a launch selected over the layers, and resolves `[run.agent.mcps.<name>] id = "..."` against a catalog the host binds. The server hands Petri its environment catalog as `[environments.<id>]` tables of the settings layer it already passes, the intent's environment as the launch's selection (`Launch::environment`, as the intent overrides the bundle in Fabro's own resolution), and its MCP catalog as `RuntimeSpec::mcp_catalog_toml`, one inline entry per definition keyed by id. Offline validation hands Petri the seeded catalog the same way, so `fabro validate` accepts `[run.environment] id = "local"`. The fixtures drop the `[environments.local]` tables they carried for this; the secrets test keeps its own, on purpose. Scenario tests cover a bundle naming a catalog environment (its image lowered, and run on Docker when the plugin and a daemon are there), a bundle's own table winning key by key, the server refusing an unknown environment before Petri, and a catalog MCP reference whose tool the agent session lists (an echo server under `test/mcp/`). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| analysis | ||
| attractor | ||
| bin | ||
| docs | ||
| dot-compatibility | ||
| mcp | ||
| offline-fallbacks | ||
| templated_inputs | ||
| templated_unbound_imported | ||
| templated_unbound_partial | ||
| templates | ||
| twin/github | ||
| auto_status_deprecated.fabro | ||
| branching.fabro | ||
| conditions.fabro | ||
| edge_only_node.fabro | ||
| inferred_command.fabro | ||
| invalid.fabro | ||
| model_stylesheet_unbound.fabro | ||
| on_failure_invalid.fabro | ||
| on_failure_node_invalid.fabro | ||
| parallel.fabro | ||
| server-model.fabro | ||
| simple.fabro | ||
| styled.fabro | ||
| templated_unbound.fabro | ||