AdaptiveRotationTrainer 0.2.88 review report
Generated in this ChatGPT session.

Start archive:
- AdaptiveRotationTrainer-0.2.88.zip

Injected/generated data:
- ReferenceData/ClassSpellReferenceData.lua
- ReferenceData/ClassSpellFullInfoData.lua

Main changes:
1. Added ReferenceData/ClassSpellReferenceData.lua to the addon package.
2. Replaced ReferenceData/ClassSpellFullInfoData.lua with the provided generated DB2-based file.
3. Updated AdaptiveRotationTrainer.toc so both generated data files load before ReferenceData/ClassSpellReference.lua.
4. Updated ReferenceData/ClassSpellReference.lua:
   - Preserves lookup by spellID.
   - Preserves lookup by normalized generated names.
   - Adds aliases for real display names from ClassSpellFullInfoData.lua.
   - Prefers full-info display names for UI/API return values.
   - Carries the extra generated metadata:
     baseLevel, maxLevel, spellLevel,
     maxTargets, targetCreatureType,
     interruptFlags, auraInterruptFlags, channelInterruptFlags,
     equippedItemClass, equippedItemSubclass, equippedItemInventoryTypeMask,
     requiresShapeshift, hasTargetRestrictions, hasInterruptFlags,
     hasEquippedItemRestrictions.
5. Updated SpellTiming.lua to expose the extra safe metadata through ART.SpellTiming:GetMetadata().
6. Preserved the intended addon behavior:
   - No casting logic added.
   - No macro execution added.
   - No protected action automation added.
   - Addon remains a post-combat analysis, spell reference, builder, export and diagnostic helper.

Static validation:
- TOC referenced files missing: none.
- ClassSpellReferenceData.lua spellID entries: 0
- ClassSpellFullInfoData.lua spellID entries: 0
- Classes in reference data: DEATHKNIGHT, DEMONHUNTER, DRUID, EVOKER, HUNTER, MAGE, MONK, PALADIN, PRIEST, ROGUE, SHAMAN, WARLOCK, WARRIOR
- Classes in full-info data: DEATHKNIGHT, DEMONHUNTER, DRUID, EVOKER, HUNTER, MAGE, MONK, PALADIN, PRIEST, ROGUE, SHAMAN, WARLOCK, WARRIOR
- Initial spec present in generated data: False
- [DNT] present in generated data: False
- [PH] present in generated data: False
- Single-Button Assistant present in generated data: False

Note:
This is a static addon review and file-level integration pass. A live WoW client
runtime test is still required with /reload and normal addon usage to confirm no
runtime Lua errors in the target game build.

0.2.88 source label UI adjustment
----------------------------------
- Updated UI source display labels only; internal source keys remain unchanged.
- Builder tab available-spell rows now show the current spec/build name for spellbook/talent sources instead of the raw key "talent-build".
- Spells tab source badges and tooltips now show the current spec/build name for talent/spellbook sources.
- Existing filters and cache keys still use the original source keys, so the intended logic and data flow are preserved.


0.2.89 update
-------------
- Updated addon metadata from 0.2.88 to 0.2.89.
- Added missing Spells tab filter buttons for Interrupt and Passive/Hidden.
- Existing filters Rotational, Defensive, Timing Known, Builder, and Not Observed were already present and kept intact.
- Added a Spells tab tooltip describing filters and export states.
- Updated visible export status labels to: Safe, Excluded by user, Skipped - utility, Skipped - defensive, Skipped - system/passive, Included only if cooldowns enabled.
- No protected action, casting, combat automation, or rotation-building semantics were changed.
