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
최근 소스 활동
2026년 10월 3일 06:11
감지된 SKILL.md 언어
영어
스타
12
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 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에서 보기