---
argument-hint: "[check] [force] <name | description | all>"
description: Re-validate saved verification scenarios against the current code and repair drift. Delegates to the ironbee-scenario sub-agent (operation sync) — runs the target scenario(s), repairs MECHANICAL drift (the way the flow is driven), and stamps them current; it never auto-changes what a scenario verifies. A leading `check` token = dry-run (report drift, no repair).
---

# IronBee — Sync scenario(s)

Re-validate + repair saved verification **scenarios** by **delegating to the `ironbee-scenario`
sub-agent** (operation `sync`). **You do not run the scenario tools yourself.**

> Argument: `$ARGUMENTS`

## Steps
1. **Resolve the mode + target**: strip a leading `check` token (→ dry-run) and a leading `force`
   token (→ sync ALL scenarios, not just stale); the remainder is the target — `all` (stale ones;
   `force` = every one), or a name / semantic description (one scenario). Empty → `all`.
2. **Spawn** the Agent tool with `subagent_type: "ironbee-scenario"` and a prompt:
   > Operation: sync
   > Target: \<`all`, or the name / description>
   > Force: \<include `Force: all` ONLY if the request began with `force` (sync every scenario, not just stale)>
   > Mode: \<include `Mode: check` ONLY if the request began with `check` (dry-run — report drift, do
   >        NOT repair / update); otherwise OMIT (run + repair mechanics + update)>
   The sub-agent runs each target scenario against the live app and classifies the outcome — still-fresh
   / **mechanical drift** → repair the SCRIPT only / **real defect** → STOP + report (don't touch the
   scenario) / **expectation changed** → ask you — and, on a non-check run, stamps repaired scenarios
   current. **It repairs MECHANICS, never WHAT a scenario verifies.**
   **Wait for the sub-agent in the same turn — do NOT background it.**
3. **Relay** the sub-agent's summary (per scenario: repaired / still-fresh / defect-reported / needs decision).

This is NOT a verification cycle — it submits no verdict and does not gate completion. (To just *detect*
which scenarios are stale without running anything, use `ironbee scenario status`.)
