Преглед изворни кода

docs(workhours): 完成应填报工时文档收敛

malk пре 3 недеља
родитељ
комит
e175e235b4

+ 27 - 27
docs/superpowers/plans/2026-07-15-workhours-docs-restructure.md

@@ -38,7 +38,7 @@
 - Move: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时月度计算.md`
 - Move: `/Users/malk/Desktop/Tech/claude/临时/阿科德斯-应报工时修复-2026-07-15.md`
 
-- [ ] **Step 1: 确认两个源文件存在且目标文件不存在**
+- [x] **Step 1: 确认两个源文件存在且目标文件不存在**
 
 Run:
 
@@ -51,7 +51,7 @@ test ! -e '/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时/
 
 Expected: 四条命令退出码均为 0。
 
-- [ ] **Step 2: 创建项目与归档目录**
+- [x] **Step 2: 创建项目与归档目录**
 
 Run:
 
@@ -61,7 +61,7 @@ mkdir -p '/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时/
 
 Expected: 目录存在,不影响阿科德斯其他业务文档。
 
-- [ ] **Step 3: 使用 mv 归档月度计算原稿**
+- [x] **Step 3: 使用 mv 归档月度计算原稿**
 
 Run:
 
@@ -71,7 +71,7 @@ mv '/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时月度计
 
 Expected: 原稿完整保存在归档目录。
 
-- [ ] **Step 4: 使用 mv 归档临时交接原稿**
+- [x] **Step 4: 使用 mv 归档临时交接原稿**
 
 Run:
 
@@ -88,7 +88,7 @@ Expected: 临时目录原路径不存在,归档副本存在。
 - Create: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时/README.md`
 - Create: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时月度计算.md`
 
-- [ ] **Step 1: 创建 README 项目总入口**
+- [x] **Step 1: 创建 README 项目总入口**
 
 Use `apply_patch`。README 必须包含以下确定内容:
 
@@ -124,7 +124,7 @@ Use `apply_patch`。README 必须包含以下确定内容:
 - 未 push;本次重复与离职逻辑尚未部署。
 ```
 
-- [ ] **Step 2: 重建原路径兼容入口**
+- [x] **Step 2: 重建原路径兼容入口**
 
 Use `apply_patch`,内容保持一页内:
 
@@ -150,7 +150,7 @@ Use `apply_patch`,内容保持一页内:
 - Create: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时/01-业务规则与同步流程.md`
 - Source: `归档/2026-07-15-单文件原稿.md`
 
-- [ ] **Step 1: 按程序调用链整理当前业务规则**
+- [x] **Step 1: 按程序调用链整理当前业务规则**
 
 Use `apply_patch`,文档章节固定为:
 
@@ -178,7 +178,7 @@ Use `apply_patch`,文档章节固定为:
 - 外部员工当天无有效 PM 时不生成记录。
 - 重复清理排除离职后记录,无法形成可靠键的记录保留。
 
-- [ ] **Step 2: 对照 Java 源码核验方法名和边界**
+- [x] **Step 2: 对照 Java 源码核验方法名和边界**
 
 Run:
 
@@ -195,11 +195,11 @@ Expected: 文档使用的方法名均能在源码中命中,离职边界为严
 - Create: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时/02-字段接口与程序实现.md`
 - Source: `归档/2026-07-15-单文件原稿.md`
 
-- [ ] **Step 1: 整理表单与字段映射**
+- [x] **Step 1: 整理表单与字段映射**
 
 Use `apply_patch`,只保留当前有效字段:人员、人员属性、员工编号、部门、归属公司、是否 CF、离职日期、在职状态、应填报日期、应填报工时和 Manager。系统令牌只写“通过配置或环境提供”,不得记录值。
 
-- [ ] **Step 2: 按模块整理类与方法职责**
+- [x] **Step 2: 按模块整理类与方法职责**
 
 文档必须覆盖:
 
@@ -210,7 +210,7 @@ Use `apply_patch`,只保留当前有效字段:人员、人员属性、员工
 - `WorkHoursCalcTimer`
 - `ProjectChangeSyncTimer`
 
-- [ ] **Step 3: 整理 HTTP 接口与安全默认值**
+- [x] **Step 3: 整理 HTTP 接口与安全默认值**
 
 接口表至少包含:
 
@@ -226,7 +226,7 @@ Use `apply_patch`,只保留当前有效字段:人员、人员属性、员工
 
 必须注明 `/cleanup-duplicates` 默认 `dryRun=true`,其他删除接口正式执行时必须显式写 `dryRun=false`,文档示例不使用省略参数的危险写法。
 
-- [ ] **Step 4: 整理数据格式与性能实现**
+- [x] **Step 4: 整理数据格式与性能实现**
 
 保留员工字段数组、部门 ID 数组、日期 epoch 毫秒、日期查询区间格式;记录分月扫描、100 条批量删除、10 线程、20 QPS 和重试退避。
 
@@ -237,7 +237,7 @@ Use `apply_patch`,只保留当前有效字段:人员、人员属性、员工
 - Create: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时/03-运维验证与数据治理.md`
 - Source: 两份归档原稿
 
-- [ ] **Step 1: 写本地隔离服务操作流程**
+- [x] **Step 1: 写本地隔离服务操作流程**
 
 必须使用独立端口,明确关闭:
 
@@ -249,7 +249,7 @@ Use `apply_patch`,只保留当前有效字段:人员、人员属性、员工
 
 说明旧定时器未全部受统一开关控制,因此操作完成后立即停止本地服务。
 
-- [ ] **Step 2: 写数据治理安全流程**
+- [x] **Step 2: 写数据治理安全流程**
 
 顺序固定为:
 
@@ -259,7 +259,7 @@ Use `apply_patch`,只保留当前有效字段:人员、人员属性、员工
 4. 显式 `dryRun=false` 正式执行。
 5. 重复、离职后、未来日期三项 dry-run 复查。
 
-- [ ] **Step 3: 写 2026-07-15 实际结果**
+- [x] **Step 3: 写 2026-07-15 实际结果**
 
 记录:
 
@@ -269,7 +269,7 @@ Use `apply_patch`,只保留当前有效字段:人员、人员属性、员工
 - 复查:现存 43,020、唯一键 43,020、三项 `toDelete=0`。
 - 未来日期复查截止 2026-07-15,扫描 6,908。
 
-- [ ] **Step 4: 写测试、打包和部署流程**
+- [x] **Step 4: 写测试、打包和部署流程**
 
 说明 16 项聚焦测试通过、JAR 不含 H2、部署必须备份旧 JAR并重启生产服务;当前状态仍为待部署,不能写成已上线。
 
@@ -280,15 +280,15 @@ Use `apply_patch`,只保留当前有效字段:人员、人员属性、员工
 - Create: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时/04-变更记录.md`
 - Source: 两份归档原稿
 
-- [ ] **Step 1: 迁移功能变更历史**
+- [x] **Step 1: 迁移功能变更历史**
 
 按日期保留 2026-04-08 至 2026-07-15 的重要变更。每行只写变更摘要、验证结果和关联提交,不复制操作步骤。
 
-- [ ] **Step 2: 迁移重要故障修复**
+- [x] **Step 2: 迁移重要故障修复**
 
 只保留仍有诊断价值的问题:日期查询数组格式、部门 ID、组件扫描、分月绕过 30,000、QPS 限流、未来数据、空源值、定时开关、重复和离职后治理。
 
-- [ ] **Step 3: 标明历史与当前状态边界**
+- [x] **Step 3: 标明历史与当前状态边界**
 
 文档顶部写明:“历史记录只用于追溯,当前规则以 `01-业务规则与同步流程.md` 为准,当前操作以 `03-运维验证与数据治理.md` 为准。”
 
@@ -299,7 +299,7 @@ Use `apply_patch`,只保留当前有效字段:人员、人员属性、员工
 - Verify all files under: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时`
 - Verify compatibility index: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时月度计算.md`
 
-- [ ] **Step 1: 检查目录结构和原路径状态**
+- [x] **Step 1: 检查目录结构和原路径状态**
 
 Run:
 
@@ -311,11 +311,11 @@ test ! -e '/Users/malk/Desktop/Tech/claude/临时/阿科德斯-应报工时修
 
 Expected: 2 个归档文件、README、4 个专题文档和兼容入口存在;临时原路径不存在。
 
-- [ ] **Step 2: 检查 Markdown 相对链接目标**
+- [x] **Step 2: 检查 Markdown 相对链接目标**
 
 逐个核对兼容入口和 README 的 9 个链接目标均存在,不使用 `file://` 或失效的临时路径。
 
-- [ ] **Step 3: 检查当前状态与关键业务规则**
+- [x] **Step 3: 检查当前状态与关键业务规则**
 
 Run:
 
@@ -325,7 +325,7 @@ rg -n '离职当天保留|次日起不再写入|dryRun=true|待部署|43020|35|7
 
 Expected: 当前规则、数据结果和待部署状态在对应单一职责文档中存在。
 
-- [ ] **Step 4: 检查敏感信息**
+- [x] **Step 4: 检查敏感信息**
 
 Run:
 
@@ -335,7 +335,7 @@ rg -n -i 'systemToken\s*[:=]\s*[A-Za-z0-9]|access[_-]?token\s*[:=]\s*[A-Za-z0-9]
 
 Expected: 当前维护文档不命中真实凭据;归档原稿不做内容输出,并在 README 中标记为仅限追溯。
 
-- [ ] **Step 5: 检查文件长度与职责边界**
+- [x] **Step 5: 检查文件长度与职责边界**
 
 Run:
 
@@ -352,11 +352,11 @@ Expected: README 和兼容入口简短;四份专题文档不再把全部职责
 - Modify: `docs/superpowers/specs/2026-07-15-workhours-docs-restructure-design.md`
 - Modify: `docs/superpowers/plans/2026-07-15-workhours-docs-restructure.md`
 
-- [ ] **Step 1: 更新设计状态**
+- [x] **Step 1: 更新设计状态**
 
 把设计文档状态改为“文档拆分完成,生产部署仍暂停”,并记录临时原路径已清理、归档目标存在。
 
-- [ ] **Step 2: 勾选实际完成步骤并执行差异检查**
+- [x] **Step 2: 勾选实际完成步骤并执行差异检查**
 
 Run:
 
@@ -367,7 +367,7 @@ git status --short
 
 Expected: 仅设计与计划状态发生仓库内变更,业务代码无变化。
 
-- [ ] **Step 3: 提交仓库内状态更新**
+- [x] **Step 3: 提交仓库内状态更新**
 
 Run:
 

+ 3 - 1
docs/superpowers/specs/2026-07-15-workhours-docs-restructure-design.md

@@ -1,7 +1,7 @@
 # 应填报工时文档重构设计
 
 > 日期:2026-07-15
-> 状态:目录与拆分方案已确认,等待设计文档审核后执行
+> 状态:文档拆分完成,生产部署仍暂停
 
 ## 目标
 
@@ -9,6 +9,8 @@
 
 本次只整理文档,不修改程序代码,不执行部署。
 
+执行结果:两份原稿已移动到项目归档目录,原月度文档路径已重建为兼容入口,临时交接文件原路径已清理。
+
 ## 当前问题
 
 `应填报工时月度计算.md` 已超过 480 行,同时包含: