fix(02): resolve Phase 2 code-review findings (CR-01, WR-01..03) - #16
Merged
Merged
Conversation
…dvice on zero-healing data Add regression test asserting a healer with hasHealing: false yields no healer-category suggestions. Co-Authored-By: Claude Fable 5.1 <[email protected]>
…ght-scoped masterData.actors is the report-wide roster; a sourceId from a different fight in the same report passed the old check. Fetch playerDetails(fightIDs: [fightId]) (as app/api/analyze/route.ts already does) and check membership there instead. Co-Authored-By: Claude Fable 5.1 <[email protected]>
…meline toggleAbility fired onFilterToggle (timeline_filter_used) from inside the setHiddenAbilityIds functional updater, which React Strict Mode invokes twice — double-firing the event on every ability-chip click in dev. Compute the toggled set up front and call setHiddenAbilityIds with the concrete value instead, mirroring resetAbilities. Co-Authored-By: Claude Fable 5.1 <[email protected]>
The local composeEras() helper's comment claimed later-era-wins 'matches current behaviour', but lib/generated/index.ts's composeEraPriority implements the opposite (first-resolved-era-wins). Correct the comment and add Test 9, asserting the real production ENCHANT_NAME_DB resolves the known id 3003 collision to the Classic/TBC fact, not WotLK's — closing the coverage gap the stale comment papered over. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Co-Authored-By: Claude Fable 5.1 <[email protected]>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…agnosis, context, research, validation strategy PostHog capture has been ~99.9% down since the Phase 1 deploy (2026-09-06): cookieless_mode "on_reject" drops all PENDING-consent events and opt-in depended on __tcfapi calling back, which never happens for fresh visitors. Phase 2.1 (INSERTED after Phase 2) fixes it with server-side geo and hardens the OPS-01 gate to require post-deploy live-traffic evidence. Co-Authored-By: Claude Fable 5.1 <[email protected]>
…n map) Co-Authored-By: Claude Fable 5.1 <[email protected]>
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.
Summary
Resolves all four findings from the Phase 2 code review (
02-REVIEW.md):generateSuggestionsemitted numeric healer overheal/uptime advice for healers withhasHealing: false(zero recorded healing = "no data" everywhere else). Now gated onhasHealing; regression test added. This was a live wrong recommendation on parseforge.gg./api/timeline's "player not found in fight" check used the report-wide actor list. Now usesplayerDetails(fightIDs:), matching/api/analyze.timeline_filter_usedcapture lived inside asetStatefunctional updater and double-fired under Strict Mode. Moved out of the updater.game-data.test.ts(production rule is Classic/TBC-first) and added a test pinning the realENCHANT_NAME_DBcollision behaviour.Also:
02-REVIEW-FIX.mdreport, and a pending todo capturing World of Warcraft Forever support for when WCL exposes Forever logs.Verification
npx tsc --noEmitcleannpx vitest run137/137 (baseline 135; +2 regression tests)npm run linttotal unchanged vsmain(pre-existing debt only)Deploy
Manual Vercel CLI — preview first, prod after owner confirmation.
🤖 Generated with Claude Code