docs: correct two Inbox claims phase 4 shipped, both found by running it - #156
Merged
Merged
Conversation
MSSQLTransportInboxAndOutbox.md step 7 was wrong twice, and #155 merged with both. 1. The global InboxConfiguration does nothing in a consumer-only process. Its policy arguments reach the pipeline only via CommandProcessorBuilder's ExternalBus overloads (ServiceCollectionExtensions.cs:657-676); register no producers and the NoExternalBus branch is taken, and that overload accepts no inbox. The page printed exactly that shape and said it de-duplicates. Measured, table present and provisioned both times: 0 Inbox rows with no producer registered 1 Inbox row with one registered Step 7 now leads with [UseInbox], which does not depend on there being a bus, and keeps InboxConfiguration only as what supplies the store. 2. InboxScope is inert — 0 references in src/ outside its own declaration, against 43 for OnceOnlyAction as a control. The page had a table row advising when to choose Commands over Events. Step 10's verification now shows the measured de-duplication rather than asserting it, and the failures section splits "handled twice with an empty Inbox" from "handled twice with rows", which have different causes. Found while proving Brighter#4331 against SQL Server 2022 in Docker. Neither was reachable by compiling, and neither was reachable by reading. Gates unmoved: link 164, pagelint 162 pages / 768 warnings, shape 161. --changed reads 1 documentation page(s), 3 code block(s) strict, 0 errors. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0146UueHL6H3zGBGTYwz7GtL
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.
#155 merged with two false claims about the Inbox. Both were in
MSSQLTransportInboxAndOutbox.mdstep 7, both compiled, both read plausibly, and neither was reachable by any gate this repository has. They surfaced while proving the companion sample (BrighterCommand/Brighter#4331) against SQL Server 2022 in Docker.1. The global
InboxConfigurationdoes nothing in a consumer-only processIts policy arguments reach the pipeline only through
CommandProcessorBuilder'sExternalBusoverloads (ServiceCollectionExtensions.cs:657-676). Register no producers and theNoExternalBusbranch is taken instead — and that overload accepts no inbox at all. So a receiver, which is the natural place to want an Inbox, silently gets none.The page printed exactly that shape —
AddConsumerswith anInboxConfigurationand no producer — and asserted it de-duplicates.Measured, with the Inbox table present and provisioned in both runs:
Step 7 now leads with
[UseInbox], an ordinary handler attribute that does not depend on there being a bus, and keepsInboxConfigurationonly as what supplies the store.2.
InboxScopeis inert0 references in
src/outside its own declaration, against a control of 43 forOnceOnlyAction. The page carried a table row advising when to pickCommandsoverEvents. It changes nothing.Also
Step 10 now shows the de-duplication rather than asserting it:
The failures section splits "handled twice, Inbox empty" from "handled twice, Inbox has rows" — different causes, and the first one is the trap above.
Gates
Nothing moved: link 164, pagelint 162 pages / 768 warnings, shape 161.
--changed origin/masterreads1 documentation page(s), 3 code block(s) strict, 0 errors — the scope line, so the pass is not vacuous. All ten extracted blocks still compile against 10.7.0.Why this is in
tasks.mdtooAdded as phase 4's finding H. The point worth keeping: this is the third time in this programme that a compiling, plausible, reviewed example was wrong about behaviour, and the first where the instrument had to be a database rather than a probe.
scope:has a type, a default and an XML comment — reading it harder would not have helped.🤖 Generated with Claude Code
https://claude.ai/code/session_0146UueHL6H3zGBGTYwz7GtL