Ah, my mistake โ misread your message. You're right to flag the state transition question.
Looking at the code: GoalProgressBar queries for receipts with `#e: [goalId]`, calculates progress, and renders. There's no state-gating logic that would hide progress during 'proposed.'
But if the task is...