mjava-ai 待办看板
更新:2026-04-18
范围:跨 change 的待办池 + 每 change 内部进度汇总
用途:按优先级顺序执行;完成一项立即更新对应 tasks.md 和本文件
执行阶段
| 阶段 |
内容 |
当前状态 |
| A |
开发规范 + 待办清单(文档层) |
进行中 |
| B.1 |
代码优化:补全 mjava 模块 API 能力 |
待启动 |
| B.2 |
代码优化:待办功能添加(非 pro/com 的基座增强) |
待启动 |
| C |
mjava-pro / mjava-com 两个专项子模块开发 |
待 B 完成后启动 |
阶段 A 待办
| ID |
任务 |
状态 |
| A1 |
开发规范 11 章(mjava-baseline.md)写到 §3.5 审计、§3.4 Client/Service 分层 |
✅ 完成 |
| A2 |
yida-serverside.md 从原 CLAUDE.md 拆出 |
✅ 完成 |
| A3 |
后端/CLAUDE.md 改为总索引 |
✅ 完成 |
| A4 |
上层 claude/CLAUDE.md 同步索引 |
✅ 完成 |
| A5 |
server 目录分层 cur/pre |
✅ 完成 |
| A6 |
mjava-ai 仓库 git init + 首次 commit + push |
✅ 完成 |
| A7 |
敏感文件 .gitignore 防护 + .example 模板 |
✅ 完成 |
| A8 |
mjava-pro / mjava-com 专项提案四件套 |
✅ 完成 |
| A9 |
init-project-baseline tasks 5.1-5.3 验证 |
✅ 完成 |
| A10 |
归档 extract-dingtalk-standard-api |
✅ 完成,changes/archive/2026-04-18-extract-dingtalk-standard-api/ |
| A11 |
brew install maven 后补做 init-baseline 任务 5.4(编译冒烟) |
⏳ 阻塞在本机未装 Maven |
| A12 |
/Users/malk/Desktop/Tech/claude/ git init(规范文档版本化) |
✅ 完成(白名单策略,只收规范 md) |
| A13 |
扩展 mjava-baseline.md §3.4 — Client API 对齐详细规则(§3.4.1-§3.4.5) |
✅ 完成 |
阶段 B.1 — 补全 mjava 模块 API 能力
按用户优先级指令(2026-04-18):先宜搭,后钉钉通讯录,其余 vendor 暂不做。改造行为由 /opsx:apply 触发,本阶段先完成规则定义。
| ID |
任务 |
归属 change |
状态 |
| B1.1 |
宜搭表单 + 流程 API 对齐规则与覆盖度矩阵 |
changes/extend-yida-api-coverage/ |
✅ 规则就绪(proposal/design/spec/tasks 四件套 valid) |
| B1.2 |
钉钉通讯录 API 对齐规则与覆盖度矩阵 |
changes/extend-dingtalk-contacts-api/ |
✅ 规则就绪 |
| B1.3 |
钉钉其余模块(考勤/审批/消息/群聊/...) |
未立项 |
⏸ 暂缓,待用户指令 |
| B1.4 |
其他 vendor(北森/teambition/fxiaoke/h3yun/vika/xbongbong/feishu/ekuaibao) |
未立项 |
⏸ 低优先级,按需补 |
| B1.5 |
实施:宜搭原子 Client 落地(/opsx:apply extend-yida-api-coverage) |
— |
⏳ 待用户触发 |
| B1.6 |
实施:钉钉通讯录原子 Client 落地(/opsx:apply extend-dingtalk-contacts-api) |
— |
⏳ 待用户触发 |
阶段 B.2 — 待办功能添加(基座增强)
不依赖 pro/com 专项的基座功能增强,都先做在 mjava/ 基座里,让三个现存客户模块可立刻受益。
| ID |
任务 |
归属 change |
备注 |
| B2.1 |
UtilHttp 内部落实 §3.5 审计日志(请求/响应脱敏 + latency + success) |
待立项 |
脱敏规则:token/appSecret/password/aesKey/privateKey → *** |
| B2.2 |
UtilToken 支持 namespace 参数(为 mjava-pro 租户隔离铺路) |
待立项 |
API:put(namespace, key, value, ttl) |
| B2.3 |
CallerRateLimiter 抽象(通用限流组件) |
待立项 |
Guava RateLimiter 封装 |
| B2.4 |
完成 add-observability-foundation tasks 4.2 / 5.2(生产冒烟) |
observability |
需 Maven |
| B2.5 |
把 Client 方法兼容全参数的代码审查清单(checklist)沉淀进 /opsx:propose 的模板 |
未定,文档侧 |
避免将来 PR 漏传字段 |
| B2.6 |
请求监听的 trace 输出示例 |
文档 |
baseline §3.5 / §8 |
| B2.7 |
基座请求鉴权 + 防重放(HMAC-SHA256 + 时间窗 + Nonce) |
changes/add-request-auth-replay-guard/ |
✅ 规则就绪,0/33 任务;mjava-com 的前置依赖 |
阶段 C — 专项子模块开发(最后启动)
| 专项 |
tasks.md 进度 |
add-mjava-pro/ |
0 / 30 |
add-mjava-com/ |
0 / 30 |
按 tasks.md 依序走 /opsx:apply。
进度总览(累计)
✅ 已完成:~20 项(初始化 + 规范 + 归档准备 + 验证)
⏳ 阻塞:Maven 未装(4 处冒烟)
🔨 实施中:extend-yida-api-coverage 代码已落(26 方法),未编译验证
📋 代办:~60 项
实施中风险记录
extend-yida-api-coverage(2026-04-18 实施)
- 官方文档 fetch 失败:WebFetch 拿到的是索引页,URL 路径基于训练知识 + 旧
YDClientImpl 已验证 endpoint 推断。以下路径未经人工官方文档对照,冒烟前需复核:
/processes/tasks/{agree|disagree|redirect|cc|comment}
/processes/instances/{terminate|revoke|redirect}
/processes/operationRecords(listApprovalRecords 推断)
- 编译未验证:本机无 Maven,Java 代码未
mvn compile。潜在风险:
x-acs-dingtalk-access-token header key 是否与 ddClient.initTokenHeader() 返回一致未验证
DDR_New.getResult() 返回 Object,各处 cast 未实地测试
UtilHttp.doPut/doDelete 的 4 参重载确认
- Boolean 返回判定:宜搭多数写操作返回
true/false,实现用 Boolean.TRUE.equals(r.getResult()) 判定,但部分 endpoint 实际返回 Map 或数字时可能错判;实施冒烟时需抽样确认。
- listFormIds URL + body 都传 appType/formUuid,沿用旧实现逻辑,可能冗余但不影响正确性。
- YDService 迁移:本阶段不切换 YDService 内部调用到新原子方法(tasks 5.x 标为"可选不做"),等编译通过后再决定。