Skip to content

docs: make terminal-only DLQ policy explicit - #1075

Merged
sbalabanov merged 3 commits into
mainfrom
wt/dlq-policy-docs
Nov 14, 2026
Merged

sbalabanov merged 3 commits into
mainfrom
wt/dlq-policy-docs

Conversation

@sbalabanov

@sbalabanov sbalabanov commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Keep final DLQ retries focused on terminal reconciliation, not restarting failed workflows.

Summary

An already-failed batch can still have unfinished member-status fan-out. The documented DLQ boundary allows repairing those terminal outputs without restarting validation, builds, or merges.

  • Put the terminal-only boundary in Design Defaults; recovery exceptions require an explicit user request or owning-maintainer approval.
  • Correct the existing DLQ guide's partial-transition prohibition, retry description, wiring summary, payload description, and links; name the speculation nudge and hook report-and-stop limits.
  • Distinguish gateway projection replay from orchestration restart and narrow Stovepipe's "original handoff" wording to its terminal/history obligations.

Documentation only; no queue bindings or runtime behavior change.

Test Plan

Checked the wording against the current stage bindings and terminal handlers, including owner/winner preservation, terminal fan-out, speculation's other-work nudge, hook disposition, and Stovepipe record notifications. All 30 local Markdown links in the four changed documents resolve, and git diff --check passes. make gazelle completed without BUILD changes. No runtime tests were run locally for this documentation-only change.

Revert Plan

Revert this PR.

@cla-assistant

cla-assistant Bot commented Nov 12, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Comment thread AGENTS.md Resolved
@sbalabanov
sbalabanov marked this pull request as ready for review November 12, 2026 21:47
@sbalabanov
sbalabanov requested review from a team and behinddwalls as code owners November 12, 2026 21:47
Summary:
Keep final DLQ retries focused on terminal reconciliation, not restarting failed workflows.

Intent:
Conflicting retry and partial-transition guidance could lead an implementer to reuse an idempotent Start controller on a DLQ, creating Started and publishing validation again. Make that boundary explicit without changing runtime behavior.

Changes:
- Add the terminal-only rule and explicit maintainer-approval requirement to Design Defaults.
- Correct the existing DLQ guide and link workflow wiring to its source, preserving the named narrow exceptions.
- Narrow Stovepipe request-log repair wording to terminal/history obligations.

Test Plan:
Checked wording against current stage bindings and terminal handlers; all 30 local Markdown links resolve and git diff --check passes. make gazelle completed without BUILD changes. No runtime tests were run for this documentation-only change.

Revert Plan:
Revert this documentation commit.
Summary:
Keep terminal-only DLQ reconciliation as the default while requiring an explicit user request or owning-maintainer approval for recovery exceptions.

Changes:
- Restore the simplest-and-most-reliable implementation principle.
- Remove the requested top-level retry and implementer-authored authorization sentences.
- Clarify that agents must not choose recovery exceptions on their own.

Test Plan:
Read both complete review threads and checked the requested wording changes. git diff --check passes and all 17 local Markdown links in the two changed files resolve. make gazelle completed without BUILD changes. No runtime tests were run for this documentation-only change.

Revert Plan:
Revert this documentation commit.
Summary:
Describe downstream batch-ownership preservation on the generic request DLQ path without implying that every DLQ handler uses its guard.

Test Plan:
Statically traced the generic request and conflict-signal DLQ paths through their terminal helper. Verified the changed paragraph retains the no-restart and terminal-winner statements and both links resolve; git diff --check passes. make gazelle produced no BUILD changes. No runtime tests were run for this documentation-only correction.

Revert Plan:
Revert this documentation commit.
@sbalabanov
sbalabanov merged commit edd1dfb into main Nov 14, 2026
22 of 23 checks passed
@sbalabanov
sbalabanov deleted the wt/dlq-policy-docs branch November 14, 2026 01:46
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.

3 participants