wangsli
|
c791e67b20
|
feat(server): MinIO/S3 对象存储兼容(F21)
- 新增 storage 抽象:local 与 s3: 前缀兼容(不改 schema)
- invoice-pool 上传/预览/ocr 读取适配 S3/MinIO
- trialrun compose 增加 minio profile + env 示例与 runbook 指引
- 更新 README 与 v3 CSV 状态推进
|
2026-02-09 20:42:53 +08:00 |
|
wangsli
|
6ecebf8ad6
|
feat(server): /metrics 可观测与日志上下文(F22)
- 新增 Prometheus 指标端点 /metrics(HTTP + DB + 作业统计)
- request.log 绑定 requestId/actorId,避免日志难追踪
- cron/pg-boss 作业增加 metrics 计数(runs/processed)
- 更新 env/runbook/README 与 v3 CSV 状态推进
|
2026-02-09 20:30:41 +08:00 |
|
wangsli
|
dff1aabc26
|
feat(server): 完成 F19~F19d pg-boss 作业系统迁移\n\n- 引入 pg-boss(JOB_DRIVER=pgboss)并保留 cron 回滚\n- OCR/委派回收/超期归档改由 pg-boss schedule + work 执行\n- OCR_PROVIDER=off 自动 unschedule ocr.tick\n- 更新 trialrun env/compose/runbook 与 README,并推进 CSV 状态为 DONE
|
2026-02-09 20:05:01 +08:00 |
|
wangsli
|
8bd068f2a3
|
feat(server): 票据增强闭环(F9/F10/F11/F12/F13/F28)
- /invoice-pool 新增 unbind、PATCH 修正、manual archive、OCR retry、判重例外 override(含 VALID_004/006/007)
- signed-url 签发/下载写入审计日志(脱敏 extra)
- 新增未绑定票据自动归档作业 + 一次性执行脚本
- 回归脚本增强:workflow-actions/dedup/audit/ocr 覆盖上述场景;v3 CSV 状态推进至 DONE
|
2026-02-09 17:09:34 +08:00 |
|
wangsli
|
75d5b3d5de
|
feat(server): readiness 与作业统计可观测性(E11)
- 新增 /ready(DB 探活失败返回 503)
- OCR 作业输出 claimed/available/duplicate/failed 统计
- README 补充 /health 与 /ready 说明
|
2026-02-09 00:02:49 +08:00 |
|
wangsli
|
65e7b37ebd
|
feat(server): 完成 P3 后端API与回归(D2~D9)
- workflow: 任务详情/转审候选/列表分页字段(D5)
- reimbursements: 列表API + pay凭证字段/幂等增强(D7)
- invoice-pool: 列表/详情API + 上传pending_ocr(D9)
- ocr/audit: mock provider + 回归脚本 + regression-all开关(D2/D3)
- CI: 新增 ci-minimal / ci-regression 工作流(D4)
|
2026-02-08 23:08:18 +08:00 |
|
wangsli
|
0cd44a3d6a
|
feat(server): 委派回收并发防重 + 最小门禁闸门
- delegationRevokeJob 改用 FOR UPDATE SKIP LOCKED + UPDATE RETURNING 原子认领
- regression-workflow-actions 新增 RUN_DELEGATION_CONCURRENCY_CHECK 并发校验开关
- README 补充最小门禁与并发语义说明
|
2026-02-08 11:38:58 +08:00 |
|
wangsli
|
c4df9a419a
|
feat(server): 完成 P2 后端能力(支付幂等、委派回收、OCR异步、审计)
|
2026-02-07 21:54:29 +08:00 |
|