{"changelog":[{"date":"2026-09-20","sections":[{"title":"首个对外版本(版本号重新起算)","items":["**文档站版本选择**:版本入口分三档,覆盖全部宽度 ——","**零运行时依赖**:`dependencies` 为空,站点与组件全部原生实现。","**交付形态**:79 组件 × 5 端实现(395 文件)+ 79 份契约 + 75 设计令牌 + 文档站(中英双语、暗色模式)。"]},{"title":"Added(首版内容,原 2026-09-06 的 1.0.0 段并入此处)","items":["79 个组件实现(H5 / React / Vue 2 / Vue 3 四端)","设计令牌:`colors_and_type.css` / `css.json` / `components.css`","6 个核心组件契约 JSON","`components/index.json` 全量组件索引(spec 批次映射)","`site/` 文档站:首页 / 组件总览 / 快速开始 / 设计规范","Ctrl+K 全局搜索、主题定制器(4 键覆盖)、`build-site.ps1` 构建脚本"]}],"version":"1.0.0"},{"date":"2026-09-20","sections":[{"title":"Changed — 品牌重命名:Aurora Admin → Kole UI(破坏性)","items":["**一次全仓改名**,覆盖五类命名空间,**1373 个文件 / 约 2.9 万处**:","**五类映射一句话版**(上表在站点更新日志页**不会渲染** —— `build-site.ps1` 的 CHANGELOG 解析器只抓 `- ` 行,表格行不入 `changelog.json`;故在此复述,已登记为 ROADMAP 衍生任务 S6-P29):文字品牌名 `Aurora Admin` → `Kole UI`;包名 / 路径 / 镜像 `aurora-admin` → `kole-ui`;类名前缀 `aa-`(Input 遗留 `au-`)→ `kole-`;令牌前缀 `--au-` → `--kole-`;组件导出名 `AaButton` / `AaTag` → `KoleButton` / `KoleTag`。","**按破坏性处理,版本 1.4.1 → 2.0.0**。破坏面:npm 包名、**组件导出名**、CSS 类名、CSS 变量名、localStorage 键前缀、Docker 镜像/容器名、部署目录。","**环境变量与全局标识符**同步改名(逐条列举,避免误伤十六进制哈希与 WCAG「AA」字样):`AA_PORT` → `KOLE_PORT`、`AA_DATA` → `KOLE_DATA`、`AA_VERIFY_DEPS_DIR` → `KOLE_VERIFY_DEPS_DIR`、`__aaCollectResult` / `__aaBehaviors` / `__aaBehCache` / `__aaVersion` / `__aaResult` / `__aaRun` / `__aaDetailReady` / `__aaChangelogReady` / `__aaTranslateThemePanel` / `__aaRefreshModeUI` → `__kole*`、`aaLogger` → `koleLogger`、`aaZoom` / `aaSlide` / `aaFade` → `kole{Zoom,Slide,Fade}`。","**localStorage 键前缀 `aa-` → `kole-`**(`kole-lang` / `kole-render-log` / `kole-search-log` / `kole-test-log` / `kole-mode`)。用户的旧偏好不会自动迁移,等于重置一次的语言与主题偏好。","**目录与文件重命名**:`.design_library/aurora-admin/` → `.design_library/kole-ui/`(`git mv`,历史保留);启动器 `aurora-admin-dsh-launcher.exe` → `kole-ui-dsh-launcher.exe`。","**组件导出名(公开 API)同步改名**,来源不只是字符串:`tools/build-dist.mjs` 生成 `export { default as Kole${prefix} }` 的三端入口、79 个 `.vue2.vue` / `.vue3.vue` 的 `name: 'KoleXxx'` 选项、README 与站内「快速开始」的 import 示例。改名后 `dist/` 重新构建,`verify-package-import.mjs` 复核入口一致。","**发布现状(2026-09-20 实测,避免把「改名」误读成「已按新名发布」)**:","**迁移脚本入库**:`tools/migrate-brand-kole-ui.mjs`(`--dry-run` 预演 / 默认执行 / `--verify` 残留扫描)。实现为字节级替换,兼容 CRLF、UTF-8 与 GBK,跳过二进制与 UTF-16;**幂等**——第二遍运行报告 0 处改动。","**文档与配置一并改名**:`AGENTS.md` / `README.md` / `ROADMAP.md` / `TESTING.md` / `CONTRIBUTING.md` / `site/llms.txt` / 契约 `index.json` / `SKILL.md` / `metadata.json` / npm 仓库地址与 homepage(仍为 `YOUR-ACCOUNT` 占位)。","**规划偏差(有意为之,在此披露)**:AGENTS.md 禁止改写 `CHANGELOG.md` 历史条目。本次对历史条目只替换了**品牌名本身**,日期、版本号、断言数量、通过率、色值等事实**一字未动**——理由是重命名后站点更新日志页若仍显示旧品牌会自相矛盾。除品牌词外的历史内容保持原样。","**一处自查发现并修回的真问题(教训值得留档)**:批量替换会把「**对外实测事实**」也一并改掉,使它从事实变成未经核验的断言。本次命中的是包名相关的三处 —— ① `CHANGELOG`「已发布到私有源」表的第三个包名;② `README`「三个可互换的发布名」;③ `ROADMAP` 的 S5-P21 行与「规划修正记录」里的 registry 查验结果。原文记的是 `aurora-admin-design`(当时确已发布/已查验),被改成 `kole-ui` 后就变成「`kole-ui` 已发布」这种**假事实**。修法:这几处**还原为当时的真实名字并加注新旧对照**,另在 2026-09-20 对 `kole-ui` 重新实测并记录结果(见上「发布现状」)。同时给迁移脚本加了 `--only=` 限定规则 —— 因为全量重跑会把 §「刻意保留旧名对照」的位置再次改写掉。教训:**改名要区分「品牌词」与「记录了外部状态的名字」**,后者只能新增核验、不能替换。"]},{"title":"Verified — 重命名后全链验收","items":["构建链两步全绿:`build-site.ps1`(79 组件 / 106 令牌 / 316 平台薄壳 / 396 sitemap URL)+ `precompute.mjs`(data.js 1159 KB → 122 KB;`site/data.json` 保持完整,79/79 组件带全量 5 端 sources)。","回归 **100%(1017/1017 断言 / 79 页全过 / N/A 34)**,八次连跑一致、0 超时。","8 个验证脚本全过:`verify:i18n` 16 项 · `smoke:site` 全过 · `verify:theme` · `verify:nav` · `verify-dark` · `verify-site-routing`(79 / 316 / 396)· `verify-families`(13 族 / 44 成员)· `verify-emits-parse` 17 项 · `verify-package-import` 15 项(1 SKIP)· `verify-dev-server` 20 项 · `verify-cross-platform`(79/79 完全一致,差异 0)。","残留扫描 `migrate-brand-kole-ui.mjs --verify`:**除刻意保留的旧名对照外为 0**。剩余命中只有 4 个文件且全部是「为了记录旧名而写旧名」的文本 —— `AGENTS.md` §七(命名约定行)、`CHANGELOG.md`(本段对照表 + 发布记录还原处)、以及由它派生的 `site/changelog.json` / `site/data.json`。代码、样式、模板、测试页、构建产物中的旧命名**全部清零**。","零运行时依赖不变(`dependencies` 为空)。"]},{"title":"Known limitations","items":["`kole-ui-dsh-launcher.exe` 只改了文件名:它是 5.6 KB 的 .NET 编译产物,**程序集名/模块名仍内嵌旧名**(实测元数据为 `aurora-admin-dsh-launcher.exe` 与命名空间 `aurora-admin-dsh-launcher`)。仓库内没有它的构建源(无 `.cs` / `.csproj` / `.sln`,`dsh_launcher.py` 亦非其来源),故无法就地重编;要彻底改名需在产出该 exe 的地方重编一次。","部署侧(192.168.5.7)的镜像/容器/目录名已在仓库改好,但**线上实例仍是旧名**,需按 AGENTS.md §九 走一次标准部署流程才会生效。","仓库目录名 `组件规范第一套` 未改(属工作区路径,改名会影响 DSH 启动器里硬编码的路径)。"]}],"version":"2.0.0"},{"date":"2026-09-11","sections":[{"title":"审计轮 — 系统性质疑「这么多组件能保证不出错吗」","items":["逐字命中 **336 条(93.9%)**;剩余 22 条经人工比对为**同义改写**(如「列表项带复选框」→「列表项带复选框,项高 32px」,数值确实在规格别处),非发明。","发现一处**真实不一致**:`rate.json` 的选中星色仍写 `#FAAD14`,而规格已在 v1.3.1 改为 `#2F54EB` —— 修契约使其与规格同步(`usageHints` + `anatomy`)。","检查 **1313 处**含令牌的颜色声明,**0 处**属性/令牌角色错配(未出现「background 用文字色令牌」这类)。令牌化在语义上是干净的。","**326 条**字典:英文值含中文 **0** 条、中英完全相同 **0** 条、长度异常 **0** 条。","修正审计脚本对「副名」的误判:英文模式下 `.core-en` 显示中文是**设计意图**(主名英文 + 副名中文),不是漏翻。","发现并修复 4 处真漏翻:guide 页标题、Do/Don't 两个标题、guide 表格 `H5 静态页`、组件名渲染 4 处未做语言感知。","扫描 91 个文件,发现 **4 个文件 23 处**仍引用 v1.3.1 之前的旧色值。","**最严重**:`css.json` —— 它是 For Agents 页宣称的「结构化令牌源」,机器读取方会拿到过时的颜色。已同步 10 处。","`README.md` 设计说明 5 处同步;`CHANGELOG.md` 的旧值属历史变更记录,**有意保留**。","用「逐元素实测对比度」扫全部页面,发现 `Rate` 未选中星用 `--kole-color-border`(`#E8ECF1`) 作星色,白底仅 **1.19:1** —— 边框色是装饰性色值,作图标不合格。","新增 `--kole-color-icon-inactive: #8F8F8F`(白底 **3.23:1**,满足 WCAG 1.4.11 的 3:1,且视觉最克制)。令牌 74 → **75**。","同批扫出的另外 5 处低对比度经逐一核实为**禁用态**(WCAG 1.4.3 豁免)或**深色遮罩上的白字**(检测器把半透明底当白底),非缺陷。","现象:多次连跑偶发 99.9%(1 页失败),但单独打开该页总是通过。","根因:收集器的 **8 秒超时兜底**直接记为 `fail: 1`。并发 4 个 iframe 时主线程被抢占,慢页面会撞上超时。","修法:超时阈值 8s → **12s**;**重试一次**后再判定;**超时与断言失败分开统计**(`timedOut` 字段,不计入通过率分母)。","验证:**八次连跑全部 100% / 0 失败 / 79 页全通过 / 0 超时**。"]}],"version":"1.4.1"},{"date":"2026-09-11","sections":[{"title":"Changed — 组件层全面令牌化(设计系统的根基修复)","items":["**发现**:79 个组件的 844 个颜色属性里,**只有 2 个(0.2%)引用令牌,788 个(93.4%)硬编码 hex**。后果是改令牌组件不跟着变、主题定制器对组件无效、For Agents 页写的「所有色值必须取自 kole-* 变量」形同虚设。这是本项目第五次「声称≠实现」,且动摇了设计系统的根本。","**两层令牌化**(此前只改了从未被加载的文件,走了弯路):","内嵌样式层是**决定性的**:演示页只 link `colors_and_type.css` + 自己的 CSS,而多数页面把关键样式写在 `