Bound retry scheduling and distinguish terminal receiver responses
The sender retries every response indefinitely, including malformed-endpoint failures.
- Focused work estimate
- 2h 30m + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Retry policy
Estimated field mix
- Site reliability50%
- API design30%
- Integrations20%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
A fictional logistics platform sends shipment events to partner endpoints. Partners need stable schemas and recovery semantics despite duplicate delivery, failures, and subscription changes.
Setup prerequisites
- Create a local webhook sender and receiver doubles with synthetic shipment events and disposable signing keys.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
- BAPIHOOK-101 · Define immutable webhook envelopes independently of database rows
- BAPIHOOK-102 · Authorize subscription creation and event scope per organization
- BAPIHOOK-103 · Validate webhook destinations through the restricted network boundary
- BAPIHOOK-104 · Sign exact webhook bytes with versioned verification metadata
- BAPIHOOK-105 · Document at-least-once delivery with stable event identities
Acceptance criteria
- Define retryable status classes and total delivery age.
- Respect bounded retry-after guidance.
- Move exhausted deliveries to an inspectable terminal state.
Implementation constraints
- Use an injected clock and fixed maximum attempts.
Verification to include
- Recover from a temporary receiver failure.
- Exhaust a persistent failure without unbounded work.
Deliverables
- Retry contract.
Rollout and recovery
Start with conservative limits; expose terminal state to authorized subscription owners.
Value of the work
For the engineer: Practice public event contracts, delivery guarantees, and partner recovery workflows.
For the team: Provide inspectable asynchronous integration behavior with controlled retries and clear compatibility.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.