# Loop Orchestration

> Reference loop-orchestration example; a local loop host chains governed runx turns through receipts, budgets, context, and stop policy.

- **Type:** Skill
- **Install:** `agentstack add skill-runxhq-runx-loop-orchestration`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [runxhq](https://agentstack.voostack.com/s/runxhq)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [runxhq](https://github.com/runxhq)
- **Source:** https://github.com/runxhq/runx/tree/main/examples/loop-orchestration
- **Website:** https://runx.ai

## Install

```sh
agentstack add skill-runxhq-runx-loop-orchestration
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Loop Orchestration

This example shows the runx pattern for long-running agent work:

1. An outer loop host decides whether work should continue.
2. Each iteration submits one normal governed runx turn.
3. Each turn seals a receipt before the loop can advance.
4. The next turn consumes only explicit inputs, projection state, and receipt
   summaries.

Nothing in this example adds a loop engine to `runx-core`. The loop host is just
an application script. In production it could be a hosted service, Temporal
workflow, LangGraph app, n8n workflow, or another orchestrator.

## Run It

```sh
sh examples/loop-orchestration/run.sh
```

The script runs three demonstrations:

- **success:** two governed turns complete a tiny build-review loop;
- **refusal:** a requested tool is outside the loop policy, so the loop stops
  before another turn is submitted;
- **context gate:** an agent-task turn pauses with digest-bound skill context
  and explicit `allowed_tools`, showing what a host or managed provider would
  receive without requiring a model key.

The output prints each run id, receipt id, decision, and next-turn reason.

## Check The Harness

For the repeatable inline harness, use a fresh receipt store and the demo
signing identity. A clean store avoids mixing receipts signed by different local
test issuers.

```sh
tmpdir="$(mktemp -d)"
RUNX_RECEIPT_SIGN_KID=runx-demo-key \
RUNX_RECEIPT_SIGN_ED25519_SEED_BASE64=QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkI= \
RUNX_RECEIPT_SIGN_ISSUER_TYPE=hosted \
"${RUNX_BIN:-crates/target/debug/runx}" harness examples/loop-orchestration \
  --receipt-dir "$tmpdir" \
  --json
```

## What This Proves

The important boundary is not the Node script. It is the contract:

- A **loop** owns scheduling, durable loop state, projection, and stop policy.
- A **turn** is one runx skill/graph run with explicit authority and one sealed
  receipt.
- A **handoff** is an artifact/result the loop host can inspect; it is not
  hidden prompt continuation.
- A **projection** is derived from receipts and admitted signals, not from
  ambient memory.

## Security Rules

- The loop has a max-turn budget.
- The turn runner receives only declared inputs.
- Tool choices are checked against loop policy before another turn is allowed.
- Context skills are advisory, digest-bound, and untrusted.
- A pause or refusal is a healthy result; the loop does not keep prompting until
  it gets the answer it wants.

## Adapting The Example

Replace `loop/loop-host.mjs` with your real orchestrator and keep the same
shape:

```text
load projection -> submit runx turn -> read receipt/result -> check stop policy
```

Do not move product-specific scheduling or state into the kernel. If a loop
needs to wake up later, persist the loop state in the host and submit another
runx turn when policy allows.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [runxhq](https://github.com/runxhq)
- **Source:** [runxhq/runx](https://github.com/runxhq/runx)
- **License:** MIT
- **Homepage:** https://runx.ai

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-runxhq-runx-loop-orchestration
- Seller: https://agentstack.voostack.com/s/runxhq
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
