## 背景 用户指令:「先将 codex 的任务一并改为 workbuddy 的任务」。 Codex 已不再运行,当前由 WorkBuddy 承担开发执行,文档署名需同步。 ## 判定规则(用大小写精确区分) | 类别 | 写法 | 处置 | |---|---|---| | 工具署名 | 大写 Codex | → WorkBuddy | | 分支名 | codex/ui-v11-fidelity | → workbuddy-ui-v11-fidelity(去斜杠,规避本仓库 ref 清理) | | 已删除文件的历史路径 | 小写 2026-09-11-codex-baseline-cleanup* | 保持原样(记录真实曾存在的文件名,改了即失真) | 结果:26 个文件、126 处署名替换。残留小写 codex 仅 8 处,全部是历史路径。 ## 文件重命名(git mv,保留历史) - Codex开发执行总指令、项目规则与任务拆解.md → WorkBuddy 同名 - Codex首轮启动提示词 + Phase 01~Phase 26 Jira级任务清单 + 每阶段验收条件.md → WorkBuddy 同名 - docs/善缘丹阳 V1.1 Codex 开发执行计划修订版.md → docs/善缘丹阳 V1.1 WorkBuddy 开发执行计划修订版.md - docs/善缘丹阳 V1.1 Codex-Jira 最终开发任务增量清单.md → docs/善缘丹阳 V1.1 WorkBuddy-Jira 最终开发任务增量清单.md - docs/善缘丹阳 V1.1 Codex最终主启动提示词(整合版).md → docs/善缘丹阳 V1.1 WorkBuddy最终主启动提示词(整合版).md 引用已同步:AGENTS.md 6 处、AGENTS_SUMMARY.md、以及 4 份计划/规格文档。 ## AGENTS.md 两处特别处理 - 「git config user.name = Codex」一句改为不点名工具的表述 - 「feature/ fix/ codex/ ui/ 前缀」示例去掉 codex/ ## 有意未改动 - ui-tests/ui-document-baseline-contracts.mjs 的废弃清单仍列 codex-baseline-cleanup* 那是「必须不存在」的断言目标,改了会让哨兵失去意义 - 仓库 git config user.name 仍是 Codex —— 未擅自改动环境身份。 如需彻底交接:git config user.name WorkBuddy && git config user.email workbuddy@local 验证:UI 契约门禁 13/13;AGENTS.md 零 Codex 残留;5 个新文件名与全部引用一致
2.4 KiB
2.4 KiB
Phase 04 V1.1 恢复复验 Completion Report
日期:2026-09-12
分支:workbuddy-ui-v11-fidelity
结论
Phase 04 COMPLETE / 项目整体继续 NO-GO。
Profile、Preference 保持现有兼容行为;本地资格声明、状态、补证、提交及 /me/status 已重新核验。Phase 05 及以后未获准开始。
本阶段修复
- 将 U62/U63 从空白 JavaScript 脚手架恢复为真实 API 链路。
- U62 查询当前用户本地资格状态,覆盖未声明、已声明、待补证、审核中、已核验、未通过。
- U63 完成本地资格声明、私有材料上传、佐证登记和提交审核。
- 修正佐证实体
fileId与数据库file_key的 MyBatis 映射。 - 后端执行佐证上传开关、数量上限、类型白名单和文件归属校验。
- 增加佐证保留期配置,默认 365 天;实际清理由运维任务按配置执行。
- 图片大小上限和允许类型由 FeatureFlag 配置控制。
权限与数据边界
- 用户端 Controller 的 userId 仅取自
UserPrincipal,不接受请求体 userId。 - 佐证文件经认证接口上传到私有存储。
- 登记佐证前校验文件属于当前用户;其他用户文件被拒绝。
- 本地资格使用独立的
user_local_eligibilities、local_eligibility_evidences表,不写入user_identities。
自动化与运行验证
| 检查 | 结果 |
|---|---|
LocalEligibilityServiceTest |
3/3 通过,0 failure,0 error;BUILD SUCCESS |
phase04-local-eligibility-contracts.mjs |
通过 |
| Backend Docker build | 通过 |
| Flyway | 33 个迁移校验通过,Schema 版本 033 |
| PostgreSQL / Redis / MinIO / Backend | 全部 healthy |
/api/v1/health/live |
UP |
门禁核对
- 本地资格与实名认证表独立。
- 非本人不能将他人私有文件登记为佐证。
- 数量、大小、类型和保留期限配置化。
- U62/U63 使用真实接口而非占位提示。
/me/status返回本地资格状态。
已知限制
- 小程序仍同时保留
.ts与运行时.js;统一 TypeScript 唯一源属于 Phase 07 门禁。 - 佐证到期清理调度任务尚未实现,本阶段只完成保留期配置;生产启用前需在 Phase 22 运维阶段核验清理作业。
- 微信开发者工具真机/模拟器视觉验收仍属于后续 UI/UAT 门禁。
下一阶段
Phase 05:统一审核扩展。进入前须由用户明确确认;不得自动进入。