Amends ADR-0075: which callbacks receive opts - #357
Merged
Merged
Conversation
Appends a second Amendment to ADR-0075, at proposed, amending decision
8 point b in part. A {module, opts} registration's options reach the
context deliver/3 and cancel/2 receive, under :opts. perform/2 receives
the session's plan context without :opts, because a handler instruction
does not name the registration it came from. A processor that needs its
configuration when it performs carries it in the instruction payload
deliver/3 plans, as Statifier.Send.BasicHTTP does with its transport.
This records what statifier 2.10.0 ships and decides nothing beyond
which callbacks receive :opts. No line is removed.
Docs only: no Elixir code is touched. mix adr.check and
mix quality --profile merge ran green on this tree.
Refs: st-mgxq
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.
Adds a second Amendment to ADR-0075, at proposed. It amends decision 8 point b in part, and records which callbacks a
{module, opts}registration's options reach in the code statifier 2.10.0 ships.What changes
docs/adr/0075-basichttp-event-io-processor.md: one Amendment appended at the end of the file, in the shape of the Amendment above it (### Amendment 2026-09-30: ...with its own Status line,proposed (2026-09-30)). No line is removed.The Amendment
Decision 8 point b says the options reach "the plan context a processor's callbacks receive, under an added
:optskey".Statifier.Send.Processorhas three callbacks that take itsctx():deliver/3,cancel/2andperform/2. The shipped code gives:optsto the first two only. The Amendment states that as the decision:deliver/3's andcancel/2's context under:opts;perform/2receives the session's plan context without:opts, because a{:handler, module, payload}instruction does not name the registration it came from;deliver/3plans, asStatifier.Send.BasicHTTPdoes with its transport.It decides nothing beyond which callbacks receive
:opts.Direction check
Every claim in the Amendment was checked at
c8894aea, thev2.10.0tag andmain:Statifier.Session.Effects's privateprocessor_for/2puts the options under:optsonly in the contextdeliver/3andcancel/2receive.Statifier.Session's privateperform_instruction/3callsmodule.perform(payload, plan_context(state)), andplan_context/1has no:optskey.Statifier.Send.Processormoduledoc, section "Registration options", namesdeliver/3andcancel/2.Statifier.Send.BasicHTTP's privatepost/2puts the transport into the{:post, ...}payload thatperform/2reads.The Amendment cites each by function anchor, not by line. It removes no line (
git diff origin/main --numstatshows 32 added and 0 removed). Its Status line says what it amends and what stays unchanged. No ruling is cited: the Amendment records what the shipped code does.Gate
Docs only: no Elixir code changes.
mix adr.checkandmix quality --profile mergeran green on this tree. The ADR judge skipped: no file in this diff is in one of its judged scopes.