Example
The build-and-verify step, from the example playbook
This excerpt is shortened. The full file is an example, not a tested entry: it has not been run against the competition, and the script paths, generator settings and cost proxy are placeholders.
examples/quantum-circuit-search/playbook.yamlEXAMPLE
# EXAMPLE. NoETL runs these programs; it does not compile or verify circuits.
- step: build_and_verify
loop:
in: "{{ ctx.candidates }}"
iterator: cand
spec: { mode: parallel, max_in_flight: 8 }
tool:
- name: generate
kind: python
python: "{{ kickmix_python }}" # interpreter with kickmix installed
timeout_seconds: 1200
# ... runs your generator script, then hashes what it wrote
spec:
policy:
rules:
- when: "{{ output.status == 'error' and _attempt < 2 }}"
then: { do: retry, attempts: 3, backoff: linear, delay: 30.0 }
- when: "{{ output.status == 'error' }}"
then: { do: jump, to: record } # record it as generator_failed
- else:
then: { do: continue }
- name: verify
kind: python
python: "{{ kickmix_python }}"
timeout_seconds: 4200
# ... runs your wrapper around the official verifier.
# No verdict means a crash, which is retried. A failed verdict is recorded.
- name: record
kind: postgres
auth: "{{ pg_auth }}"
command: |
INSERT INTO vqcc_candidate (...) SELECT ...
ON CONFLICT (execution_id, candidate_id) DO NOTHING;
next:
spec: { mode: exclusive }
arcs:
- { step: score_round, when: "{{ event.name == 'loop.done' }}" }
How it was checked: the file was deserialised into the Playbook type from orchestrate-core and given the same checks as the server’s playbook parser: a start step, unique names, known next targets, known policy actions and known tool kinds. Every template also compiles. That confirms the shape, not an end-to-end run.