Files
2026-07-27 16:46:15 +08:00

37 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 历史归档审批自动化审计
## 本轮结论
历史导出归档清理已从“管理员手工预演后立即执行”扩展为受控自动化:系统只负责按策略生成待审批批次,未获得明确审批时不会永久删除任何任务或文件。审批前会重新核对候选范围;若归档内容发生变化,原审批失效并要求再次复核。
整体健康度为“可进入生产联调,仍需真实多实例 canary”。本地状态持久化、进程间互斥、租约过期恢复、有限自动重试和人工恢复入口已经实现并通过自动化测试真实共享盘、两个生产实例竞争以及文件系统写入故障尚未做生产级演练。
## 体验与逻辑调整
- 维护工作区分为“审批自动化”和“手动预演”,避免把自动策略与一次性永久清理混在同一操作面。
- 策略只允许明确的 30/90/180/365 天归档阈值、7/14/30 天复核周期和 24/48/72 小时审批窗口。
- 当前批次直接展示计划清理数、长期保留数、文件数、体积、审批截止时间、重试次数和执行证据。
- 批准、拒绝、失败重试均要求填写原因;长原因使用多行输入,移动端保留单一纵向滚动与固定返回操作。
- 多实例通过 POSIX 文件锁竞争调度权;执行使用带有效期的工作租约,进程异常后可恢复领取。
- 自动失败最多重试三次,之后转为人工恢复,不会无限循环或在无审批时删除。
## 视觉证据
1. `01-approval-workspace-desktop.png`:桌面端策略、审批影响和运行证据。
2. `02-approval-reason-desktop.png`:审批原因与永久删除影响确认。
3. `03-approval-workspace-mobile.png`390 × 844 移动端单列工作区、固定操作与无横向滚动。
## 验证
- API全量 `go test ./...` 通过,覆盖审批门禁、候选范围变化、跨进程文件锁、重启恢复和接口权限。
- Web78 个测试文件、520 项用例全部通过,覆盖自动化接口、审批工作区、原因提交、移动工具状态和手动清理隔离。
- 浏览器:桌面与移动端真实数据联调;只填写审批草稿,没有提交永久删除。
- 构建Web 发布资产门禁、Open Portal、4 个 Go 可执行程序和发布安装器测试通过。
## 无障碍与已知边界
- 工作区使用可识别的页签、开关、标签和按钮;固定底栏保证窄屏主要返回动作可见。
- 已验证键盘可聚焦的原生表单控件和窄屏无横向滚动,但本轮未完成 VoiceOver/读屏器人工走查。
- 文件锁要求所有实例共享同一支持 POSIX `flock` 的目录;对象存储或不支持该语义的文件系统需要替换为数据库/分布式租约。
- 尚未验证真实生产双实例竞争、长时间运行、磁盘写满和网络文件系统抖动。