文件
hyb-oa/.trellis/tasks/09-19-budget-pool-concurrency/task.json
T
wangsli 2769408b82
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
docs: 同步5个任务的落地状态(候选分支已合并入 origin/main)
commit 字段从 null 更新为合并提交 46a70aa5,notes 补充说明:
本地实现已经落地到主线,不再是仅存在于未提交分支的工作。

核实过任务实际验收标准后,明确维持 status=in_progress、不归档——
真实样本验证/独立复核/生产切换等验收项对这5个任务都仍然开放,
"代码已合并"不等于"验收完成",归档需要业务验收,不能只看自动化通过。

涉及: 09-17-company-loan-principal-repayment,
09-17-erp-exclusive-retirement, 09-18-local-concurrency-product-fixes,
09-18-reimbursement-periodic-numbering, 09-19-budget-pool-concurrency
2026-09-26 09:06:20 +08:00

81 行
3.6 KiB
JSON

{
"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
}
}