v3.9.22
feat(progress+dedup): visible task stages and per-issue dedup - cards and the panel now show the live stage (规划中 / 修复 #N / 执行中 / 等待你的确认) derived from loopx's next action, so the distance to the PR confirmation stays visible - taskIntake skips writing a todo when an open todo for the same issue URL already exists in the target goal (single-issue plan path and batch path), reporting skipped duplicates in the completion feedback