Problem
UI decay parsing swallows parse failures with “ignore/keep default” comments, and logic is duplicated.
Evidence
DecayDashboard swallows parse failures with // ignore at DecayDashboard.tsx (line 18). NodeEditor has the same pattern with // keep default at NodeEditor.tsx (line 300).
Scope & constraints
No response
Proposed approach
Create shared helpers:
parseDecayStateOrDefault, getDecayRate, getDecayScore, setDecayRate
Acceptance criteria
- No duplicated JSON parsing across components.
- Failure behavior consistent and explicit.
Test plan
- UI smoke test for dashboard/editor decay controls.
Problem
UI decay parsing swallows parse failures with “ignore/keep default” comments, and logic is duplicated.
Evidence
DecayDashboardswallows parse failures with// ignoreatDecayDashboard.tsx(line 18).NodeEditorhas the same pattern with// keep defaultatNodeEditor.tsx(line 300).Scope & constraints
No response
Proposed approach
Create shared helpers:
parseDecayStateOrDefault,getDecayRate,getDecayScore,setDecayRateAcceptance criteria
Test plan