Repository navigation
docs: Add ADR 0046 - API standards for bulk processing resources - #887
mike-gorman-bitwarden wants to merge 1 commit into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Deploying contributing-docs with
|
| Latest commit: |
e212797
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://5a114d31.contributing-docs.pages.dev |
| Branch Preview URL: | https://docs-adr-0046-api-standards.contributing-docs.pages.dev |
|
From the database side:
|
|
Thanks. On 1 and 2: I'm reluctant to make the standards prescriptive about the limits an API may support. They shouldn't assume what kind of database is behind the API, and what's hard for one store can be trivial for another. A filter-targeted update of 100,000 well-indexed rows may be perfectly fine on one, for example. So the ADR flags the trade-off and leaves the numbers to the service owner: each API documents its maximum (Targeting), a service can respond asynchronously above a documented size, and the Execution section says when synchronous or asynchronous fits best. Your lock-escalation point is exactly the kind of thing an owner on SQL Server should weigh when setting those numbers. On 3: agreed. Lines 82–83 require the same side effects for each resource, and one outbox row per changed resource is a good way to meet that. |
🤖 Bitwarden Claude Code ReviewOverall Assessment: APPROVE This PR adds one documentation file: ADR-0046, "API standards for bulk processing resources", with status Proposed. Its frontmatter and structure match ADR-0036 and the MADR template, and I found no internal contradictions in the targeting, atomicity, execution, or response rules. ADR-0039, 0043, 0044, and 0045 are referenced as plain text rather than links, so the fact that they are not yet on Code Review Details
|
|
This PR is superseded by #894. We have done our best to retain/incorporate all feedback received to date. |
🎟️ Tracking
Follow-up to ADR-0036 (#865).
📔 Objective
Adds ADR-0046, "API standards for bulk processing resources", with status Proposed. Sets how many resources are created, updated, replaced, deleted, or acted upon in one request:
:bulk-*operations, targeting bydata,ids, orfilter, single-resource rules applied per resource, all-or-nothing or best-effort atomicity, synchronous or asynchronous execution, and the response format.