docs(adr): compress to 2 records in the domain-modeling format - #31
Merged
Merged
Conversation
Both records pass the admission test, so nothing is dropped or merged and the numbering is unchanged. Each is now a single paragraph: the "**Decision:**" lead and the "**Revisit trigger:**" trailer are gone, and each trigger that was the real boundary of its decision is folded into the prose.
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.
Rewrites
docs/adr/from 2 records (303 words) to 2 (278 words), one paragraph each, in the shapeADR-FORMAT.mdasks for. Both records pass the admission test, so nothing is dropped or merged and the numbering is unchanged; what changes is the shape. The**Decision:**lead and the**Revisit trigger:**trailer are gone from both, and each trigger that was the real boundary of its decision is folded into the prose instead of hanging off the end.Evaluation
Each record was tested against the admission test: hard to reverse, surprising without context, the result of a real trade-off.
scope/receive/sendhandling will ask why notBaseHTTPMiddleware, and the anyio-task andhttp-only answers are not visible in the code.No merges: 0001 decides the middleware's form, 0002 decides what the package exports. They meet at the ASGI
scopedict but are separate trade-offs with separate reversal costs.Citations
No citation moved, because no record was renumbered. The two that exist still resolve:
tests/test_public_surface.pycitesdocs/adr/0002-child-container-stays-internal.mdby full path in itsINVARIANT:docstring, anddocs/agents/domain.mdnamesADR-0001plus both filenames in its file-structure block. The repo-wide sweep finds no reference to an old or dropped number.Stale claims
None. Every concrete claim was checked against
modern_di_starlette/main.py:_DIMiddlewareis a plain ASGI callable,starlette_websocket_provideropens atScope.SESSION,_CONTAINER_SCOPE_KEYis private and deleted in afinally,fetch_di_container(app)is the root-container accessor and has no per-connection counterpart, and@injectbinds as a method (covered bytests/test_endpoints.py). The 0002 sentence about class-based endpoints kept its substance but dropped the issue reference, which the code and those tests now carry.Gates
pytest -q tests/test_adr_citations.py: 7 passed.pytest -q: 22 passed. The whole suite is unit-level and in-process viaTestClient; no directory needed an external service, so none was skipped.ruff format --check(24 files already formatted) andruff check --no-fix(all checks passed), run for completeness although no Python changed.eof-fixer . --check: clean.lychee --offline --no-progressover both ADRs,CONTEXT.mdandAGENTS.md: 4 unique links, 2 OK, 0 errors, 4 excluded.