docs(source): close contract-doc gaps found by the adversarial review gate - #205
Merged
Conversation
… gate Reviewer-panel findings, all documentation-level (implementation verified conforming by executed experiments): - P1: DLQ produce-failure semantics were unspecified. Documented on the Term row: a failed dead-letter produce returns the error from Settle and leaves the record unmarked, so it is redelivered — nothing is silently lost. - handler.go ActionNak no longer states an unconditional in-session redelivery guarantee; it now defers to each adapter's documented constraints (Kafka's concurrent-commit caveat), matching source/doc.go's scoping. - inlet.go Next: ctx cancellation during the drain wait takes precedence over ErrDrained; the buffered-yield clause now covers Batched.NextBatch records fetched but not yet returned; Settle documents duplicate-settle safety. - kafka capability.go Begin: repeated Term on a transactional subscription leaves the record unmarked (hot-loop consequence stated); mixing a direct Settle into an open Begin documented as a programming error. - kafka README: NakAfter(d) pause interaction with BlockRebalanceOnPoll clarified.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checkpoint 4.5 — gate findings resolved
The three-panel adversarial review of merged main (
2931f24) returned 12 HELD / 1 BROKEN / 3 UNDOCUMENTED (contract adversary), 11/11 PASS with zero production findings (implementation breaker, executed experiments under-race), and all-PASS release audit (API delta exactly the approved list; changelogs/STABILITY consistent; dependency purity verified; full matrix green incl. RedPanda integration).This PR resolves the panel's one P1 and the actionable P2 doc gaps — all documentation-level; zero behavior changes:
Settleerror, record unmarked → redeliveredhandler.godefers to adapter-documented constraintsinlet.go Nextinlet.go Settledocuments safety + accounting invariantcapability.go Begindoc states unmarked-redeliver consequencePer gate rules, clearing these findings invalidates prior clearances: the full three-panel gate reruns on this PR's merge commit before any tag is cut.
Also recorded as known follow-up (out of scope):
examples/sourcedrive/go.modcarries testcontainers deps like the pre-change baseline — example module, no downstream consumers.