Recipes
A recipe is a structured workflow, not a prompt and not a shell script hidden in YAML. Its steps still execute through the broker, with the relevant schema, capability, policy and reference checks.
Start with the committed fake example
Section titled “Start with the committed fake example”The source includes recipes/fake-export.yaml. It finds an Export button in the fixture app, asserts that exactly one candidate was returned, then invokes the discovered reference.
computerctl recipe run recipes/fake-export.yamlRun this only against the intended fake broker environment after the fake smoke path succeeds. A fixture does not test a live application.
What makes the example useful
Section titled “What makes the example useful”The discovery step uses an exact application, role and label. Its assertion checks a count of one. The invocation does not hard-code an operating-system object ID: it binds the ref from the preceding discovery output. The output reports whether the invocation changed the fixture.
This excerpt is from the committed invocation step:
- id: invoke_export command: ui.invoke args: ref: { $var: /steps/find_export/nodes/0/ref } action: click timeout_ms: 10000The excerpt is not a complete recipe. Read the full source before changing it. A recipe cannot invent a grant, approve itself, or make a stale reference current. Do not add automatic retries to an uncertain mutation simply because a read-only discovery step can retry safely.
Source: complete fake-export recipe, reviewed 22 September 2026.