Repository navigation
docs: decision record for the CAS removal, and a doc-owner check that names a path - #129
Merged
Merged
Conversation
Records the round that removed the write path contention: no CAS on accept, the pending count derived instead of written, the fold scheduled rather than counted, the accept vectors carried into the fold, and every long operation bounded. It states the measured before-state (Add p50 2.6 s at concurrency 1, 51-106 s at 4 with 7 of 24 killed), what was rejected and why (keep-and-retry, sharded and PN counters, a KV counter, the Batch API, waitUntil), and the operational constraint this creates: rolling the code back now requires draining the log first, because an older deployment short-circuits on a count this one no longer maintains.
The checklist said "decision/design changes follow the doc-maintenance rules", which a submitter can tick without naming anything. The new item requires the owner and the file - decision record, design, experiment, postmortem or guide - or an explicit "none" with the reason, because a behaviour change with no owner named leaves the next reader nowhere to look, and "updated docs" is not a path. Also lands the decision record for the round that removed the write path's compare-and-swap.
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.
What
Decision record
docs/decisions/implemented/2026-10-29-accept-without-cas.{md,zh-CN.md,terms.yaml}: the round that removed the write path compare-and-swap — no CAS on accept, the pending count derived instead of written, the fold scheduled rather than counted, the accept vectors carried into the fold, every long operation bounded. States the measured before-state (Add p50 2.6 s at concurrency 1, 51-106 s at 4 with 7 of 24 killed), the rejected alternatives (keep-and-retry, sharded and PN counters, a KV counter, the Batch API, waitUntil), and the rollback constraint it creates: rolling the code back now requires draining the log first.PR template: the doc item now has to name the owner and the file, or say none with a reason. "Updated docs" without a path does not satisfy it.
Not verified
None. docs:check passes (793 files, 0 errors).