Skip to content

docs: Spec and plan awaiting signals - #6

Draft
themusicman wants to merge 2 commits into
mainfrom
feat/await-signals
Draft

docs: Spec and plan awaiting signals#6
themusicman wants to merge 2 commits into
mainfrom
feat/await-signals

Conversation

@themusicman

Copy link
Copy Markdown
Contributor

Summary

  • Spec for Oban-style mid-handler await_signal / signal on PgFlow Jobs and Flows
  • Implementation plan (helpers V05, Queries.Signals, Context/Client API, worker park catch, timeout sweeper, Job/Flow coverage)
  • Design choices locked: run_id + step_slug addressing, full buffer/timeout parity, re-enter handler from top, Elixir-owned park + task_signals store

Detailed changes

Spec (docs/superpowers/specs/2026-08-21-await-signals-design.md)

  • Park tasks as waiting, free worker slot, resume via PgFlow.signal/3,4
  • Early signal buffering (last write wins), live wait_timeout, persisted wait_for
  • JSONB payloads only in v1; no cancel API or dashboard polish

Plan (docs/superpowers/plans/2026-08-21-await-signals.md)

  • Six TDD tasks with concrete files, SQL interfaces, and test commands
  • Clarifies production catch lives in Worker.Server (not unused Executor path)

Test plan

  • Review spec for API/lifecycle correctness vs Oban Pro awaiting signals
  • Review plan file map and Task 1 SQL against current helpers migration pattern
  • Confirm unrelated untracked conditional-step docs/migrations are not included
  • After merge (or on implementation PR): execute plan tasks and run listed mix test targets

Notes

Documentation-only PR — no runtime code yet. Implementation should follow the plan on this branch or a follow-up.

Capture the approved design for Oban-style await_signal/signal on
PgFlow: mid-handler pause, durable buffer, park as waiting, and
resume by run_id + step_slug.
Break the approved await-signals design into TDD tasks: helpers V05,
Queries.Signals, Context/Client API, worker park catch, timeout sweeper,
and Job/Flow coverage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant