{ "id": "budget-pool-concurrency", "name": "budget-pool-concurrency", "title": "预算池占用与释放并发一致性修复", "description": "预算并发本地修复及独立审查完成;两项必修经Claude定向928项验证通过并关闭。发布完整门禁延期,任务保留in_progress,未提交部署。", "status": "in_progress", "dev_type": "backend", "scope": "budget-control", "package": null, "priority": "P1", "creator": "shunli", "assignee": "shunli", "createdAt": "2026-09-19", "completedAt": null, "branch": null, "base_branch": "main", "worktree_path": null, "commit": "46a70aa5", "pr_url": null, "subtasks": [], "children": [], "parent": null, "relatedFiles": [ "server/src/services/budgetPool.js", "server/src/services/purchaseBudget.js", "server/src/services/travelPayments.js", "server/src/services/feeControl.js", "server/src/routes/reimbursements.js", "server/src/routes/purchaseRequests.js", "server/src/routes/travelRequests.js", "server/src/routes/travelTransactions.js", "scripts/qa/test-budget-pool-db.cjs" ], "notes": "2026-09-26 更新:本地实现已通过候选分支合并落地到 origin/main(合并提交 46a70aa5),不再是仅存在于未提交分支的工作;但真实样本验证/独立复核/生产切换等验收项仍开放,任务状态维持 in_progress,未视为完成。", "meta": { "planningSource": "user-provided independent review and request to address three related paths together", "implementationApproval": "APPROVED_BY_USER_20260919", "findingId": "BUDGET-LOST-UPDATE-01", "discoveryStatus": "CONFIRMED_STATIC", "discoverySeverity": "P1", "discoveryCommit": "b1d25d3c9939c0020e7b4f75868cd97c35c16ba8", "remediationStatus": "LOCAL_VERIFIED_INDEPENDENT_REVIEWED", "deploymentStatus": "NOT_DEPLOYED", "externalVerificationStatus": "NOT_TESTED", "report": "artifacts/qa-governance/business-followup-claude-review-20260919T023537Z.txt", "reportSha256": "b48e5f53340e139e5a97b5fdcb6d7003881a80a8a08d4004d01aaa6a759d2d0b", "evidence": "artifacts/qa-governance/budget-pool-concurrency-20260919", "coordinatorTask": ".trellis/tasks/09-06-release-gate-integrity", "independentReview": "PASS_SCOPED_BUDGET_PATCH", "deploymentAuthorized": false, "travelReactivationAuthorized": false, "targetedPostgresPassed": 28, "targetedUnitPassed": 526, "fullCandidate": "INTERRUPTED_NOT_PASS", "deploymentEligible": false, "backendFilesPassed": 225, "backendTestsPassed": 4446, "backendOriginalConditionalSkip": 1, "browser": { "passed": 29, "interrupted": 4, "notRun": 339, "retriedCases": 0 }, "releaseFullGate": "DEFERRED_UNTIL_RELEASE_PREPARATION", "reviewReport": "artifacts/qa-governance/budget-pool-claude-review-20260919T043257Z.txt", "reviewFixEvidence": "artifacts/qa-governance/budget-pool-concurrency-20260919/review-fixes-20260919", "reviewFixTests": "CLAUDE_PASSED_2_FILES_928_TESTS_NO_SKIPS", "reviewFixFiles": [ "server/src/routes/travelRequests.js", "server/tests/unit/routes/travel-request.errors.test.js", "server/tests/unit/fixtures/error-reason-messages.json", "server/tests/unit/scripts/error-reason-client.test.js" ], "findingResolution": "RESOLVED_LOCAL_NOT_DEPLOYED", "reviewFixResult": "artifacts/qa-governance/budget-pool-concurrency-20260919/review-fixes-20260919/claude-result-20260919T044304Z.md", "reviewFixResultSha256": "cb7996f6dcacc3ffd44a398b705ed840bf51ed6a0e312336933a25f93813a8f9", "requiredReviewFindingsOpen": 0 } }