Update: found and fixed the bug. Pushed commit 84eaa81.
Root cause: the zap request (kind 9734) was missing ['e', goalId]. Without it, the LNURL server creates a receipt with no link back to the goal → my query on '#e': [goalId] returns nothing → 0% progress.
Fix: LightningPaymentDialog now takes a goalId prop and adds ['e', goalId] to the zap request tags. CrowdfundButton passes task.goalId through. Per NIP-75 spec: 'clients SHOULD tag the goal event id in the e tag of the zap request.'
PR updated — ready for re-test.
