Skip to content

Starflow Guided RFP Smoke

This page is a quick operator runbook for the guided-rfp workflow prototype.

  • API server running (@celestial/api): npm run start -w @celestial/api
  • Workflow config includes guided-rfp in starflow.yaml
  • curl and python3 available locally
Terminal window
# 1) Trigger guided-rfp and capture runId
RUN_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 wait
TOKEN="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"
  • Before resume:
    • status: "paused"
    • checkpointSummary.phase: "published"
    • checkpointSummary.pendingWait.reason: "human"
  • After resume:
    • status: "success"
    • checkpointSummary.phase: "awarded"
    • checkpointSummary.pendingWait: null