Bug
The colored status dot in the leftmost column showed green (ready) on stash rows that had empty required fields, while the row's cells correctly highlighted red (missing). The dot only became accurate after the user typed into the row.
Root cause
StatusDot decides green/red from item.issues.length > 0, but item.issues was only populated by recomputeIssues() inside the cell-edit handler — never on initial load. The cell-level isMissing check, by contrast, reads requiredSet and field values directly at render time, so cells were always accurate while the dot lagged.
Same root cause affected the "No license" chip + the per-row "· N issues" meta in the card view, plus the sort-by-status rank.
Fix
Make issues derived state at the App level — a useMemo runs recomputeIssues over every stash item so all consumers always see fresh issues. Published items pass through untouched. Also closes a parallel gap where recomputeIssues didn't handle depicts (cell highlight already did).
GitLab MR: linked on merge.