Commit graph

2 commits

Author SHA1 Message Date
f2709fc425 fix: match ItemModal stagesForType() to backend valid_stages_for() contract
stagesForType() returned OTHER_STAGES (including 'done') for the unset
type case, but backend stages.py::valid_stages_for(None) only allows
['new'] when type is unset. This let the UI offer 'Done' as a stage
option with no type selected, which the backend rejects with 422.

Also add a watch on type that resets stage to 'new' when the current
stage is no longer valid for the newly selected type, preventing a
stale invalid stage from being silently submitted.
2026-07-13 14:25:28 -07:00
13b41cc438 feat(frontend): add triage list, item modal, and theme 2026-07-13 14:21:45 -07:00