 wangsli和Claude Sonnet 5
|
b2f4b42ded
|
fix: 清理自动合并时残留的4条重复错误码 [09-05-error-explainability-payment-readiness]
合并时 errorReasons.js/errorReasons.ts 未被判定为冲突,git 自动把
主线首批4个条目和候选分支的完整版本拼在了一起,导致同一语义有两套
命名(如 ap_operations.feature_disabled 与 ap_operations.disabled
并存)。删除主线这4条已被取代的旧条目,保留候选分支的完整版本。
check-error-reason-contract.mjs 主检查+self-test 均恢复 PASS。
Co-Authored-By: Claude Sonnet 5 <[email protected]>
|
2026-09-26 08:00:55 +08:00 |
|
wangsli
|
46a70aa552
|
merge: 合入候选分支(09-17借款/ERP退役、09-18编号、09-19预算并发、完整10-05错误码迁移,均经确认)
# Conflicts:
# .agents/skills/trellis-before-dev/SKILL.md
# .agents/skills/trellis-brainstorm/SKILL.md
# .agents/skills/trellis-continue/SKILL.md
# .agents/skills/trellis-start/SKILL.md
# .trellis/tasks/08-23-isolated-backup-restore-drill/design.md
# .trellis/tasks/08-23-isolated-backup-restore-drill/prd.md
# .trellis/tasks/09-05-error-explainability-payment-readiness/prd.md
# .trellis/tasks/09-05-error-explainability-payment-readiness/task.json
# .trellis/tasks/09-09-existing-deploy-seed-separation/implement.md
# .trellis/tasks/archive/2026-09/09-05-trellis-upgrade-rule-cleanup/task.json
# .trellis/workflow.md
# scripts/qa/error-reason-legacy-baseline.json
# server/src/routes/apOperations.js
# server/src/routes/portal.js
# server/src/routes/todos.js
# server/tests/unit/fixtures/error-reason-messages.json
# server/tests/unit/routes/apOperations.permissions.test.js
|
2026-09-26 07:54:10 +08:00 |
|
 wangsli和Claude Sonnet 5
