feat(安全+品牌): 对外产物发布脱敏(3注入点/2465文件0泄露) + Kole Cup 定稿
Regression / regression (push) Canceled after 0s
Regression / regression (push) Canceled after 0s
安全:CHANGELOG.md 是仓库内部变更流水(含服务器目录、镜像回滚标签、内网网段、
部署时序、AI 工作流用语),此前被 build-site.ps1 / precompute.mjs / build-mobile.mjs
原样注入站点,而站点是公网可下载的静态文件 —— 抓一次 /site/m/changelog.html
即可拿到内网地址段与服务器目录布局。
- 新增 tools/lib/redact-publish.mjs(零依赖,构建期过滤,不改 CHANGELOG.md,
内部可追溯性完整保留)
- 接入 precompute.mjs(PC data.json/changelog.json)与 build-mobile.mjs
(移动端更新日志页);build-site.ps1 不碰(ASCII-only 铁律)
- 只处理 changelog 字段:components[].sources 是规范实现源码,逐字保真
(详情页代码区主动高亮注释,剥注释会破坏该功能)
- 实测消除:/opt/aurora-admin.prev-*、kole-ui-showcase:pre-*、docker compose、
192.168.5.7、16 位产物指纹、1531/1531、并发会话/本会话/派子 agent
- settings.html 演示占位 IP 192.168.5.0/24(= 真实网段)改为 RFC 5737 的 192.0.2.0/24
品牌:Kole Cup 饮料杯标记定稿(几何 K → 圆角杯盖 + 杯身负空间 K,无吸管),
brand-mark.json 升 schemaVersion 3(paths 支持 { d, evenodd }),
verify:brand 增至 25 条(新增 B9b:负空间必须带 fill-rule)。
验证:发布集 2465 文件全量扫描 0 泄露;PC 回归 100%(1464/1464) ·
移动端 100%(807/807);门禁品牌 25 / 隔离 31 / 移动文档 12 / 示例 9 / 版本 40 / i18n 17 全绿;
已按 AGENTS §九 发布公网,2461/2461 逐字节一致,五项验收全过。
已知未处理(既有缺口,ROADMAP S7-P28 已记录):data.mobile.json 的
meta.generated 为墙上时钟,会让 CI 的「生成物可复现」断言在重跑构建后永远非空;
该 CI 流水线本身亦从未通过(无 runner)。
This commit is contained in:
@@ -4,6 +4,40 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### 发布脱敏 · 对外产物滤掉基础设施细节(安全)
|
||||
|
||||
> 起因:抓一次公网 `/site/m/changelog.html` 就能拿到内网网段、服务器目录布局与部署时序 ——
|
||||
> 站点是**公网可下载的静态文件**,而 `CHANGELOG.md` 是仓库内部变更流水,两者此前是直连的。
|
||||
|
||||
- 新增 `tools/lib/redact-publish.mjs`(零依赖):构建期把「仅供内部」的基础设施细节替换成
|
||||
不含事实的等价说法。**不改 `CHANGELOG.md`** —— 内部可追溯性完整保留,过滤只发生在写产物那一步。
|
||||
- 接入 3 处注入点:`tools/precompute.mjs`(PC 侧 `data.json` / `changelog.json`)、
|
||||
`tools/build-mobile.mjs`(移动端更新日志页)。`build-site.ps1` 不碰 —— ASCII-only 铁律。
|
||||
- 只处理 `changelog` 字段:`components[].sources` 是规范实现源码,逐字保真不动
|
||||
(详情页代码区还**主动高亮注释**,剥注释会破坏该功能)。
|
||||
- 实测命中并已消除:`/opt/aurora-admin.prev-*`、`kole-ui-showcase:pre-*`、`docker compose build`、
|
||||
`192.168.5.7`、16 位产物指纹、`1531/1531` 对账数,以及「并发会话 / 本会话 / 派子 agent」等
|
||||
暴露开发方式的用语。发布集 2465 文件全量扫描:**0 命中**。
|
||||
- 修正 `site/scenario/settings.html` 的演示占位 IP:原写 `192.168.5.0/24`,与真实服务器网段一致,
|
||||
改为 RFC 5737 文档段 `192.0.2.0/24`。
|
||||
- 模块自带**幂等性**与**误伤防护**:只在与替换词相邻时才处理,正文代码跨度(如 `pack-deploy --tar`)不受影响。
|
||||
实测 30 行真实 CHANGELOG 敏感行:0 残留、0 非幂等、0 标点畸形。
|
||||
`TRIGGERS`(句子级闸门)与 `RULES`(替换规则)**必须同步增删** —— 漏一个词会出现
|
||||
「规则写好了但永不触发」的静默漏网(本轮实测踩到:`**本会话直接产出的一批**` 因 TRIGGERS 缺词而整行未过滤)。
|
||||
- 2026-09-23 已按 AGENTS §九 发布到公网:发布集 2461/2461 逐字节一致,五项验收全过,
|
||||
公网复查 `/opt/*`、镜像名、内网 IP、产物流水全部 0 命中。
|
||||
|
||||
### 品牌标识 · Kole Cup 饮料杯标记(最终定稿)
|
||||
|
||||
- 品牌图形由几何 K 改为**饮料杯 + 负空间 K**:圆角杯盖 + 上宽下窄圆角杯身,K 以
|
||||
`fill-rule="evenodd"` 从杯身挖空。造型参考用户提供的 freeicon 图标语言(吸管、杯盖、
|
||||
杯身比例),但路径为在 24 网格上**独立绘制**,未复制其原始数据;最终版按用户要求**去掉了吸管**。
|
||||
- `brand-mark.json` 升到 schemaVersion 3:`geometry.paths` 支持 `{ d, evenodd }` 对象项,
|
||||
供负空间挖空使用(旧字符串写法仍兼容)。
|
||||
- `verify:brand` 增至 **25 条断言**,新增 B9b:负空间路径必须带 `fill-rule="evenodd"` ——
|
||||
缺了它 K 会被填成实心块,且**不会报任何错**(渲染仍然成功)。
|
||||
- 顶栏与 favicon 的资产路径、盒尺寸(PC 32×32 / 移动 26×26)、主题 mask 机制均不变。
|
||||
|
||||
### 品牌标识 · K-Node 图标真源重构
|
||||
|
||||
- 新增 `.design_library/kole-ui/brand/brand-mark.json`,统一定义 K-Node 的三段几何、尺寸与 favicon 颜色。
|
||||
|
||||
Reference in New Issue
Block a user