Bernd Worsch da7de6ea3b feat(workflows): implement RunActivityWorkflow — T18
workflows.py — RunActivityWorkflow:
  1. load_activity_definition(activity_id)
  2. resolve_context(context_sources)
  3. evaluate_templates (pure, called in-workflow)
  4. log_run({run_id, ...}) — run_id = uuid5(NAMESPACE_URL, activity_id:trigger_key)
  5. start_child_workflow(TaskExecutorWorkflow, ...) per task spec
     ABANDON parent-close policy (fire-and-forget)
  Returns {"run_id": str, "tasks_spawned": int}

activities.py — log_run updated:
  - now accepts run_id in run_payload (deterministic, passed from workflow)
  - uses pg INSERT ... ON CONFLICT (run_id) DO NOTHING for idempotency

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 22:25:19 +00:00
2026-03-02 00:24:41 +00:00
2026-03-02 00:24:41 +00:00
2026-03-02 00:24:41 +00:00
2026-03-19 21:26:53 +01:00

repo-seed

A git repository template to bootstrap coulomb projects from.

Description
A task factory based on temporal
Readme MIT-0 2.8 MiB
Languages
Python 97.5%
Shell 1.4%
Makefile 0.7%
Mako 0.2%
Dockerfile 0.2%