|
cd01e4bf28
|
迁移首批4个错误码:AP台账/查询、待办、工作台功能开关 [09-05-error-explainability-payment-readiness]
10-05 到期例外清单里已设计好的首批 4 个具体调用,现予落码(原方案见
implement.md §14「首批具体分支与验证要求」):
- ap_operations.feature_disabled(409):AP 台账/明细查询功能关闭
- ap_operations.query_invalid(400):AP 台账查询参数校验失败
- todo.feature_disabled(409):待办功能关闭
- portal.feature_disabled(409):工作台首页功能关闭
四处均改为调用 buildBusinessValidationError(reasonCode, details, statusCode),
保留原 HTTP 状态码、featureFlag/reason 等既有 details 字段不变,仅新增精确
reasonCode;不改功能开关判断逻辑、不改权限校验顺序。
- server/src/constants/errorReasons.js + client/src/api/errorReasons.ts:
注册 4 条原因码及中文文案,服务端/客户端逐字一致。
- scripts/qa/error-reason-legacy-baseline.json:移除这 4 条已迁移的旧例外
记录(591 → 587),check-error-reason-contract.mjs 主检查与 self-test
均 PASS,无 new_legacy/stale_exception/unregistered_reason。
- apOperations.permissions.test.js:扩展"功能关闭"断言校验 reasonCode 与
原 details 字段共存;新增"查询参数非法(功能开启)"400 用例,断言零
台账业务查询;新增"合法查询仍 200"用例。
- portal.test.js:新增工作台关闭时 409+reasonCode+零业务查询断言(此前
完全没有覆盖这条路径)。
- todos.test.js:新建(此前 todos 路由零测试覆盖),聚焦 ensureFeatureEnabled
网关:关闭时 GET/POST 均 409+reasonCode+零 todoItem 查询;开启时正常放行。
验证:server 5 个相关测试文件 286/286 通过;client typecheck/build 通过;
check-ui-design-rules.mjs --strict、check-trellis-governance.mjs、
git diff --check 通过。routes/ 全量回归 872/874(2 个失败为 paymentBatches
BIFF8 导出的既有环境问题,已用 git stash 验证在改动前的 HEAD 上同样失败,
与本次改动无关,不在本次范围内处理)。
剩余 669 条例外记录不变,尚未处理;B/C 两档 57 文件仍需逐模块确认迁移或
提出延期理由,本次不扩大范围。
Co-Authored-By: Claude Sonnet 5 <[email protected]>
|
2026-09-25 21:16:55 +08:00 |
|
wangsli
|
1f8d5b658a
|
完善借款、编号、付款与预算并发及验收(09-06-release-gate-integrity)
汇总已落盘的借款本金与还款、兼容历史编号的周期化编号、付款责任与回单核验、报销进度和排序、PWA/采购事务、错误原因与日期校验及ERP退役。
统一共享预算池锁序和锁后判断,恢复差旅原预算选择,补原因码固定夹具及反向完整性检查。
纳入配套迁移、测试、受管QA、分层验收合同、规约及任务记录;原始证据留在ignored artifacts。
关联任务:09-17-company-loan-principal-repayment、09-17-erp-exclusive-retirement、09-18-reimbursement-periodic-numbering、09-08-reimbursement-payment-closeout、09-18-local-concurrency-product-fixes、09-19-budget-pool-concurrency、09-05-error-explainability-payment-readiness。
预算补审由Claude定向验证2文件928项通过,原4446/28及r6结果仍仅对应各自历史输入;本轮未重跑测试。
完整新候选门禁、R1真实入口接入与12项公网义务仍开放。生产编号未启用、差旅仍冻结;不推送、不部署,不宣称发布资格。
|
2026-09-19 13:11:04 +08:00 |
|
wangsli
|
3516d7ec04
|
fix: 完善动态错误指引与发票日期校验(09-05-error-explainability-payment-readiness)
|
2026-09-16 12:56:27 +08:00 |
|
wangsli
|
8d08d46d16
|
fix: 增加回单核对与付款登记门禁(09-08-reimbursement-payment-closeout)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
|
2026-09-15 07:21:55 +08:00 |
|
wangsli
|
229867f5fd
|
fix: 财务本人报销由总经理独立审批(09-04-reimbursement-state-gap-finance-view)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
|
2026-09-12 20:03:29 +08:00 |
|
wangsli
|
e5685f18b2
|
feat: 选票自动生成报销明细并支持集中分类(08-29-reimbursement-expense-policy-invoice-guard)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
|
2026-09-09 23:19:02 +08:00 |
|
wangsli
|
e8cad812ad
|
fix: 取消CEO默认AP台账权限(09-07-manager-ap-access-scope)
|
2026-09-09 09:05:17 +08:00 |
|
wangsli
|
58dcee08f7
|
fix: 用专用权限收窄经理 AP 访问(09-07-manager-ap-access-scope)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
|
2026-09-08 07:21:37 +08:00 |
|
wangsli
|
a837912638
|
feat: 完成错误原因合同与付款就绪提示(09-05-error-explainability-payment-readiness)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
|
2026-09-05 19:00:35 +08:00 |
|
wangsli
|
2e69fe4edb
|
补齐审批退回结果通知 [09-04-approval-return-notification-gap]
|
2026-09-04 16:22:27 +08:00 |
|
wangsli
|
5261d2849b
|
实现企业银行账户与建行制单(corporate-bank-account-payment-order)
|
2026-08-02 23:36:40 +08:00 |
|
wangsli
|
5d274af8d4
|
统一付款详情与批次短编号(08-01-reimbursement-notification-progress-clarity)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
|
2026-08-02 09:02:40 +08:00 |
|
wangsli
|
aa6b9bc373
|
完善报销通知与付款进度(08-01-reimbursement-notification-progress-clarity)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
|
2026-08-01 21:06:31 +08:00 |
|
wangsli
|
5d0a5f9a38
|
完成五人团队正式内用最小收口(07-18-small-team-internal-readiness)
|
2026-07-18 15:46:14 +08:00 |
|
wangsli
|
65513a5291
|
OAPERM1 收紧启用前权限冻结
|
2026-05-24 00:57:11 +08:00 |
|
wangsli
|
916cc3b7f7
|
ATTV1 实现考勤统一入口与企微同步
|
2026-05-17 16:56:24 +08:00 |
|
wangsli
|
72e38db4e5
|
AP6 增加审批催办与效率摘要
|
2026-05-12 10:41:47 +08:00 |
|
wangsli
|
a5eac04a06
|
R71-A2 对齐经理团队日历权限并补回归
|
2026-04-28 19:24:42 +08:00 |
|
wangsli
|
18af4aedc4
|
R36-0 固化产品口径并清理重复权限
|
2026-03-25 15:32:22 +08:00 |
|
wangsli
|
215e3967bc
|
R18-1/R18-3: 接入企业微信入口绑定与免登回退
|
2026-03-22 08:33:53 +08:00 |
|
wangsli
|
e39e41287e
|
feat(P25-1/P25-5/P26-1/P26-3/P24-1/P29-4): 落地内部OA够用版后端与试运行能力
关联 Issue: P25-1, P25-2, P25-3, P25-4, P25-5, P26-1, P26-3, P24-1, P24-2, P29-1, P29-2, P29-3, P29-4
|
2026-03-21 18:03:20 +08:00 |
|
wangsli
|
dc74d9e53f
|
feat(P20T2-1,P20T2-2,P20T2-3): 卡授权/交易/支付标记/发票绑定/ERP出站后端
|
2026-03-11 06:41:11 +08:00 |
|
wangsli
|
7b78945112
|
feat(P20T1-1,P20T1-2,P20T1-3): 差旅模型、申请/订单接口与工作流分支
|
2026-03-10 19:58:46 +08:00 |
|
wangsli
|
6f534e9a3c
|
feat(P19AI1-1,P19AI1-2): 实现AI建议引擎与权限门禁后端
|
2026-03-10 14:20:59 +08:00 |
|
wangsli
|
f6d9f23553
|
feat(P19IM1-1,P19IM1-2): 新增通知渠道配置与Outbox派发
|
2026-03-08 13:14:04 +08:00 |
|
wangsli
|
2a34e7832a
|
feat(P18A-1,P18A-2): 新增资产模型权限与默认分类
|
2026-03-07 22:33:02 +08:00 |
|
wangsli
|
1cd4290b4d
|
feat(P17A-1,P17A-2): 新增采购模型权限与系统种子
|
2026-03-07 20:59:28 +08:00 |
|
wangsli
|
52558f22c3
|
feat(G2-1,G2-2,G2-3): 扩展预算编号与工作流跨域桥接
|
2026-03-07 18:59:44 +08:00 |
|
wangsli
|
195f46a2e3
|
feat(G1,P16A,P16B): 收口主数据核心与节假日日历增强
|
2026-03-07 17:29:03 +08:00 |
|
wangsli
|
03c5a78485
|
feat(P15A-1,P15A-5): 解耦请假审批权限
|
2026-03-07 07:15:33 +08:00 |
|
wangsli
|
6bc09f557b
|
feat: 完成P6-P8后端能力与P9路由重构(V1-V2,D1,D3,B1-B2,B4,I1-I4,P9A2-P9A3)
|
2026-02-10 11:28:28 +08:00 |
|
wangsli
|
1855a82011
|
feat(server): 敏感字段加密与脱敏(F25)
- 新增敏感字段加密服务(AES-256-GCM,FIELD_ENCRYPTION_KEY)
- users 详情返回银行卡/身份证脱敏字段;新增 /users/:id/sensitive 特权明文接口并写审计
- 权限新增 system.users_sensitive(hr/admin)
- 更新 env/README 与 v3 CSV 状态推进
|
2026-02-09 20:51:34 +08:00 |
|
wangsli
|
f755ff0dda
|
feat(server): P5 基础能力补齐(组织/报销/代办/认证安全)
- 组织/人员/委派对齐:费用类型、部门、员工别名、配置只读与回归脚本(F2/F3/F26/F27/F29/F31/F40)
- 报销单 PATCH/DELETE 与 items CRUD(事务内重算 total_amount)(F4/F5)
- 行政代提交/代上传后端校验与审计(F7/F8)
- 认证安全基线:首次登录改密、失败锁定、弱密码拦截与回归脚本(F36/F37/F39/F41)
|
2026-02-09 16:20:31 +08:00 |
|
wangsli
|
c4df9a419a
|
feat(server): 完成 P2 后端能力(支付幂等、委派回收、OCR异步、审计)
|
2026-02-07 21:54:29 +08:00 |
|
wangsli
|
f527633716
|
feat(server): 完成 P0+P1 后端能力(工作流、RBAC、付款归档)
P0 MVP:
- 认证:login/refresh/logout/forgot/reset + tokenVersion
- RBAC:角色到权限映射 + requirePermission
- 发票池:upload/bind/signed-url + 判重(VALID_003/VALID_005)
- 报销:create/view/submit + 单号生成
- 工作流:approve + department_manager 解析
P1 扩展:
- 动作:reject/return/withdraw(含 comment)
- transfer:任务转审 + 链路上限 3
- pay:approved -> paid + 发票归档 used_complete
- 动态审批链:approval_rules 驱动
回归脚本:
- smoke-test.sh / regression-dedup.sh / regression-workflow-actions.sh
|
2026-02-07 16:43:31 +08:00 |
|