Summary: Proposal state handling is too coarse for the contract behavior the repo already supports.
Why it matters: Users need to know whether a proposal is still active, already executed, cancelled, expired, or waiting on execution conditions. If every state looks similar, the list view becomes misleading and users can waste time on actions that are no longer valid.
Scope:
- Introduce explicit status labels for all proposal states.
- Keep the status logic aligned with contract fields and deadlines.
- Update any list badges, filters, and detail panels that depend on proposal status.
Acceptance notes:
- Cancelled and expired proposals are visually distinct.
- Executable proposals are easy to spot.
- The same status logic is reused everywhere the proposal appears.
Summary: Proposal state handling is too coarse for the contract behavior the repo already supports.
Why it matters: Users need to know whether a proposal is still active, already executed, cancelled, expired, or waiting on execution conditions. If every state looks similar, the list view becomes misleading and users can waste time on actions that are no longer valid.
Scope:
Acceptance notes: