You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(raid): attendance only starts from a PROVEN roster-macro pair
Live 2026-09-10 disaster: guildies running SIX-MAN content all day
minted dozens of overlapping phantom attendance "raids" with ~36h
durations and the whole guild marked present. Three causes, all fixed:
- A lone whoraid block seeded the raid immediately — but pressed
outside a raid it echoes "Not in a raid" and completes EMPTY, and the
guild who then paired against it. whoraid is now only ever the held
half of the pair, and the pair validates BOTH ways: the raid half
must be non-empty and the plain half must be a PURE guild block —
every row detailed (no anonymous) and every row tagged with the SAME
guild (verified against live guild-who captures: guildmates always
show full detail to each other). "/who", "/who all", zone whos and
out-of-raid macro presses can never satisfy this.
- Fight allies and raid deltas fed the roster with no gating — a
6-man's allies became "the raid". The tracker is now ARMED only by a
validated pair; until then every passive signal is discarded, and
TickAttendance additionally refuses to upload unarmed state.
- No session lifecycle: trackers accumulated members for days, so
first_seen stretched back to the ingest clock clamp (the 2147-minute
sessions). A validated pair arriving >6h after the previous one now
auto-rolls a fresh session — Tuesday's roster can't haunt Thursday
even if nobody presses "New session".
Test corpus extended with the verbatim 6-man capture (whoraid "Not in a
raid" + valid guild who) plus mixed-guild, anonymous-row, unarmed-signal
and session-rollover cases.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>