Skip to content

Feature: Add Transaction Outbox and Job Delivery Foundation #122

Description

@3m1n3nc3

Description

Create transaction and outbox primitives for work spanning PostgreSQL, queues, notifications, and blockchain providers.

File Location

learnault-api/prisma/schema.prisma, learnault-api/src/lib/transactions/, learnault-api/src/jobs/, and migrations

Design Reference

API Roadmap Phase 0: Add Transaction Outbox and Job Delivery Foundation.

Dependencies

Tasks

  • Add outbox event and job-attempt models with stable IDs and typed status
  • Write domain changes and outbox events in one transaction
  • Implement lease, retry, backoff, dead-letter, and idempotent completion
  • Recover abandoned leases and stop workers gracefully
  • Version and validate event payloads
  • Test rollback, duplicate delivery, crashes, retries, and dead letters

Acceptance Criteria

  • Rolled-back domain changes emit no event
  • Duplicate processing creates no duplicate side effect
  • Abandoned work becomes retryable
  • Lifecycle tests and metrics pass

Verification Evidence

  • Attach migration output and rollback, duplicate, crash, and retry tests

Difficulty

Advanced

Activity

  1. added theissue type on Aug 19, 2026
  2. ReinaMaze commented on Aug 19, 2026

    @ReinaMaze
    Contributor

    GM Maintainer, Can I get assigned to work on this?
    I’ve gone through the issue and understand the transaction outbox and job delivery requirements, including atomic event creation, retries, leases, dead-letter handling, idempotency, and recovery.I’ll also cover the required lifecycle and failure-case tests and include the migration/test evidence in the PR.

    ETA: 72 hours.

  3. grantfox-oss commented on Aug 19, 2026

    @grantfox-oss

    🦊 GrantFox — @ReinaMaze has been assigned to this issue as part of the Third Campaign campaign!

    Next steps:

    1. Open a Pull Request referencing this issue (e.g., Closes #122)
    2. Your PR will be reviewed by the learnault maintainers

    Good luck! Track your progress on GrantFox.

  4. grantfox-oss commented on Aug 23, 2026

    @grantfox-oss

    🎉 This issue has been marked as completed on GrantFox as part of the Third Campaign campaign!

    @ReinaMaze's PR #147 was approved and merged by @3m1n3nc3.

    🏆 @ReinaMaze: You earned 35 FoxPoints for this contribution! Your current tier: Builder (1,028 total points). Track your full progress on GrantFox.

    👏 Great work, @ReinaMaze! Keep contributing to learnault.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions