Starflow Guided RFP Smoke
Starflow Guided RFP Smoke
Section titled “Starflow Guided RFP Smoke”This page is a quick operator runbook for the guided-rfp workflow prototype.
Prerequisites
Section titled “Prerequisites”- API server running (
@celestial/api):npm run start -w @celestial/api - Workflow config includes
guided-rfpinstarflow.yaml curlandpython3available locally
Trigger, Pause, Resume, Verify
Section titled “Trigger, Pause, Resume, Verify”# 1) Trigger guided-rfp and capture runIdRUN_ID=$( curl -sS -X POST "http://localhost:4444/workflows/api/pipelines/guided-rfp/trigger" \ -H "content-type: application/json" \ -d '{}' \ | python3 -c 'import sys,json; print(json.load(sys.stdin)["runId"])')echo "runId=$RUN_ID"
# 2) Read run details (expect paused + phase=published)curl -sS "http://localhost:4444/workflows/api/runs/$RUN_ID"
# 3) Resume human waitTOKEN="wait:${RUN_ID}:step_wait_for_evaluation"curl -sS -X POST "http://localhost:4444/workflows/api/runs/$RUN_ID/wait/resume" \ -H "content-type: application/json" \ -d "{\"token\":\"$TOKEN\",\"payload\":{\"approved\":true}}"
# 4) Verify terminal state (expect status=success + phase=awarded)curl -sS "http://localhost:4444/workflows/api/runs/$RUN_ID"Expected Signals
Section titled “Expected Signals”- Before resume:
status: "paused"checkpointSummary.phase: "published"checkpointSummary.pendingWait.reason: "human"
- After resume:
status: "success"checkpointSummary.phase: "awarded"checkpointSummary.pendingWait: null