Skip to main content

Documentation Index

Fetch the complete documentation index at: https://launchpad.datalumina.com/llms.txt

Use this file to discover all available pages before exploring further.

Test locally first. Each reference workflow ships with a playground script and a matching set of request examples so you can validate logic without running the full API stack.

Local Testing Setup

  • Request examples: each workflow keeps its fixtures under app/launchpad/workflows/<name>/request_examples/. For the quickstart, the files are in app/launchpad/workflows/examples/quickstart/request_examples/invoice.json, policy_question.json, product.json, prompt_injection.json, refund.json, service_desk.json, and spam.json.
  • Playground scripts: one-per-workflow scripts in playground/ that load a fixture, run the workflow in-process, and print the final TaskContext.

Running the quickstart playground

uv run playground/quickstart.py
The script is roughly:
event_path = project_root / "app/launchpad/workflows/examples/quickstart/request_examples/invoice.json"
with open(event_path) as f:
    event = json.load(f)

workflow = WorkflowRegistry.QUICKSTART.value()
output = workflow.run(event)
print(output.model_dump_json(indent=2))
Swap the event_path filename to exercise any of the other fixtures.

Benefits of local testing

Immediate feedback

You see results instantly without waiting for async processing or checking databases.

Easy debugging

Add breakpoints and step through your workflow logic in your IDE.

No extra dependencies

You can test without running Celery workers or the full Supabase stack — only the services the workflow itself needs (for example, the quickstart does not need the database).

Rapid iteration

Modify and test workflow logic quickly without restarting services.

Adding your own test events

1

Create a JSON fixture

Add a new file to app/launchpad/workflows/<name>/request_examples/ with your test payload.
2

Match the event schema

Ensure the JSON structure matches the workflow’s event_schema exactly — Workflow.run() parses it with event_schema(**event) and will surface validation errors.
3

Point the playground at it

Update event_path in the matching playground/<name>.py script (or run a quick one-off Python snippet).