Skip to main content

run-lightflows

Executes, inspects, and resumes existing Lightflow DAG workflows via CLI (`lightflow`, or the equivalent `python3 -m lightflow`) or MCP (`lightflow-mcp`). Use when asked to run, dry-run, check status, visualize, resolve an `operator_action` human-in-the-loop checkpoint (`EXIT_CODE=2`), or recover a failed Lightflow run without authoring a new workflow. Run `start` directly without pre-reading the manifest or `actions.py`.

معلومات المصدر

المستودع
google/lightflow
آخر نشاط في المصدر
٣ أكتوبر ٢٠٢٦ في ٠٦:١١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٢
التفرعات
١

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
run_lightflows
description
Executes, inspects, and resumes existing Lightflow DAG workflows via CLI (`lightflow`, or the equivalent `python3 -m lightflow`) or MCP (`lightflow-mcp`). Use when asked to run, dry-run, check status, visualize, resolve an `operator_action` human-in-the-loop checkpoint (`EXIT_CODE=2`), or recover a failed Lightflow run without authoring a new workflow. Run `start` directly without pre-reading the manifest or `actions.py`.
# Running & Resuming Lightflow Workflows (`run_lightflows`) > **Authoring new workflows?** Read `create_lightflows` instead. ## Fast-Path Rules 1. **Read only `SKILL.md`, then run `start` directly**: Do **not** read `lightflow.yaml`, `actions.py`, or `README.md` before `start`. The CLI compiles the manifest and prints any gate `Instructions`, `Payload Schema`, and exact `resume` command. `--lightflow=<dir>` accepts a workflow directory (or manifest file path). 2. **Skip redundant `status` calls & chain cleanup**: When `start` or `resume` exits `0` (`Lightflow completed successfully!`), do **not** run `status`. When asked to clean up on completion (or inspect an output file), chain `start ... && cleanup ...` or `resume ... && cleanup ...` in a single shell command (`&&` naturally stops if `start` suspends at an `EXIT_CODE=2` gate). ## 1. Commands (`python3 -m lightflow` is equivalent to `lightflow` whenever the console script is not on `PATH`.) ```bash # Start a run (add --payload='{...}' for initial args, or --dry_run only if asked to preview) lightflow start --lightflow=<dir> --log_id=<run_id> # Approve a paused operator_action gate (sets approved=true automatically) lightflow resume --lightflow=<dir> --log_id=<id> \ --stage=<gate_stage> --resolution=APPROVE --payload='{...}' # Reject a paused gate (runs any rollback_action; blocks ALL_SUCCESS, allows ALL_DONE) lightflow resume --lightflow=<dir> --log_id=<id> \ --stage=<gate_stage> --resolution=REJECT --comment="Rejected by operator" # Recover from a failed stage (re-arms only failed stages; preserves completed work; optional --payload overrides) lightflow resume --lightflow=<dir> --log_id=<id> [--payload='{...}'] # Re-run a completed or skipped stage and its downstream dependents without wiping upstream work lightflow resume --lightflow=<dir> --log_id=<id> --rerun=<stage> [--cascade=true] # Inspect state (one line per stage + any paused gate's Instructions, Payload # Schema, and resume command; --verbose adds payload + stamp log), generate # HTML visualizer, or delete state directory lightflow status --lightflow=<dir> --log_id=<id> lightflow visualize --lightflow=<dir> --log_id=<id> --out=/tmp/viz.html lightflow cleanup --log_id=<id> ``` **MCP (`lightflow-mcp`)**: If connected, prefer the structured tools `run_lightflow`, `resume_lightflow`, `get_lightflow_status`, `dry_run_lightflow`, and `visualize_lightflow` over the CLI; the same rules below apply to their `status` / `exit_code` fields (pass `fields=[...]` for targeted passport reads or `verbose=true` for the full passport and Mermaid diagram). ## 2. Exit Codes & Governance - **Exit `0` (`COMPLETED`)**: Done. Report the stage outputs printed to `stdout`. - **Exit `2` (`SUSPENDED` at `operator_action`)**: Follow the printed `Instructions`. If they ask for a person's decision, present the `Instructions` and `Payload Schema` to that person and wait for their answer — **never decide or self-approve for them.** Then run `resume` with a payload matching the `Payload Schema`. - **Exit `1` (`FAILED`)**: Fix the root cause and run `resume` (**never** `start --force`, which wipes completed upstream stages). - **Gate payload validation**: `resume --resolution=APPROVE` validates `--payload` against the gate's `json_schema` (required keys, types, `enum` values). On a validation error the gate stays `PAUSED`; fix the payload and re-run `resume`. If the gate's `Payload Schema` is no longer in context (e.g. a new conversation), run `status`, which reprints it. - **`status` exits like the run**: `0` completed, `1` failed, rejected, or interrupted, `2` paused at a gate, `3` no saved state for the log ID, `4` still running in another process (wait; don't `resume`). Add `--verbose` only when you need the full payload, stamp log, or Mermaid diagram.
عرض على GitHub