Conversation
- Update REPO_SNAPSHOT: add CHANGELOG.md to code structure, add current version - Add lesson: config validation strategy (silent correction + warnings) - Add lesson: release process must sync context docs - Update experience INDEX with new lesson entries
There was a problem hiding this comment.
Pull request overview
该 PR 用于在发布 v1.5.0 后同步更新 AIEF context 文档,确保仓库快照与经验库记录与代码现状一致。
Changes:
- 更新
REPO_SNAPSHOT.md:补充CHANGELOG.md,并记录当前版本号1.5.0与发布日期 - 新增两条经验教训文档:配置验证策略决策、Release 后回写 context 的流程约束
- 更新
experience/INDEX.md:将两条新 lessons 纳入索引
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| context/tech/REPO_SNAPSHOT.md | 在仓库快照中补齐 CHANGELOG 与当前版本信息,减少 context 与代码结构/版本信息脱节 |
| context/experience/lessons/2026-02-11-release-context-sync.md | 记录 release 后回写 context 的复盘与检查清单,避免再次遗漏 |
| context/experience/lessons/2026-02-11-config-validation-strategy.md | 记录配置校验采取“静默修正 + warnings”的决策与理由(存在若干表述不一致需修正) |
| context/experience/INDEX.md | 为经验库索引补充两条新条目,便于检索 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| 1. 与项目已有的错误处理策略一致(`conventions/typescript.md` 第 6 条:非关键路径静默降级) | ||
| 2. 配置错误不应阻止插件运行——用户可能只是拼写了一个字段,不应因此完全失去 token 追踪功能 | ||
| 3. warnings 数组让调用方自行决定展示方式(插件用 Toast,CLI 用 stderr) | ||
| 4. 纯函数 `validateConfig(raw): { config, warnings }` 易于测试、无副作用 | ||
|
|
||
| ## 可复用结论 | ||
|
|
||
| - 对于**用户配置校验**,静默修正 + warnings 优于抛错拒绝 | ||
| - 验证函数应返回 `{ result, warnings }` 结构,不产生副作用 | ||
| - 上层代码根据自身上下文决定 warnings 的展示渠道 | ||
| - 与 `conventions/typescript.md` 第 6 条保持一致 |
There was a problem hiding this comment.
conventions/typescript.md 这个引用路径在仓库中不存在;实际文件位于 context/tech/conventions/typescript.md。建议把引用改为仓库内的真实路径,避免读者找不到对应约定。
| 1. 与项目已有的错误处理策略一致(`conventions/typescript.md` 第 6 条:非关键路径静默降级) | |
| 2. 配置错误不应阻止插件运行——用户可能只是拼写了一个字段,不应因此完全失去 token 追踪功能 | |
| 3. warnings 数组让调用方自行决定展示方式(插件用 Toast,CLI 用 stderr) | |
| 4. 纯函数 `validateConfig(raw): { config, warnings }` 易于测试、无副作用 | |
| ## 可复用结论 | |
| - 对于**用户配置校验**,静默修正 + warnings 优于抛错拒绝 | |
| - 验证函数应返回 `{ result, warnings }` 结构,不产生副作用 | |
| - 上层代码根据自身上下文决定 warnings 的展示渠道 | |
| - 与 `conventions/typescript.md` 第 6 条保持一致 | |
| 1. 与项目已有的错误处理策略一致(`context/tech/conventions/typescript.md` 第 6 条:非关键路径静默降级) | |
| 2. 配置错误不应阻止插件运行——用户可能只是拼写了一个字段,不应因此完全失去 token 追踪功能 | |
| 3. warnings 数组让调用方自行决定展示方式(插件用 Toast,CLI 用 stderr) | |
| 4: 纯函数 `validateConfig(raw): { config, warnings }` 易于测试、无副作用 | |
| ## 可复用结论 | |
| - 对于**用户配置校验**,静默修正 + warnings 优于抛错拒绝 | |
| - 验证函数应返回 `{ result, warnings }` 结构,不产生副作用 | |
| - 上层代码根据自身上下文决定 warnings 的展示渠道 | |
| - 与 `context/tech/conventions/typescript.md` 第 6 条保持一致 |
|
|
||
| ## 背景 | ||
|
|
||
| 为用户 JSON 配置文件添加校验逻辑。配置可能包含错误类型、负数、超范围值、甚至 Infinity/NaN。 |
There was a problem hiding this comment.
这里描述“用户 JSON 配置文件…甚至 Infinity/NaN”与实现不一致:当前配置是通过 JSON.parse 读取,标准 JSON 无法表示 Infinity/NaN。建议改成更准确的表述(例如仅强调类型错误/负数/超范围等),或明确 raw 输入可能来自非 JSON 来源。
| 为用户 JSON 配置文件添加校验逻辑。配置可能包含错误类型、负数、超范围值、甚至 Infinity/NaN。 | |
| 为用户 JSON 配置文件添加校验逻辑。配置可能包含错误类型、负数或超范围值。 |
| ## 可复用结论 | ||
|
|
||
| - 对于**用户配置校验**,静默修正 + warnings 优于抛错拒绝 | ||
| - 验证函数应返回 `{ result, warnings }` 结构,不产生副作用 |
There was a problem hiding this comment.
文档前文示例是 validateConfig(raw): { config, warnings },但这里又写“返回 { result, warnings }”。建议统一返回结构字段名(应为 config),避免误导后续实现/调用。
| - 验证函数应返回 `{ result, warnings }` 结构,不产生副作用 | |
| - 验证函数应返回 `{ config, warnings }` 结构,不产生副作用 |
Summary
AIEF 合规回写:确保所有任务执行后 context 文档保持同步。
变更
CHANGELOG.md1.5.0config-validation-strategy.md: 配置验证选择静默修正 + warnings 收集的设计决策release-context-sync.md: Release 后必须主动回写 context 文档