Skip to content

docs: explain RabbitMQ delivery safety and adoption requirements - #574

Draft
niemyjski wants to merge 28 commits into
mainfrom
docs/rabbitmq-4.2.5-delivery-contracts
Draft

niemyjski wants to merge 28 commits into
mainfrom
docs/rabbitmq-4.2.5-delivery-contracts

Conversation

@niemyjski

@niemyjski niemyjski commented Sep 23, 2026 •

Copy link
Copy Markdown
Member

Documents RabbitMQ delivery safety, TLS configuration, quorum migration, and broker priority differences against pinned provider candidate 9e20a4c6. Ordinary Automatic exhaustion uses broker DLX/discard; confirmed application terminal transfer is opt-in. Adoption requires removing classic-only quorum priority settings and correcting configurations rejected by strict TLS validation.

Validation: Astra medium source review found no actionable issues. At ba1fdfc2, both Build runs passed (1,949 passed / 0 failed / 13 skipped each), the VitePress build passed, and all nine immutable link occurrences resolve. All ten extracted C# examples compiled against pinned provider 9e20a4c6 for .NET 8 and .NET 10 with zero warnings/errors; six broker-free configuration examples and eight configuration/guard assertions passed on .NET 10.

Release hold: published Foundatio.RabbitMQ 13.0.5 lacks the three opt-in APIs described here. Land and verify the provider stack #106 → #104 → #105 → #100, publish its matching package, reconcile these guides to that released source revision, then merge/deploy this documentation. The future release version is not assigned by current release evidence.

Verification and implementation details
  • PR Build and branch Build passed on ba1fdfc24c8d294cffc41314d32960372ccde8f0, incorporating main be10785cfed4e1850350dfaa024e1c3f25b7fac7.
  • Branch CI published preview packages to GitHub Packages and Feedz. Release publication was skipped; no documentation deployment occurred.
  • Four RabbitMQ pages rendered; all 50 same-page anchors resolve. The nine immutable URLs comprise four commit-tree references and five blob references to four distinct source files.
  • Changed-file whitespace checks pass. The full .NET formatter reports 13 existing diagnostics in vendored CronExpression.cs, whose content is identical to main. Existing sample dependency warnings are outside this documentation diff.
  • The current provider #100 head is 150b6c21babb5ea8d81f93fc8dec756eebf5884d, differing from the immutable documentation pin. Historical provider test counts do not validate that current head; no new broker/provider-suite execution is claimed here.
  • Classic full-source explicit NACK retries retain the original locally within DeliveryLimit. Ambiguous, unroutable, and denied handoffs retain it for transfer retry; local attempt counts reset after connection loss, and unlimited retries can block following work. Existing amq.default write and vhost-isolation guidance remains.
  • The limited 4.3.6 priority/retry scenarios are not full-provider compatibility, native-delay, consumer-timeout, or replicated-scheduling proof. No package or workflow configuration changed.

Copy link
Copy Markdown
Member Author

Cross-repository documentation/workflow audit

Confirmed #574 is the canonical companion to Foundatio.RabbitMQ #100. I closed the concurrently created duplicate #575 rather than leave two documentation PRs to review. The provider README and PR body now point to this branch, docs/rabbitmq-4.2.5-delivery-contracts.

Reviewed the overview, delivery-safety, verification, quorum-migration, and general messaging corrections at e36f735f0633648804bdb9fbf47c1f6f1591b8be, including API names/defaults, queue versus exchange identity, required dispatch/terminal outcomes, the quorum broker/application budget relationship, TLS host semantics, and delayed-plugin limitations. The guides explicitly label companion/unreleased behavior and retain the 4.2.5 requirement.

The provider's documentation-only commit c569775c1498e895047f049bb164876dd0cba4d6 removes docs/delivery-safety.md and docs/tls-and-verification.md and shortens/links the README. Its diff against 7c1d477 changes only those three documentation paths. Runtime code, tests, dependencies, broker configurations, and workflows are preserved.

The provider workflow directory contains only the existing build.yml and copilot-setup-steps.yml. The provider PR retains just the existing Build input for preparing its delayed-plugin image; this documentation work adds no workflow. This companion PR changes documentation/navigation and the existing consumer skill, not GitHub Actions. The current provider Build 35803034042 is completed/successful for c569775c.

Remaining verification boundary: source/API/link review is not a rendered VitePress build or compiled-snippet test. Those documentation checks and provider-release coordination remain outstanding; no deployment or new workflow was introduced to mask that limitation. Keep this branch available while preview links depend on it, and replace them with published canonical routes only when those pages and the matching provider release are actually available.

@niemyjski niemyjski changed the title docs: centralize RabbitMQ 4.2.5 delivery and verification guidance docs: explain RabbitMQ strict dispatch, retention, and safe adoption Sep 24, 2026
@niemyjski niemyjski changed the title docs: explain RabbitMQ strict dispatch, retention, and safe adoption docs: explain RabbitMQ delivery safety and adoption requirements Sep 25, 2026

This branch has not been deployed

No deployments
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