Context
Executor flow currently performs external effects such as GitHub reactions, OpenClaw dispatch, and completion notifications inline while processing a job. This works, but makes partial failure and retry semantics harder to audit.
Proposal
Introduce an outbox table for requested external effects with explicit idempotency keys, states, attempts, and last_error.
Acceptance criteria
- Reaction, dispatch, and notification effects can be recorded before execution.
- Retried effects are idempotent where the external API allows it.
- Job timeline distinguishes “decided”, “requested”, and “executed”.
- Monitor reports stuck outbox items.
Priority
Medium.
Context
Executor flow currently performs external effects such as GitHub reactions, OpenClaw dispatch, and completion notifications inline while processing a job. This works, but makes partial failure and retry semantics harder to audit.
Proposal
Introduce an outbox table for requested external effects with explicit idempotency keys, states, attempts, and last_error.
Acceptance criteria
Priority
Medium.