examples
Start with one step. Add a loop. Then explore the larger patterns when you need them. Every interactive example uses the real compiler and runner in your browser.
One stage and one automatic next step.
A small work queue with progress and a loop.
Retry limits, gates and human decisions.
Hello, world
This is the smallest useful plan: do one piece of work, then finish.
The line -> END means “when this stage is done, complete
the plan automatically.” Edit the task or press the only route on the
right.
Turn issues into pull requests
A compact agent workflow: pick an issue, update its status, implement it, open a pull request, and repeat. The number of ready issues is supplied at runtime: the loop works through that count, then checks the queue again instead of paying for another lookup after every issue.
Read it from top to bottom
VAR remaining: number = ? asks for the initial count.
while continues while that count is non-zero. The optional
“Check for newly ready issues” label clarifies the next action for the
agent; the loop itself controls when that route is available.
Add limits and human decisions
The checkout plan allows up to five evidence-driven attempts. A person
decides whether to launch, rethink, or stop. Select “Cohort converts” to
see the runner refuse a route marked @human.
A real project: this documentation site
An agent built the site by following a Marionette plan: capture the real CLI, write the content, build the interactive demos, check accessibility, then stop for human review. The full plan is intentionally detailed; use it when you want to see how a real delivery project records its gates and rework loops.
Stress test: an 18-stage replatform
This production replatform covers shadow traffic, parity checks, SRE and Finance approval, rollback budgets, and freeze-window rebooking. It exists to prove the compiler still gives a clear answer when a plan is much larger than the examples above:
$ marionette validate paas_replatform.mar --strict✓ paas_replatform.mar: 0 errors, 0 warnings
Read the full source on GitHub or load it in the home-page playground. It exercises every language feature and the external tracker references.
Patterns exercised by these examples
- Human checkpoints:
@humanprevents an autonomous transition while preserving the choice in the frontier. - Rollback paths: migrations model fallback routes as ordinary graph edges, so validation includes them.
- Bounded retries: counters and gates limit loops and expose an explicit exit when the budget is exhausted.
- Decision logging: each successful transition records its actor, timestamp and rationale.