Repository navigation
observe: count one wipe while a member may revive; emit the wipe trace event - #282
Merged
Merged
Conversation
…e event The observe watch counted a wipe on the rising edge of all-dead and re-armed the latch as soon as one member was alive, so a bot revived in place for one poll and dead again the next double counted a collapse (r2-19z19 step 26: one collapse of the tank was counted twice, 3 wipes for 2 collapses). The latch now re-arms only once fewer than 3 members are dead (the module's kWipeDead), and every counted wipe goes to the trace as a "wipe" event with "observe": true, so the tracecheck deaths oracle sees it (stepFailedRecover never runs in observe mode, the oracle read 0 wipes).
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.
Round 2 on 19z19 (Zul'Farrak step 26): the tank revived in place at 1/3 HP 2 s after the first all-dead and died again 10 s later, so the latch from #280 (re-arm as soon as one member is alive) counted one collapse twice, and the deaths oracle read 0 wipes because observe mode only bumped the report counter without a 'wipe' trace event. Now every counted wipe also emits the 'wipe' trace event (leg, error, observe: true), and the latch re-arms only when fewer than 3 members are dead (the module's kWipeDead, same as DungeonRunPolicy.h:1624). On the r2 sequence this counts the two real collapses and nothing else; the oracle text reads 2 wipes. Test TestObserveWipeLatchReArmsBelowThreeDead (all-dead / 4 dead / all-dead / all alive / all-dead => Wipes 2 and exactly 2 events); mutations (re-arm on not-all-dead; remove the event) fail it; go test ./... clean. Reviews: Sonnet cold review (SHIP; no other reader of a 'wipe' trace event). Limits: a party smaller than 3 re-arms on every poll that is not all-dead (as before); two collapses separated by a partial recovery with 3+ still dead count as one (the module does the same). leader_deaths and resurrections are untouched (they belong to the agent-led driver).