📋 PRIORITIZATION: Bug fix order for all 9 open issues (#164–#172) #173
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Prioritization Guide for Open Bug Issues
This issue provides the recommended fix order for all 9 bugs/features discovered during codebase investigation.
🔴 P0 — Critical (Fix First)
These bugs completely break core functionality. Players cannot make progress or lose all progress.
persistmiddleware.completeEquipmentCraftingis never called,gearTraitis flavor text,baseDamage/baseCastSpeedare dead data, and crafted gear has zero enchantments. A core game system is non-functional.🟠 P1 — High (Fix Soon)
Major gameplay systems broken or locked for new players.
checkDisciplinePrerequisiteslacks access to player element state.enchant-2,channel-1,golem-2,efficiency-1) promise effects that don't exist. They land in an unusedspecialsset. Players make progression choices based on false information.🟡 P2 — Medium (Fix When Convenient)
Systems work partially or have low impact.
regenMultipliermissing from unified effects pipelinecomputeAllEffects(). Low impact because the base values are also very small.🟢 P3 — Quick Win (Fix Anytime)
Trivial fix, high satisfaction.
loadedstate guard inGrimoireTab.tsx:22._setLoadedis never called, so the component permanently shows the loading message.Root Cause Patterns (Fix Once, Prevent Many)
Several bugs share systemic issues worth addressing holistically:
specialsset indiscipline-effects.ts(#168) — An incomplete system. Perk IDs are collected but nothing processes them. Either wire it up or remove it.Effect pipeline fragmentation (#165, #166) —
computeAllEffects()is missing discipline multipliers. The tick pipeline and display hooks use different code paths with different coverage.Missing parameter passing (#169) —
checkDisciplinePrerequisitesdoesn't receive player state. This pattern of functions lacking context is likely present elsewhere.Dead code masquerading as features (#170, #172) — Functions that are never called, state that's never updated. A code health scan (
desloppify) could catch these.All 7 open issues (#165–#172) have been fixed and pushed to master. Two issues (#164 and #170) were already closed in previous sessions.
Summary of fixes:
All 922 tests pass. No circular dependencies.