Repository navigation
Notes why the held-send map keeps its shape - #452
Merged
Merged
Conversation
The ADR-0069 Amendment of 2026-10-09 gives Statifier.Replay's use of the held-send map as the reason a replace leaves the map as it is. The stronger reason is that held_sends is a typed optional key of Statifier.Session.Effects.plan/2's public plan context, so recording the registration in the map's values would change a type a host that plans through plan/2 codes against. A dated foot Note on ADR-0069 states that reason with anchors, zero removed lines, and says that routing a held send's cancel to the registration recorded when it was handed over would need only a new optional context key. That routing is not decided here (decided by the conductor under a standing consent, 2026-10-10: the Note only). Record Note only; no fragment. mix quality --profile merge ran green on this commit's tree. Refs: st-tl0k
johnnyt
force-pushed
the
st-tl0k-adr-0069-held-cancel-note
branch
from
October 11, 2026 15:56
712326b to
1480efa
Compare
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
A dated foot Note on ADR-0069, "why the held-send map keeps its shape". The Amendment of 2026-10-09 gives
Statifier.Replay's use of the held-send map as the reason a replace leaves the map as it is. The Note adds the stronger reason:held_sendsis a typed optional key of the plan contextStatifier.Session.Effects.plan/2takes (t:Statifier.Session.Effects.context/0, its valuet:Statifier.Session.Effects.held_sends/0), so recording the registration in the map's values would change a type a host that plans throughplan/2codes against.The Note decides nothing and changes no answer. It says that routing a held send's cancel to the registration recorded when the send was handed over would need only a new optional plan-context key, and that this routing is not decided here: it is not taken this round (decided by the conductor under a standing consent, 2026-10-10: the Note only).
Direction check of the record text
Every claim was read on
mainatc2c69ef7(an ancestor oforigin/main) and re-read at this branch's base02e729f3, which touches none of the cited files. The Amendment sentence the Note quotes is in its paragraph on<cancel>, verbatim.Statifier.Replay'splan_context/1passes its ownheld_sendsand it is kept byStatifier.Session.Effects.register_held_send/3.t:Statifier.Session.Effects.context/0declaresoptional(:held_sends) => held_sends(), andt:Statifier.Session.Effects.held_sends/0issend_id => [type]with the types sorted and unique.docs/extending.md, section "The<send>half: host-registered send types", tells a host planning throughplan/2that the context carriesheld_sends. The cancel arm ofStatifier.Session.Effects.plan/2looks each held type's processor up in the context'ssend_processorswhen the cancel is planned.git diff origin/main -- docs/adr/shows zero removed lines. The Note sits after the last Note (2026-10-11, "two cases the replace call's answers leave out") and has no Status line.Gate
Docs and record only; no changelog fragment (
changelog.d/README.md: none for ADRs).mix quality --profile mergeran green on the rebased head (the ADR judge skipped: no file in a judged scope).