TempoAdvisor confidence state now splits into two orthogonal SavedVariables fields: theoreticalConfidence (written by AnalyzeSequence when Tier 1 resolves spells) and empiricalConfidence (written by Tier 3 blending after enough CLEU samples accrue). A new TempoAdvisor:GetEffectiveConfidencegetter derives the display label: "Calibrated" wins when Tier 3 has converged AND the sequence has no unknown spells, otherwise the theoretical label shows. Fixes a 2-3 second oscillation where the two writers were clobbering a shared rec.confidence field and the tooltip/overlay flickered between "Estimated" and "Calibrated". Legacy rec.confidence values are mapped onto the best-fit new field on Initialize (Calibrated -> empiricalConfidence, anything else -> theoreticalConfidence) then cleared, so the UI shows a sensible label from the first /reload onwards rather than briefly showing "Unknown". Display strings unchanged.
GRIP-EMS v1.9.8
Released April 18, 2026. 7 entries in the author's notes.
Every entry
The author's own words, complete. Long sections are sorted into areas by LazyGrip.
Changed
3SequenceList now desaturates the sequence-row icon whenever data.disabled is set, regardless of data.active. Previously the dim state only engaged when the OOC teardown flipped active to false, leaving a short window in combat where a just-disabled sequence still rendered at full colour.
SequenceList right-click menu: Enable/Disable entry now reads from L\["GEMS_UI_ENABLE"\] / L\["GEMS_UI_DISABLE"\] instead of a hardcoded English string. enUS keys already ship the short form ("Enable" / "Disable") to match adjacent Rename / Delete entries.
Added
2SequenceEditor header: disabled-state badge plus a Disable/Enable toggle button in the button chain. The badge shows [Disabled] in muted text to the left of the button when the currently-loaded sequence has been disabled. The button calls Engine:ToggleSequenceDisabled and swaps its label between "Disable" and "Enable" based on current state. Combat-safe: the click delegates to the Engine function which queues the secure teardown or activation through OOCQueue, so flipping a sequence while in combat takes effect the moment combat ends. Tooltip swaps description copy to match the action about to be performed.
Five new locale keys for the disabled-state UX: GEMS_UI_ENABLE, GEMS_UI_DISABLE, GEMS_UI_ENABLE_BTN_DESC, GEMS_UI_DISABLE_BTN_DESC, GEMS_UI_DISABLED_BADGE. enUS only this pass; community translators pick them up on their own cadence.
Fixed
1SequenceList: sequence row subtitle now dims when the row is disabled or not activated. Previously the subtitle text was unconditionally set to the active colour after the dim branch, so only the name and icon actually changed. Pre-existing bug, surfaced by v1.9.8's dim-trigger rework.
Internal
1Tools/cowork_util.py wtdiff: Lua tail-pattern table now recognises AceLocale assignment lines (L\["..."\] = "...") so Locale files no longer trip the integrity gate. Narrow regex; will not mask truncation of regular Lua modules.
Grab it
Release notes written by Sataana and reproduced here with his permission.