From 17a6ff4ee0d6a1764c74b206c6ea7ce6af919c87 Mon Sep 17 00:00:00 2001 From: shunli Date: Sun, 8 Feb 2026 11:39:12 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=96=B0=E5=A2=9E=20P2=20=E7=A8=B3?= =?UTF-8?q?=E5=AE=9A=E5=8C=96=E6=89=A7=E8=A1=8C=E5=90=88=E5=90=8C=E5=BF=AB?= =?UTF-8?q?=E7=85=A7=E5=8F=8A=E6=A0=B9=E7=9B=AE=E5=BD=95=E9=97=A8=E7=A6=81?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=20-=20B1~B4=20=E5=85=A8=E9=83=A8=20DONE?= =?UTF-8?q?=EF=BC=8C=E6=97=A7=E5=BF=AB=E7=85=A7=E4=B8=8D=E5=8F=98=20-=20ch?= =?UTF-8?q?eck-minimal.sh=20=E6=9C=AC=E5=9C=B0=E6=9C=80=E5=B0=8F=E9=97=A8?= =?UTF-8?q?=E7=A6=81=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-02-08_11-02-30-p2-stabilization.csv | 5 +++ scripts/check-minimal.sh | 33 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 issues/2026-02-08_11-02-30-p2-stabilization.csv create mode 100755 scripts/check-minimal.sh diff --git a/issues/2026-02-08_11-02-30-p2-stabilization.csv b/issues/2026-02-08_11-02-30-p2-stabilization.csv new file mode 100644 index 00000000..36cb3b60 --- /dev/null +++ b/issues/2026-02-08_11-02-30-p2-stabilization.csv @@ -0,0 +1,5 @@ +ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes +B1,CSV收口快照,新建迭代快照,修正路径映射并回填真实状态,新增快照CSV通过校验;A1/A2/A3/A3-LOCK/A4/A5映射为真实路径与状态,python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-02-08_11-02-30-p2-stabilization.csv,manual,DONE,DONE,DONE,issues/2026-02-08_11-02-30-p2-stabilization.csv,[],旧快照保持不可变 +B2,委派回收原子并发防重,将过期委派回收改为 FOR UPDATE SKIP LOCKED + UPDATE RETURNING 原子认领,多实例并发回收同一委派仅回收一次,审计日志不重复,cd server && node --check src/jobs/delegationRevokeJob.js && npm run job:revoke-expired-delegations,manual,DONE,DONE,DONE,server/src/jobs/delegationRevokeJob.js | server/src/scripts/revoke-expired-delegations.js | server/README.md,"[""B1""]",审计仅基于 UPDATE RETURNING 结果落库 +B3,委派并发回归增强,在工作流回归脚本中新增委派并发回收可选校验,RUN_DELEGATION_CONCURRENCY_CHECK=1 时并发回收断言通过且不影响默认回归,cd server && RUN_DELEGATION_CONCURRENCY_CHECK=1 ./scripts/regression-workflow-actions.sh,manual,DONE,DONE,DONE,server/scripts/regression-workflow-actions.sh | server/README.md,"[""B2""]",默认关闭并发校验,不阻塞常规回归 +B4,本地最小门禁脚本,新增一键检查脚本并在文档中补充使用方式,scripts/check-minimal.sh 可执行并通过,覆盖后端静态检查与前端类型/构建,cd /home/shunli/Projects/hyb-oa && ./scripts/check-minimal.sh,manual,DONE,DONE,DONE,scripts/check-minimal.sh | server/README.md | client/README.md,"[""B3""]",本轮采用本地脚本先行,不接入远端CI平台 diff --git a/scripts/check-minimal.sh b/scripts/check-minimal.sh new file mode 100755 index 00000000..eb2b4862 --- /dev/null +++ b/scripts/check-minimal.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" + +echo "=== [1/3] Server Prisma Validate ===" +( + cd "$ROOT_DIR/server" + npm run prisma:validate +) + +echo "" +echo "=== [2/3] Server Static Checks ===" +( + cd "$ROOT_DIR/server" + node --check src/routes/reimbursements.js + node --check src/routes/workflow.js + node --check src/routes/delegations.js + node --check src/jobs/delegationRevokeJob.js + bash -n scripts/regression-workflow-actions.sh + bash -n scripts/regression-all.sh +) + +echo "" +echo "=== [3/3] Client Typecheck + Build ===" +( + cd "$ROOT_DIR/client" + npm run typecheck + npm run build +) + +echo "" +echo "[OK] Minimal checks passed"