比较提交

...
2 次代码提交
作者 SHA1 备注 提交日期
wangsli 2769408b82 docs: 同步5个任务的落地状态(候选分支已合并入 origin/main)
ci-minimal / check-minimal (push) Canceled after 0s
ci-e2e / e2e (push) Canceled after 0s
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
wangsli e92596a2ac docs: 补充 worktree 生命周期约定(治理文档)
记录本次会话的教训:worktree 曾累积到16个、占用两位数GB磁盘,
因为清理被推迟。补充判断"何时该删"的具体方法
(git worktree list + merge-base --is-ancestor),供后续开发/agent参考。
2026-09-26 08:48:46 +08:00
共修改 6 个文件,包含 18 行新增和 10 行删除
@@ -72,6 +72,14 @@ tasks after TRELLIS2.
Do not treat that inferred task as new execution approval. Activate
the next approved task explicitly when work actually resumes. Commit, push,
archive and production operations retain their separate approval boundaries.
- Worktrees are for genuine isolation (risky merges, DB-touching regression
runs, parallel tasks across sessions/agents), not a default habit. Once the
isolated work is merged or its branch's HEAD is an ancestor of the target
branch, remove the worktree (`git worktree remove`) instead of leaving it
"for later" — this project has previously accumulated over a dozen stale
worktrees consuming double-digit GB of disk because cleanup was deferred.
A quick `git worktree list` + `git merge-base --is-ancestor <head> main`
check identifies safe-to-remove ones during any disk or repo-hygiene pass.
## Risk-Scoped Execution
@@ -15,12 +15,12 @@
"branch": null,
"base_branch": "main",
"worktree_path": null,
"commit": null,
"commit": "46a70aa5",
"pr_url": null,
"subtasks": [],
"children": [],
"parent": null,
"relatedFiles": [],
"notes": "2026-09-17 T1–T4本地实施完成:72迁移、9组PG约束/并发、16组正式认证HTTP和3组桌面手机权限浏览器通过;212定向unit及ERP退出后付款128回归通过,最终前端typecheck/build与Prisma通过。AC5真实样本/AC8独立复核、恢复事实与发布门禁仍开放;未提交推送部署。",
"notes": "2026-09-17 T1–T4本地实施完成:72迁移、9组PG约束/并发、16组正式认证HTTP和3组桌面手机权限浏览器通过;212定向unit及ERP退出后付款128回归通过,最终前端typecheck/build与Prisma通过。AC5真实样本/AC8独立复核、恢复事实与发布门禁仍开放;未提交推送部署。 2026-09-26 更新:本地实现已通过候选分支合并落地到 origin/main(合并提交 46a70aa5),不再是仅存在于未提交分支的工作;但真实样本验证/独立复核/生产切换等验收项仍开放,任务状态维持 in_progress,未视为完成。",
"meta": {}
}
@@ -15,12 +15,12 @@
"branch": null,
"base_branch": "main",
"worktree_path": null,
"commit": null,
"commit": "46a70aa5",
"pr_url": null,
"subtasks": [],
"children": [],
"parent": null,
"relatedFiles": [],
"notes": "2026-09-17 本地退役实现完成:6个ERP service、1个job、14个专属测试删除,共享通知/企微/outbox与历史数据保留;新enqueue/dispatch及历史retry拒绝,旧pending不重放。受影响回归、typecheck/build、模块图与strict原因码通过,17条ERP旧债退出后legacy=0。独立复核PENDING,未部署。",
"notes": "2026-09-17 本地退役实现完成:6个ERP service、1个job、14个专属测试删除,共享通知/企微/outbox与历史数据保留;新enqueue/dispatch及历史retry拒绝,旧pending不重放。受影响回归、typecheck/build、模块图与strict原因码通过,17条ERP旧债退出后legacy=0。独立复核PENDING,未部署。 2026-09-26 更新:本地实现已通过候选分支合并落地到 origin/main(合并提交 46a70aa5),不再是仅存在于未提交分支的工作;但真实样本验证/独立复核/生产切换等验收项仍开放,任务状态维持 in_progress,未视为完成。",
"meta": {}
}
@@ -15,7 +15,7 @@
"branch": null,
"base_branch": "main",
"worktree_path": null,
"commit": null,
"commit": "46a70aa5",
"pr_url": null,
"subtasks": [],
"children": [],
@@ -28,7 +28,7 @@
"server/tests/unit/routes/purchase-request.errors.test.js",
"client/tests/e2e/pwa-cross-version-upgrade.spec.ts"
],
"notes": "2026-09-19 g20-full-r6:4437后端通过/1原跳过,372本地浏览器全过;PARTIAL仅dirty_candidate,独立PENDING/无部署,旧registry保护例外保留且无新增漂移。当前余额见implement顶部。\n2026-09-18本地验证完成,失败/诊断/修后回执与候选在local-coverage-g18-20260918。主会话自检不代替独立PENDING;无预算/并发/权限/审计弱化,未发布。\n",
"notes": "2026-09-19 g20-full-r6:4437后端通过/1原跳过,372本地浏览器全过;PARTIAL仅dirty_candidate,独立PENDING/无部署,旧registry保护例外保留且无新增漂移。当前余额见implement顶部。\n2026-09-18本地验证完成,失败/诊断/修后回执与候选在local-coverage-g18-20260918。主会话自检不代替独立PENDING;无预算/并发/权限/审计弱化,未发布。\n 2026-09-26 更新:本地实现已通过候选分支合并落地到 origin/main(合并提交 46a70aa5),不再是仅存在于未提交分支的工作;但真实样本验证/独立复核/生产切换等验收项仍开放,任务状态维持 in_progress,未视为完成。",
"meta": {
"localImplementation": "VERIFIED",
"independentReview": "PARTIAL_WITH_LEGACY_BUDGET_FINDING",
@@ -15,13 +15,13 @@
"branch": null,
"base_branch": "main",
"worktree_path": null,
"commit": null,
"commit": "46a70aa5",
"pr_url": null,
"subtasks": [],
"children": [],
"parent": null,
"relatedFiles": [],
"notes": "2026-09-19 g20-full-r6:4437后端通过/1原跳过,372本地浏览器全过;PARTIAL仅dirty_candidate,独立PENDING/无部署,旧registry保护例外保留且无新增漂移。当前余额见implement顶部。\n本地编号实现与验证完成:完整后端4412通过/1原跳过;之后策略边界补验456/456及隔离PG通过。默认不启用,旧号保留;N5/G20浏览器、独立review及生产切换待办。未提交部署。",
"notes": "2026-09-19 g20-full-r6:4437后端通过/1原跳过,372本地浏览器全过;PARTIAL仅dirty_candidate,独立PENDING/无部署,旧registry保护例外保留且无新增漂移。当前余额见implement顶部。\n本地编号实现与验证完成:完整后端4412通过/1原跳过;之后策略边界补验456/456及隔离PG通过。默认不启用,旧号保留;N5/G20浏览器、独立review及生产切换待办。未提交部署。 2026-09-26 更新:本地实现已通过候选分支合并落地到 origin/main(合并提交 46a70aa5),不再是仅存在于未提交分支的工作;但真实样本验证/独立复核/生产切换等验收项仍开放,任务状态维持 in_progress,未视为完成。",
"meta": {
"latestLocalCandidate": {
"run": "g20-full-r6",
@@ -15,7 +15,7 @@
"branch": null,
"base_branch": "main",
"worktree_path": null,
"commit": null,
"commit": "46a70aa5",
"pr_url": null,
"subtasks": [],
"children": [],
@@ -31,7 +31,7 @@
"server/src/routes/travelTransactions.js",
"scripts/qa/test-budget-pool-db.cjs"
],
"notes": "",
"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",