Fix the findings of the 2026-09-07T20-23 architecture review - #17
Merged
Conversation
- M: one BoundedWorkerDispatcher skeleton (queue, worker, in-flight ownership, death handler, two-phase close, reentry mark) beneath SendDispatcher and FallbackDispatcher, which keep only their delivery and their rejection accounting; one ParallelClose helper replaces the two hand-rolled deadline-join loops - M: the configuration guide's defaults quick reference is the canonical statement of the "code" defaults, enforced by DocumentationContractTest against the constants; README links instead of restating the breaker numbers - M: restart after stop() is refused (ADR-0004) - the restart symmetry added on 2026-09-07 (fallback restart, breaker reset, guard re-arm) is removed; the binding keeps deciding on the appender's bound state - L: shared test support (RecordingAppender, RecordingProducerFactory, three encoders) replaces four private recorders, four private producer factories and three private encoders - L: CI compiles the benchmark module against the freshly built library so the regression instrument cannot rot silently - L: guide section "What is deliberately not configurable" with the reason per item, linked from the README extension points Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015GfdGp7eUrjJKBvcJUx3q2
Fourth-round appropriateness analysis at ffede8b (0 Critical, 0 High, 3 Medium, 3 Low, 2 systemic patterns); every finding carries its status line referencing the fix commit, finding 3 recorded as ADR-0004. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015GfdGp7eUrjJKBvcJUx3q2
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.
Remediation of
docs/assessment/ARCHITECTURE_REVIEW-2026-09-07T20-23-00.md(fourth round atffede8b: 3 Medium, 3 Low, 2 patterns), per the review workflow: fix commit first, then the report with per-finding status lines.Fixed
BoundedWorkerDispatcherskeleton beneathSendDispatcherandFallbackDispatcher(queue, worker, in-flight ownership, death handler, two-phase close, reentry mark written once);ParallelClosereplaces the two hand-rolled deadline-join loops. Dispatcher and appender tests ran unchanged against the extraction.DocumentationContractTestagainst the constants (mutation-checked); README links instead of restating.stop()is refused - ADR-0004 records the decision (Logback replaces instances on reconfiguration; no consumer asks for same-instance restart); the restart symmetry added earlier today is removed.TestSupport.kt) replaces four private recorders, four producer factories and three encoders.mvn verify(offline, incl. ktlint): 267 tests green.🤖 Generated with Claude Code
https://claude.ai/code/session_015GfdGp7eUrjJKBvcJUx3q2