classFeatExpansionCanUseFeat excludes ALLCLASSESCANUSE=0 feats from class feat table masterfeat expansion. When such a feat also has no MinLevelClass, no class can ever obtain it — a data bug that previously failed silently (Spell Focus vanishing from the wizard table, Favored Enemy from ranger, proficiencies from commoner).
New validateClassFeatMasterfeatAccessibility warns for exactly that case; exclusions with an explicit MinLevelClass (deliberate class restrictions, e.g. fighter weapon specialization) and ALLCLASSESCANUSE=1 feats stay silent. No keys are hardcoded — everything is derived from the datasets.
Verified: new test + full go test ./internal/topdata/ pass; against live sow-topdata data it flagged 36 real drops (all fixed by the companion sow-topdata PR, after which it reports 0).
`classFeatExpansionCanUseFeat` excludes `ALLCLASSESCANUSE=0` feats from class feat table masterfeat expansion. When such a feat also has no `MinLevelClass`, no class can ever obtain it — a data bug that previously failed silently (Spell Focus vanishing from the wizard table, Favored Enemy from ranger, proficiencies from commoner).
New `validateClassFeatMasterfeatAccessibility` warns for exactly that case; exclusions with an explicit `MinLevelClass` (deliberate class restrictions, e.g. fighter weapon specialization) and `ALLCLASSESCANUSE=1` feats stay silent. No keys are hardcoded — everything is derived from the datasets.
Verified: new test + full `go test ./internal/topdata/` pass; against live sow-topdata data it flagged 36 real drops (all fixed by the companion sow-topdata PR, after which it reports 0).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
classFeatExpansionCanUseFeat excludes ALLCLASSESCANUSE=0 feats from
class feat table masterfeat expansion. When such a feat also has no
MinLevelClass, no class can ever obtain it — a data bug that previously
failed silently (e.g. Spell Focus vanishing from the wizard table).
New validator warns for exactly that case; deliberate exclusions with
an explicit MinLevelClass stay silent.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
xtul
approved these changes 2026-07-06 11:11:46 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
classFeatExpansionCanUseFeatexcludesALLCLASSESCANUSE=0feats from class feat table masterfeat expansion. When such a feat also has noMinLevelClass, no class can ever obtain it — a data bug that previously failed silently (Spell Focus vanishing from the wizard table, Favored Enemy from ranger, proficiencies from commoner).New
validateClassFeatMasterfeatAccessibilitywarns for exactly that case; exclusions with an explicitMinLevelClass(deliberate class restrictions, e.g. fighter weapon specialization) andALLCLASSESCANUSE=1feats stay silent. No keys are hardcoded — everything is derived from the datasets.Verified: new test + full
go test ./internal/topdata/pass; against live sow-topdata data it flagged 36 real drops (all fixed by the companion sow-topdata PR, after which it reports 0).🤖 Generated with Claude Code