发布与核销解耦原子修复验证

改变分支/字段：
- apps/backend/src/services/worker-platform/admin-work-order-management-service.ts：发布先完成，随后尽力核销；核销失败仅记录 publish_voucher_consume_failed，不改变已发布状态。
- apps/backend/src/repositories/worker-platform/work-order-management-repo.ts：新增 publishUnassignedWorkOrder，使用 status='unassigned' AND assigned_worker_id IS NULL 的原子条件迁移，并在同一事务写 published 事件。
- apps/frontend/src/pages/admin/panels/WorkOrdersPanel.tsx：发布后核销提示。
- apps/frontend/src/components/WorkOrderEventTimeline.tsx：核销失败文案改为“订单已发布，但电子凭证核销未完成”。

四个工件：
- MODIFIED_FILE: /Users/yml/codes/order_site/publish-atomic-artifacts/MODIFIED_FILE
- DIFF_FILE: /Users/yml/codes/order_site/publish-atomic-artifacts/DIFF_FILE.patch
- VERIFICATION.txt: /Users/yml/codes/order_site/publish-atomic-artifacts/VERIFICATION.txt
- ROLLBACK.sh: /Users/yml/codes/order_site/publish-atomic-artifacts/ROLLBACK.sh

原始文件哈希：
- git HEAD work-order-management-repo.ts blob: 40937f3a95998868a217a5c3da78389f6c799224
- 修改副本 sha256: a7e256197ff04b4682a4b2817da30e7344ac0cda66818ecc9fe5711042957a85

BASELINE：
- 命令：cd /Users/yml/codes/order_site/apps/backend && npm test
- 输入：HEAD 基线工作树
- 字面结果：tests 379；pass 377；fail 0；cancelled 0；skipped 2；exit 0
- 状态：通过

MODIFIED：
- 命令：cd /Users/yml/codes/order_site/apps/backend && npm test
- 输入：当前修改工作树
- 字面结果：tests 379；pass 377；fail 0；cancelled 0；skipped 2；exit 0
- 状态：通过

ROLLBACK：
- 命令：cp /Users/yml/codes/order_site/publish-atomic-artifacts/MODIFIED_FILE /tmp/publish-atomic-rollback-test.ts && /Users/yml/codes/order_site/publish-atomic-artifacts/ROLLBACK.sh /tmp/publish-atomic-rollback-test.ts && cmp /tmp/publish-atomic-rollback-test.ts <(git -C /Users/yml/codes/order_site show HEAD:apps/backend/src/repositories/worker-platform/work-order-management-repo.ts)
- 输入：修改副本 /tmp/publish-atomic-rollback-test.ts
- 字面结果：rollback restored HEAD content；cmp exit 0；ROLLBACK.sh exit 0
- 恢复状态：另一份副本恢复为 HEAD 内容，MODIFIED_FILE 保持修改内容。
