docs(adr): compress to 2 records in the domain-modeling format - #24
Merged
Merged
Conversation
Drops 0001 (aio coverage flake fixed in the test): a two-line `# pragma: no cover` is cheap to reverse and the reason already sits in the test as a comment. Keeps 0002 and 0003 unmerged - they are separate boundaries - rewritten as one paragraph each and renumbered 0001 and 0002. No merges.
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 3 records (991 words) to 2 (297 words), one paragraph each, in the shape the domain-modeling ADR format asks for. Survivors are renumbered 0001-0002 in their original order and every citation moves with them.Evaluation
Each record was tested against the admission test: hard to reverse, surprising without context, the result of a real trade-off.
# pragma: no covercomments in one test, deleted the day coveragepy ships a fix, andtests/test_aio.pyalready carries the reason as a three-line comment next to them. No survivor relies on the rule, so nothing was folded.protobufout of the runtime dependency set, and a future reader would otherwise add the provider. Its closing clause aboutintegrations.bindvsclassify_connectionand its revisit trigger fold into the paragraph.No merges: 0001 and 0002 are separate boundaries (dependency surface vs. wrapper lifetime) and share no rule.
Citations
One citation moved.
docs/agents/domain.mdnamedADR-0001 (aio coverage flake fixed in the test)in its ADR-conflict example and listed0001-aio-coverage-flake-fixed-in-the-test.md/0002-protobuf-request-message-not-a-provider.mdin its file-structure tree; both now name the surviving records. Nothing inmodern_di_grpc/,tests/,README.md,CONTEXT.md,AGENTS.md,pyproject.tomlor the workflows cited an ADR. The repo-wide sweep finds no reference to an old or dropped number.Stale claims
Every concrete claim in the two survivors was checked against the code and holds:
grpc_context_providerisproviders.ContextProvider(ServicerContext, scope=Scope.REQUEST),dependenciesis["grpcio>=1.48,<2", "modern-di>=3,<4"]withprotobufonly in the dev group,_build_childcallsintegrations.bind(neverclassify_connection, which does exist inmodern_di.integrations),_wrap_stream_sync/_wrap_stream_aioare generators, andinjectbuilds exactly three wrapper shapes.One stale claim was found in the dropped record: it named the gate as the CLI flag
--cov-fail-under=100, which appears nowhere in the repo. The gate isfail_under = 100under[tool.coverage.report]inpyproject.toml, andjust test-cipasses only--cov=.and the report flags. Since the record is dropped, the correction is recorded here rather than rewritten.Gates
pytest -q tests/test_adr_citations.py: 7 passed.pytest -q(full suite): 37 passed. Nothing intests/needs an external service; the gRPC servers are in-process on loopback.ruff format --check: 22 files already formatted.ruff check --no-fix: all checks passed.eof-fixer . --check: clean. No Python was touched by this change, so all three are informational.lychee --offline --no-progressover both new ADRs,docs/agents/domain.md,CONTEXT.mdandAGENTS.md: 3 unique links, 2 OK, 0 errors.ty checkwas not run: it is part ofjust lint-ci, not a gate for this change, and no Python was touched.