docs(adr): compress to 3 records in the domain-modeling format - #25
Merged
Merged
Conversation
All three records pass the admission test, so none were dropped or merged and the numbering is unchanged. Each is now a single paragraph: 961 words to 473. Two stale claims in 0002 were corrected against arq 0.28.0, and an unverifiable claim about the celery and typer integrations was removed from 0001.
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 (961 words) to 3 (473 words), one paragraph each, in the shapeADR-FORMAT.mdasks for. No record was dropped or merged, so the numbering and the slugs are unchanged and no citation had to move. Same treatment as modern-python/compose2pod#102.Evaluation
Each record was tested against the admission test: hard to reverse, surprising without context, the result of a real trade-off.
ContextProvidersetup_diconvenience, with a concrete rejected alternative that is still tempting.tests/test_jobs.pycites the record for exactly that.Per record: 296 to 149 words, 272 to 155, 393 to 169. Removed from all three: the
**Decision:**restatement of the title, the**Revisit trigger:**heading. 0001's and 0003's triggers are the real boundary of those decisions and survive as a clause in the paragraph; 0002's did not and was cut.Citations
None moved.
tests/test_jobs.py:238still citesdocs/adr/0003-per-job-child-teardown-is-reference-counted.mdanddocs/agents/domain.mdstill citesADR-0001and lists the first two filenames in its file-structure block; all resolve unchanged. The repo-wide sweep finds no reference to a number or a path that no longer exists.Stale claims corrected
Checked against arq 0.28.0 in the lockfile and against
modern_di_arq/main.py.arq.func(...)entry as carrying "its own name/timeout/retry configuration".arq.worker.Functionis a six-field record:name,coroutine,timeout_s,keep_result_s,keep_result_forever,max_tries. Result retention was missing from the list, and it is part of what a sweep would have to rebuild. Now "name, timeout, result retention and retry settings" and "any of its six fields".arq.funccallsimport_stringeagerly andWorker.__init__mapsfuncoverfunctions, so resolution happens at worker construction, not at job time. The conclusion holds; the wording now says what actually happens.modern-di-celeryandmodern-di-typer"decline for the same reason". That is a claim about two other repositories and cannot be verified from this one, so it was dropped rather than carried forward.ctxcomposition ({**self.ctx, **job_ctx}withjob_id,job_try,enqueue_time,score, plusredisseeded by the worker) and thefunction.coroutine(ctx, *args, **kwargs)call site; 0003's depth key, its 1 to 0 close, the await-free transitions, andtest_concurrent_inject_fanout_shares_one_child.Gates
pytest -q tests/test_adr_citations.py(7 passed), the full suite (29 passed, nothing skipped: Redis was reachable, so the burst-worker tests ran),ruff format --check,ruff check --no-fix,eof-fixer . --check, andlychee --offlineover the three records plusCONTEXT.mdandAGENTS.md(0 errors). No Python was touched; the two ruff gates ran over the tree anyway.