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"