Validate Apalis route queue closure (backend-5.2.1)#357
Conversation
Replace the stale in-progress backend 5.2.1 ExecPlan with an approval-gated validation and closure plan. Capture the current repository state, Wyvern planning findings, Firecrawl Apalis research, validation gates, and the CodeRabbit rate-limit blocker before implementation proceeds.
Completion of Apalis RouteQueue adapter milestone (backend-5.2.1)This PR validates and closes the backend roadmap item 5.2.1 for the Apalis/PostgreSQL RouteQueue adapter, marking the outbound queue adapter implementation as complete. ChangesRoadmap update: Item 5.2.1 under "5.2. Queue adapter (Apalis)" is marked as complete in Developer documentation: Execplan document: A new execplan at
The execplan also captures implementation decisions, discoveries during execution, and confirmation that no user-facing server behaviour changed. ScopeThis milestone is limited to validating the outbound Apalis adapter; route submission dispatch, worker consumption, retry policy, and trace propagation remain for later roadmap items. WalkthroughThis PR documents the completion of backend roadmap item 5.2.1: the Apalis queue adapter using PostgreSQL. The roadmap task is marked complete; the API developers guide is updated to reflect the re-exported generic adapter seam; and the execution plan is rewritten as a comprehensive validation-and-closure record capturing milestones, test evidence, and decision log entries. ChangesBackend 5.2.1 Apalis Adapter Completion
Suggested labels
🚥 Pre-merge checks | ✅ 16 | ❌ 4❌ Failed checks (4 warnings)
✅ Passed checks (16 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Reviewer's GuideValidates the existing Apalis/PostgreSQL RouteQueue adapter and associated tests, reconciles developer documentation with the actual adapter API (notably the visibility and re-export of GenericApalisRouteQueue), and marks backend roadmap item 5.2.1 as complete after confirming all gates and reviews are clean. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Mark the approved execution as in progress and capture the targeted adapter validation evidence. Record the first implementation CodeRabbit review result so the ExecPlan can be resumed from the documented state.
Correct the developer guide's visibility notes for `GenericApalisRouteQueue` so they match the exported BDD harness seam. Update the ExecPlan with the documentation check evidence and the user-guide applicability decision.
Capture the successful full formatting, lint, and test gate results in the ExecPlan before requesting the post-gate review.
Mark backend roadmap item 5.2.1 done after the approved validation gates passed, and complete the ExecPlan with final gate evidence plus the implementation retrospective.
Add the final CodeRabbit closure result to the ExecPlan so the implementation record matches the completed review sequence.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/developers-guide.md`:
- Around line 662-665: Update the doc paragraph describing
GenericApalisRouteQueue<P, Q> to use the en-GB-oxendict -ize spelling: replace
"parameterises" with "parameterize" and reflow the sentence(s) so no line
(including indentation) exceeds 80 characters; ensure the references to
GenericApalisRouteQueue<P, Q> and ApalisRouteQueue<P> remain intact and the
meaning (that tests substitute a queue provider Q while production uses
ApalisRouteQueue<P>) is preserved.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: cada4f64-233a-4f41-a54a-4214d68c825b
📒 Files selected for processing (3)
docs/backend-roadmap.mddocs/developers-guide.mddocs/execplans/backend-5-2-1-apalis-route-queue.md
| - `GenericApalisRouteQueue<P, Q>` – Re-exported beside the production alias | ||
| because the BDD harness constructs the adapter with a test provider. It | ||
| parameterises the adapter over the queue provider type `Q` so tests can | ||
| substitute doubles. | ||
| substitute doubles, while production code should prefer `ApalisRouteQueue<P>`. |
There was a problem hiding this comment.
Correct spelling to match en-GB-oxendict and fix line wrapping.
Line 664 uses "parameterises" which conflicts with the en-GB-oxendict guideline requiring -ize endings. Line 665 exceeds 80 columns when indentation is included.
📝 Proposed fix
-- `GenericApalisRouteQueue<P, Q>` – Re-exported beside the production alias
- because the BDD harness constructs the adapter with a test provider. It
- parameterises the adapter over the queue provider type `Q` so tests can
- substitute doubles, while production code should prefer `ApalisRouteQueue<P>`.
+- `GenericApalisRouteQueue<P, Q>` – Re-exported beside the production alias
+ because the BDD harness constructs the adapter with a test provider. It
+ parameterizes the adapter over the queue provider type `Q` so tests can
+ substitute doubles, while production code should prefer
+ `ApalisRouteQueue<P>`.Triage: [type:spelling] [type:docstyle]
As per coding guidelines, use en-GB-oxendict with -ize endings: 'parameterize' not 'parameterise'. Paragraphs and bullet points must be wrapped at 80 columns.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - `GenericApalisRouteQueue<P, Q>` – Re-exported beside the production alias | |
| because the BDD harness constructs the adapter with a test provider. It | |
| parameterises the adapter over the queue provider type `Q` so tests can | |
| substitute doubles. | |
| substitute doubles, while production code should prefer `ApalisRouteQueue<P>`. | |
| - `GenericApalisRouteQueue<P, Q>` – Re-exported beside the production alias | |
| because the BDD harness constructs the adapter with a test provider. It | |
| parameterizes the adapter over the queue provider type `Q` so tests can | |
| substitute doubles, while production code should prefer | |
| `ApalisRouteQueue<P>`. |
🧰 Tools
🪛 LanguageTool
[typographical] ~662-~662: Consider using an em dash in dialogues and enumerations.
Context: ...ue: - GenericApalisRouteQueue<P, Q>` – Re-exported beside the production alias...
(DASH_RULE)
[uncategorized] ~664-~664: Do not mix variants of the same word (‘parameterise’ and ‘parameterize’) within a single text.
Context: ... the adapter with a test provider. It parameterises the adapter over the queue provider typ...
(EN_WORD_COHERENCY)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/developers-guide.md` around lines 662 - 665, Update the doc paragraph
describing GenericApalisRouteQueue<P, Q> to use the en-GB-oxendict -ize
spelling: replace "parameterises" with "parameterize" and reflow the sentence(s)
so no line (including indentation) exceeds 80 characters; ensure the references
to GenericApalisRouteQueue<P, Q> and ApalisRouteQueue<P> remain intact and the
meaning (that tests substitute a queue provider Q while production uses
ApalisRouteQueue<P>) is preserved.
Summary
RouteQueueadapter against focused unit and behavioural coverage.docs/developers-guide.mdwith the actualGenericApalisRouteQueue<P, Q>BDD harness seam.docs/execplans/backend-5-2-1-apalis-route-queue.md.Validation
cargo test -p backend outbound::queue --libpassed (5 tests).cargo test -p backend --test route_queue_apalis_bddpassed (9 tests).make check-fmtpassed.make lintpassed.make testpassed; Rust nextest ran 1220 tests with 1220 passed and 4 skipped, and the frontend/workspace tests passed.coderabbit review --agentcompleted with 0 findings after targeted adapter verification, documentation reconciliation, full gates, final roadmap closure, and final branch-head review.Scope Notes
docs/users-guide.md.References
docs/execplans/backend-5-2-1-apalis-route-queue.mdSummary by Sourcery
Validate and close the Apalis/PostgreSQL RouteQueue adapter work by updating the execution plan, aligning internal developer documentation with the existing adapter API and tests, and marking the corresponding backend roadmap item as complete after all quality gates and reviews passed.
Enhancements:
Documentation: