背景
在 v0.5.6 的真实 ClawVault 验收中,手动同步返回:新增 0、更新 0、取消 0、跳过 103、失败 2。自动完成主链路不受影响:账本中 21 个已结束 active 日程的本地镜像已全部变为 done。
当前 lastResult 只记录 errors: 2,lastError 也只有通用提示,无法区分是分段 REPORT 读取失败、iCalendar 解析失败还是本地写入失败,也无法定位应重试的脱敏对象。
影响
- 用户只能看到“2 项失败”,不能判断是否遗漏日程;
- 开发者无法在不接触凭据和原始日程正文的情况下复现;
- 当前同步会继续重试,但缺少可观测性。
建议范围
- 在同步结果中分别统计
readErrors、parseErrors、writeErrors;
- 仅保存脱敏诊断信息,例如错误类别和
href 哈希,不保存 CalDAV URL、账号、密码或原始 iCalendar;
- 保持单项失败不阻断其他合法日程;
- 在 Obsidian 设置中提供简短、可操作的错误摘要;
- 增加对应单元/集成测试。
验收标准
- 真实同步出现失败时可确定失败阶段;
- 日志和
data.json 不泄露凭据、远端 URL 或日程正文;
- 合法日程仍正常同步和自动完成;
- 不改变“钉钉只读、本地可编辑”的边界。
关联:#47、#64、v0.5.6。
背景
在 v0.5.6 的真实 ClawVault 验收中,手动同步返回:新增 0、更新 0、取消 0、跳过 103、失败 2。自动完成主链路不受影响:账本中 21 个已结束 active 日程的本地镜像已全部变为
done。当前
lastResult只记录errors: 2,lastError也只有通用提示,无法区分是分段 REPORT 读取失败、iCalendar 解析失败还是本地写入失败,也无法定位应重试的脱敏对象。影响
建议范围
readErrors、parseErrors、writeErrors;href哈希,不保存 CalDAV URL、账号、密码或原始 iCalendar;验收标准
data.json不泄露凭据、远端 URL 或日程正文;关联:#47、#64、v0.5.6。