|
|
d97b9c105a
|
docs: 明确纯运行发布无变化核验与恢复边界 (#123)
|
2026-10-16 20:08:23 +08:00 |
|
|
|
fd6261859b
|
feat: 增加配置中心纯运行数据发布流程 (#122)
|
2026-10-16 20:04:55 +08:00 |
|
|
|
75f507b6fd
|
chore: 新增 CI 拦截 AI 贡献痕迹 (#18)
- scripts/check-no-ai-attribution.sh:扫描指定 git 范围,命中 AI 身份、Co-Authored-By trailer、Generated/Authored 声明或机器人 emoji 时报错
- scripts/ai-attribution-patterns.txt:外置 AI 工具/厂商关键字清单,便于按需扩展
- .github/workflows/no-ai-attribution.yml:PR (target main) 与 push (main) 时对增量 commit 范围运行扫描
- CLAUDE.md:项目级 commit 身份规范,禁止任何 AI 署名/辅助标记
|
2026-05-08 17:48:34 +08:00 |
|
|
|
8aa03dbb4e
|
fix(ci): drop npm install fallback and use explicit test file path (#4)
回应 PR #3 review 反馈:
1. 移除 'npm ci || npm install' 兜底 (Copilot review #2)
lockfile 已 commit,兜底反而会掩盖未来 lockfile 不一致问题,
导致 CI 依赖解析随时间漂移。改为纯 'npm ci' 严格按 lockfile 安装。
2. test 脚本改用具体文件路径 (Copilot review #3)
原 'node --test __tests__/*.test.mjs' 依赖 shell glob 展开,
在 Windows cmd(npm 在 Windows 上的默认 script-shell)不展开 glob。
实测 'node --test __tests__'(Copilot 建议)在 Node v22 报
'Cannot find module',故改用直接列具体文件方式:
'node --test __tests__/validate.test.mjs',跨平台稳定。
未来新增测试文件需手动追加(成本极低)。
未应用的 review 评论:
- README 表格语法误报:实际已用单 |,Copilot 误读 unified diff 的 + 前缀
- loadSchemas 加 try/catch:schema 文件由维护者控制,原 stack trace 已显示路径,
额外错误处理属过度防御
|
2026-04-25 21:50:07 +08:00 |
|
|
|
bd448f6c43
|
feat: frozen schema + CI validation to prevent client-breaking data
引入 frozen JSON Schema 契约(schemas/)和自动校验,作为已发布客户端的兼容防线。
背景:
PR #1 把 reasoning 模型 defaultTemperature/defaultTopP 写为 null,已发布客户端
schema 严格 number → readComputeConfig 校验失败 → sync 死锁。详见 desirecore PR #471。
本次新增:
- schemas/provider.schema.json: 镜像 desirecore d185299(fix #471 之前)的 strict
computeProviderSchema/providerModelSchema,禁止 null/string/未知字段
- schemas/{manifest,service-map,pricing,providers-index}.schema.json: 配套契约
- scripts/validate.mjs: 扫所有数据文件自动校验
- __tests__/validate.test.mjs: 28 个测试,含 PR #1 反例的回归测试
- .github/workflows/validate.yml: PR/push 自动跑 validate + test
未来新增字段流程:
1. 先在 desirecore 主仓升级 schema 接受新字段
2. 发布新客户端,等用户升级
3. 再更新本仓库 frozen schema 和数据
否则老客户端因 additionalProperties: false 拒绝未知字段而死锁。
|
2026-04-25 21:09:23 +08:00 |
|