Stamps round on every effect.* wire message - #33
Merged
Conversation
Propagates the engine's round counter (statifier ADR-0046, st-xb2b) onto the nine effect.* wire types that still emitted it as nil; effect.budget_exhausted already carried it. The value is the engine's own stamp, carried verbatim by the normalizer. Records the versioning decision in docs/wire-format.md: an additive envelope field under the must-ignore rule, so the format version stays 1, and consumers of older recorded streams must tolerate effect.* messages without the key. Also repoints the doc's forward references from sui-t36.5 (which shipped without this propagation) to sui-67d, and reconciles the st-xb2b vs st-nbmj citation: st-nbmj filed the upstream gap, st-xb2b decided it via ADR-0046. EventLog needs no code change - its round-presence routing now files round-carrying effect messages into their round buckets, as planned; a new test pins that behavior. Refs: sui-67d
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.
Propagates the engine's
roundcounter onto the nineeffect.*wiretypes that still emitted a
nilround envelope;effect.budget_exhaustedalready carried it. The value is the engine's own stamp (statifier
ADR-0046,
st-xb2b), carried verbatim by the normalizer - nothing isinvented on the wire.
Wire-format decisions recorded (this repo owns the wire format):
version stays 1 - the same reasoning
effect.datamodel_changerecordedfor adding a whole type (sui-h92 precedent). Consumers of older
recorded streams must still tolerate
effect.*messages without thekey.
docs/wire-format.md's forward references fromsui-t36.5(which shipped without this propagation) to
sui-67d.st-xb2bvsst-nbmjcitation:st-nbmjfiled theupstream gap and was superseded by
st-xb2b, whose ADR-0046 decidedit; the References entry now says so instead of attributing ADR-0046
to both.
Interaction with the datamodel explorer (PR #32, merged mid-flight):
effect.datamodel_changeno longer carries anilround envelope - itnow carries the engine's stamp.
lib/statifier_ui/datamodel_explorer/*is behaviorally unaffected: it orders writes by
{macrostep, microstep, seq}and never reads theroundfield. Itsmoduledoc's "finer marking would need an upstream wire change" note was
stale the moment this landed, so it now records that round-granular
change marking is a possible local refinement, while the pane
deliberately stays at macrostep granularity.
EventLogneeded no code change, as sui-t36.5 planned: itsround-presence routing now files round-carrying
effect.*messages intotheir round buckets; a new test pins that, and the round-less case
remains covered as the older-recorded-stream shape.
Full
mix qualitygate green on top of currentmain(412 tests,93.2% coverage, dialyzer clean).
Closes: sui-67d