Repository navigation
Fix systematically misaligned enchant/gem/consumable ID databases - #11
Merged
Merged
Conversation
A TBC Fresh user reported wrong enchant and consumable identification. Verification against actual game client data (wago.tools dumps of SpellItemEnchantment/SpellEffect/SpellName/ItemSparse/GemProperties) showed the hand-maintained ID->name maps in cla-constants.ts were systematically shifted in every era section: - 88 of 106 verifiable enchant IDs had the wrong name (e.g. glove enchant 684 shown as "Major Agility" but is +15 Strength; all TBC head glyphs / shoulder inscriptions / leg armors rotated by one) - Gem maps pointed at wrong items (some "gems" were cloaks, formulas, or Monster placeholder items); GEM_STAT_DB's shifted IDs produced false "bad gem for your role" flags on correct gems - 28093/28095 (Mongoose/enchant proc buffs) were listed as weapon oils, crediting enchant users with a phantom weapon enhancement - Scroll buff IDs shifted; rank-V scrolls flagged "use VIII instead" though VIII doesn't exist in TBC; two "food" IDs were mage Refreshment; Cata elixirs rotated; a few flask names wrong Fix: regenerated ENCHANT_NAME_DB, GEM_NAME_DB and GEM_STAT_DB from era-matched client data (Classic/TBC = 2.5.6.69546 TBC Anniversary, WotLK = 3.4.5.63697, Cata = 4.4.2.60895, MoP = 5.5.4.69585), applied surgical consumable fixes, and added a regression test suite locking in known-good pairings. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
alexandermayes
added a commit
that referenced
this pull request
Sep 22, 2026
- Add 03-07-SUMMARY.md: Phase 3 live in production (dpl_6Pj5Lz5Q1tSJYSCtUu3YTvtRx3mx), item-7 and share-rate figures counted, Part 5 closed LEFT OPEN — not signed - REQUIREMENTS.md: OPS-01 Addendum 3 (Phase 3 gate re-run not met) and a new SHARE-01/02/03 addendum (capability proven live; live-traffic/human-review backstops still open) — no checkbox reverted, ledger made honest via addendum - WINDOWS.md: two new open follow-ups (#10 item-7 re-measure, #11 share-rate re-run) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
alexandermayes
added a commit
that referenced
this pull request
Sep 22, 2026
Closes the one FAILED truth in 03-VERIFICATION.md (ROADMAP SC4 / OPS-01): all nine docs/OPS-01-SHIP-GATE.md Part 5 rows are driven to a dated outcome. - 03-08 (wave 6): the Search Console pass that was never run (rows 4-6) plus the three developer-only backstops — D-04 tone, real Discord unfurl, D-13 phone width (rows 7-9). Leads with a tracer that takes the homepage row end-to-end. - 03-09 (wave 7): item-7 re-measure on a fully elapsed busier UTC window, the Vercel Web Analytics read for threshold 3, and the RESEARCH A3 consent-path disposition (rows 1, 3). - 03-10 (wave 8): the date-gated share-rate row (no query before 2026-09-23T09:15Z), the Part 5 close-out and exactly one sign-off, REQUIREMENTS Addendum 4 plus a superseding SHARE addendum, and the WINDOWS #9/#10/#11 dispositions (row 2). Every tool-dependent step names who holds the tool: the executor has no PostHog, Vercel, Search Console or browser tool, so that evidence arrives as a blocking checkpoint and is transcribed verbatim (the 03-07 handoff pattern). 03-REVIEW.md WR-01/WR-02/WR-03/IN-01 are explicitly deferred to /gsd-code-review --fix. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
alexandermayes
added a commit
that referenced
this pull request
Sep 22, 2026
- Restates all nine closing-table rows with counted outcomes and evidence pointers (rows 1, 3-7, 9 counted PASS or delegated PASS; row 2 standing first reading; row 8 NOT OBTAINED) - Records Task 1's decision verbatim: developer replied "sign-now" then "you call"; orchestrator resolved to sign-now-conditional - Writes exactly one closing heading: Phase 3 Sign-off — SIGNED (2026-09-19), with the sign-now-conditional obligation that the D-14 re-read (on/after 2026-09-23T09:15Z) must append a dated confirmation or correction, and WINDOWS.md #11 stays open until then - Signature explicitly excludes 03-REVIEW.md WR-01/02/03/IN-01, deferred to /gsd-code-review --fix Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
alexandermayes
added a commit
that referenced
this pull request
Sep 22, 2026
…gers - Append OPS-01 Addendum 4 (supersedes Addendum 3): Phase 3 re-run met 2026-09-19 against dpl_6Pj5Lz5Q1tSJYSCtUu3YTvtRx3mx, Part 5 SIGNED (conditionally on the D-14 re-read appending a dated confirmation or correction on/after 2026-09-23T09:15Z) - Append SHARE-01/02/03 Addendum 2 (supersedes 2026-09-16 addendum): live-PostHog and D-13 backstops now closed; real Discord unfurl and first-hand D-04 verdict remain open - Both additions are pure appends; every prior addendum, the Phase 1 gate closure text, and all checkbox/traceability lines are untouched - Mark .planning/WINDOWS.md #10 fixed (item-7 re-measure closed); #9 and #11 stay open per the close-out's dated dispositions Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This branch was successfully deployed
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.
Context
A TBC Fresh user reported that enchant detection "seems to be wrong" and some consumables are "wrongly identified... maybe the ids are not of the right version of the game." They were right — and it was worse than it looked.
Root cause
The hand-maintained ID→name databases in
lib/cla-constants.tswere systematically misaligned — whole sections shifted/rotated by one row, in every era section (Classic through MoP). Verified against actual game client data (wago.tools dumps ofSpellItemEnchantment/SpellEffect/SpellName/ItemSparse/GemProperties), era-matched to the clients WCL logs come from:Findings
684displayed as "Major Agility (+15 Agi)" but is +15 Strength; every TBC head glyph, shoulder inscription, leg armor and spellthread was rotated (Glyph of Ferocity is3003not2999, Nethercobra Leg Armor is3012not2747, …). Same pattern in WotLK/Cata/MoP sections.Monster - Daggerplaceholder items.GEM_STAT_DB(drives "bad gem for your role" flags) had the same shifted IDs → false flags on correct gems.28093("Lightning Speed") /28095are Mongoose/enchant proc buffs, listed as weapon oils — on TBC Fresh anyone with the Mongoose enchant was credited a phantom "weapon enhancement".57362/58067counted as food buffs but are mage Refreshment.79474is Naga,79477is Cobra,79480is Deep Earth — a guardian elixir, not battle).28519is Flask of Mighty Restoration ("Versatility" doesn't exist);53752is Lesser Flask of Toughness, not Elixir of Mighty Defense;54452is a dead spell ID (removed).Fix
ENCHANT_NAME_DB,GEM_NAME_DB,GEM_STAT_DBmechanically from the client data above. Enchant names come from the applying spell (e.g.Enchant Gloves - Major Strength) plus the enchantment's actual stat text; gem stat types are derived from each gem's real enchantment text (kept as a trailing comment per entry for reviewability).CONSUMABLE_DB+ the ID sets inlib/constants.ts(proc buffs removed fromWEAPON_ENHANCEMENT_IDS, Refreshment removed fromFOOD_BUFF_IDS,53752moved toFLASK_BUFF_IDS).lib/cla-constants.test.ts(10 tests) locking in known-good pairings.Verification
npx tsc --noEmit✓npm run lint✓ (no new findings)npm test— 34/34 ✓ (10 new)Notes / residual limitations
3606) aren't representable in the dumped tables and kept their original names.vercel deploy --prod) after merge — this PR does not self-deploy.🤖 Generated with Claude Code