build(site): [SITE-07] checkpoint frozen vendor notices and open lifecycle evidence

This commit is contained in:
Harvey Zhao committed 2026-09-14 17:03:09 +08:00
1 parent 72d2b9c36b
commit 838c3eb432
23 files changed
+3964 -17

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -0,0 +1,37 @@
# SITE-07 Monaco/vConsole分发来源检查点(仍doing)
接续SITE-01的npm包对照:Monaco0.30.1共99文件,98逐字节一致、1个CSS只差换行;
vConsole3.15.0逐字节一致。新增冻结manifest、TS校验/生成模块和CLI,100个运行时
文件保持原样。三份上游原文复制到docs/licenses,加范围明确的站点索引。严格指纹
检查会拒绝运行时代码漂移、遗漏/新增资产和被删改的上游文本,而不是重新生成即通过。
build:site-notices/check:site-notices分别加入ci:build/ci:check;根lint、严格docs-tools
类型及Node回归覆盖新模块。没有新依赖、工具版本或packageManager变化。生成的许可
文件保留完整字节与末尾空行,Git LF规则防止跨系统转换;不手动改动vendor运行时。
## 本轮证据
- 3项文件/只读/输入完整性回归通过;初版Buffer与Uint8Array深比较误报索引漂移,
已改成字节比较,负例继续要求变更输出失败。
- 真实浏览器6项为5通过/1失败:桌面TS编辑器三引擎均通过,实际Monaco worker发射、
Ctrl-S和错误语法保护可用;移动vConsole日志/HTTP原文检查后,WebKit销毁出现
`undefined is not an object (evaluating 's.O.get(n).update')`。保留失败,不关闭VENDOR-07。
- 固定v3.15.0上游源码显示日志模型用requestAnimationFrame延迟_flushLogs,并直接
Store.get(id).update;解绑删除Store。该路径与报错相符,但还没有栈/最小用例
完整证明具体触发链,不声称已经修复。源码引用固定提交05d80398bae35e793774f74e3c052b4e530e293a。
- 关闭风险前复核发现Monaco的ThirdPartyNotices没有Codicons条目。当前独立Microsoft
Codicons项目区分内容CC-BY-4.0和代码MIT,见[官方来源](https://github.com/microsoft/vscode-codicons)。
必须匹配本次codicon.ttf的历史版本与归属,不能自动套用当前许可或Monaco的MIT声明。
- vConsole npm及当前上游LICENSE只有9行,末尾声称附带MIT全文却没有正文。
因此生成结果明确标记upstream文本不完整,不把自动复制当作许可放行;其捆绑
依赖通知也继续核实。Monaco的完整LICENSE和ThirdPartyNotices已经随站点分发。
详见[证据](../baselines/site-notices-checkpoint.json)、[模块地图](../../scripts/site-vendor/README.md)
和风险台账。VENDOR-06/07/08、字体/媒体和新销毁缺陷保持open。SITE-07不标done,未执行新的完整
Pages构建/部署、真机或站点全部示例验收。此处浏览器使用未改变的现有安装核心,
不宣称重新打包了核心或插件。
下一步优先为vConsole销毁缺陷建立确定性复现和可维护修复,补MIT及捆绑依赖原文,
然后继续consoleLog bundle来源/可复现构建与字体媒体处置。不通过删除销毁检查或
使用空控制台替身来绕过旧行为。回退此检查点只移除新脚本/notice输出/状态及测试,
原JS/CSS/字体内容不变;没有push/publish或外部消息。
+5
View File
@@ -149,6 +149,11 @@ Yarn Classic 可执行文件,不再调用 npm。入口仍由 `ci:build` 按原
## SITE-03 编辑器来源与检查
SITE-07检查点新增check:site-notices到ci:check、build:site-notices到ci:build,
将固定Monaco/vConsole上游原文复制进docs/licenses;源文件指纹漂移会失败。
新TS模块进入docs-tools类型和根lint,文件回归进入test:node。vConsole上游许可
正文缺失及WebKit销毁异常仍开放;新浏览器回归保留失败,不代表整体CI现在已通过。
common.js/bootstrap.js 由 browser 下的 TS 生成,源代码进入 typecheck:site-assets
和根 lint,产物由 check:site-assets 比较;不再对生成 common.js 应用源码 lint。
build:ts 生成声明 URL 清单后重建站点浏览器产物,check:editor-types 保持只读。
+3 -3
View File
@@ -4,7 +4,7 @@
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 255 项,范围 22 个包及工作区/示例。
状态:todo 52 / doing 17 / blocked 0 / done 186 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
状态:todo 51 / doing 18 / blocked 0 / done 186 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。
@@ -399,7 +399,7 @@
| SITE-04 | artplayer-vitepress<br>交叉核对逐包持续维护的文档 | CORE-21, SITE-03, PKG-CHAPTER-04, PKG-AMBILIGHT-04, PKG-AUDIO-04, PKG-AUTO-THUMB-04, PKG-VTT-THUMB-04, PKG-HLS-04, PKG-DASH-04, PKG-MULTI-SUB-04, PKG-JASSUB-04, PKG-MASK-04, PKG-ASR-04, PKG-ADS-04, PKG-VAST-04, PKG-CAST-04, PKG-DPIP-04, PKG-CANVAS-04, PKG-IFRAME-04, PKG-TOOL-THUMB-04, PKG-DANMUKU-06, PKG-MB-08 | 已随实现更新的中文/英文 API、包内实现地图、旧 JS 示例及已知能力限制的全包核对 | 未把缺环境的能力写成已验证,静态核对不等待设备任务;最终 demo 仍由 EX-03 验收;按 SITE-01 声明成员/候选标题清单逐项语义核对,补齐缺失的双语插件说明和 Danmuku 英文入口 | M | todo |
| SITE-05 | artplayer-vitepress<br>构建文档站和验证链接/示例 | SITE-04, EX-01, EX-02, SITE-07 | VitePress 构建、链接与嵌入 demo 检查 | 文档构建、链接、嵌入路径与声明注入通过;真实完整 demo 保留 EX-03 独立门槛;核对 ENG-PM-01 登记的搜索 peer 范围和真实搜索行为 | M | todo |
| SITE-06 | artplayer-vitepress<br>文档站交付验收 | SITE-05 | 维护指南和站点变更记录 | 未手改 generated 目录,旧 URL 可用、部署与检查分离 | M | todo |
| SITE-07 | artplayer-vitepress, workspace<br>整理站点第三方资产与来源说明 | SITE-01 | Monaco/vConsole/console bundle/字体和样本的冻结来源、可复现构建或替代与站点 notices | 接续 SITE-01 的字节与换行差异证据;完整许可随实际分发,consoleLog/global/CSS/worker 与旧 URL 兼容;缺字体/媒体使用依据明确处置;资产变更后执行编辑器/移动/字幕/示例回归,不以来源指纹替代授权或运行证据 | H | todo |
| SITE-07 | artplayer-vitepress, workspace<br>整理站点第三方资产与来源说明 | SITE-01 | Monaco/vConsole/console bundle/字体和样本的冻结来源、可复现构建或替代与站点 notices | 接续 SITE-01 的字节与换行差异证据;完整许可随实际分发,consoleLog/global/CSS/worker 与旧 URL 兼容;缺字体/媒体使用依据明确处置;资产变更后执行编辑器/移动/字幕/示例回归,不以来源指纹替代授权或运行证据 | H | doing |
| EX-01 | example/react.js, workspace<br>验证 React 消费者与 TS | CORE-22, ENG-07 | React 挂载/卸载/重挂载、引用和插件样例 | 真实 tarball + TS 消费通过,保留既有 React 集成 API | M | done |
| EX-02 | example/vue.js, workspace<br>验证 Vue 消费者与更新卸载 | CORE-22, ENG-07 | Vue 实例/ref、参数更新、卸载及插件样例 | 旧 JS 组件用法无需修改,重复挂载不泄漏 | M | done |
| EX-03 | workspace<br>验证全部原生 demo 与外部播放集成 | EX-01, EX-02, PKG-CHAPTER-06, PKG-AMBILIGHT-06, PKG-AUDIO-06, PKG-AUTO-THUMB-06, PKG-VTT-THUMB-06, PKG-HLS-06, PKG-DASH-06, PKG-MULTI-SUB-06, PKG-JASSUB-06, PKG-MASK-06, PKG-ASR-06, PKG-ADS-06, PKG-VAST-06, PKG-CAST-06, PKG-DPIP-06, PKG-DANMUKU-09, PKG-CANVAS-06, PKG-MB-10, PKG-IFRAME-06, PKG-TOOL-THUMB-06 | 8082 全 demo、HLS/DASH/FLV/MPEGTS/WebTorrent 集成记录 | 旧 URL/参数/脚本加载保持;网络/SDK 限制明确,不静默跳过;覆盖编辑器重复 Run 和 ESM/i18n/mobile/iframe,记录实际候选脚本及状态隔离证据;依据 BASE-04 路径台账逐项消除 not-run,处理 BASE-DEMO-01 | H | todo |
@@ -632,7 +632,7 @@
- SITE-AI-DOCS-01: [记录](changes/2026-09-14-SITE-AI-DOCS-01-documentation-pipeline.md) [记录](baselines/documentation-pipeline-validation.json)
- SITE-BUILD-01: [记录](changes/2026-09-14-SITE-BUILD-01-staged-builds.md) [记录](baselines/site-build-validation.json)
- SITE-03: [记录](changes/2026-09-14-SITE-03-desktop-editor.md) [记录](baselines/site-editor-validation.json)
- SITE-07: [记录](site-inventory.md) [记录](baselines/site-provenance.json)
- SITE-07: [记录](site-inventory.md) [记录](baselines/site-provenance.json) [记录](changes/2026-09-14-SITE-07-vendor-notices.md) [记录](baselines/site-notices-checkpoint.json)
- EX-01: [记录](changes/2026-09-14-EX-01-react-consumer.md) [记录](baselines/react-consumer-validation.json) [记录](scripts/react-consumer.mjs)
- EX-02: [记录](changes/2026-09-14-EX-02-vue-consumer.md) [记录](baselines/vue-consumer-validation.json) [记录](scripts/vue-consumer.mjs)
- MOD-PLUGIN-01: [记录](changes/2026-09-14-MOD-PLUGIN-01-scaffold.md) [记录](baselines/scaffold-validation.json)
+16
View File
@@ -1,5 +1,21 @@
# 进度与证据
## SITE-07 固定vendor来源与notice生成检查点(仍doing)
新增Monaco0.30.1/vConsole3.15.0的100文件固定指纹、TS生成器和只读检查,三份上游
原文与范围明确的索引随docs分发,运行时资产保持原字节。生成/校验接入CI,3项
文件回归、严格docs-tools TS、lint与固定工具链通过。Monaco三引擎真实TS worker/
Run检查通过,完整LICENSE/ThirdPartyNotices已分发;最终核对发现其中没有Codicons
字体条目,其独立许可/版本归属仍缺证据,因此VENDOR-06也保持open。
浏览器合计5通过1失败:WebKit在vConsole销毁后报log store update异常,新增
VCONSOLE-LIFECYCLE-01保持open;上游源码的RAF/store删除路径是待验证原因,尚未修复。
另发现vConsole npm和上游LICENSE未包含声称附带的MIT正文;索引明确不将原文复制
当成完整许可证明,VENDOR-07、console bundle、字体/媒体仍open。见
[检查点](changes/2026-09-14-SITE-07-vendor-notices.md)及[证据](baselines/site-notices-checkpoint.json)。
255项:186 done、18 doing、51 todo。没有关闭SITE-07或发布门槛,没有部署/push/publish。
下一步先隔离并修复vConsole销毁回调,再补完整许可/依赖原文和console bundle来源;
缩略图工具/VAST的历史默认行为选择继续等待此前问题的回复,不把等待当作批准。
## CI-02 Pages产物预检与恢复流程完成
生产构建后的独立暂存目录重新生成21个旧uncompiled入口,验证63个compiled/dist
+1
View File
@@ -270,3 +270,4 @@
| MULTI-SUB-ASS-01 | resolved / 已复现 | Published core5.1.2 ASS converter loses required VTT line breaks | PKG-MULTI-SUB-11 |
| JASSUB-RENDER-RESOURCES-01 | resolved / 已复现 | Main-thread async rendering leaves received ImageBitmaps open when native canvas operations throw | PKG-JASSUB-10 |
| ENG-PERF-OBS-01 | resolved / 已复现 | A nominal 350 ms resource observation can record only 349 ms and fail the required minimum | ENG-13 |
| VCONSOLE-LIFECYCLE-01 | open / 已复现 | vConsole 3.15.0 mobile destruction can leave a callback updating a removed log store | SITE-07, SITE-05 |
+31 -4
View File
@@ -618,10 +618,14 @@
"refactor/third-party.json",
"docs/assets/js/vs",
"refactor/site-inventory.md",
"refactor/baselines/site-provenance.json"
"refactor/baselines/site-provenance.json",
"refactor/changes/2026-09-14-SITE-07-vendor-notices.md",
"refactor/baselines/site-notices-checkpoint.json",
"scripts/site-vendor/manifest.json"
],
"compatibleResolution": "Keep separate from owned TS migration. Verify source/version/diff and license notices before replacement; preserve API/CSS/worker URLs and run owning package tests.",
"closureCriteria": "固定上游版本/内容差异、完整组件许可与分发 notices,兼容测试通过;仅当前上游许可证名称不足以关闭。"
"closureCriteria": "固定上游版本/内容差异、完整组件许可与分发 notices,兼容测试通过;仅当前上游许可证名称不足以关闭。",
"workspaceState": "Monaco 0.30.1 runtime fingerprints and complete upstream LICENSE/ThirdPartyNotices now ship with the site; all three desktop TypeScript worker cases pass. Closure review found no Codicons entry in those notices, while the separate Microsoft Codicons source distinguishes content CC-BY-4.0 from code MIT. Exact bundled codicon.ttf version and attribution mapping remain to verify; do not infer full font clearance from Monaco MIT."
},
{
"id": "VENDOR-07",
@@ -636,10 +640,14 @@
"refactor/third-party.json",
"docs/assets/js/vconsole.min.js",
"refactor/site-inventory.md",
"refactor/baselines/site-provenance.json"
"refactor/baselines/site-provenance.json",
"refactor/changes/2026-09-14-SITE-07-vendor-notices.md",
"refactor/baselines/site-notices-checkpoint.json",
"scripts/site-vendor/manifest.json"
],
"compatibleResolution": "Keep separate from owned TS migration. Verify source/version/diff and license notices before replacement; preserve API/CSS/worker URLs and run owning package tests.",
"closureCriteria": "固定上游版本/内容差异、完整组件许可与分发 notices,兼容测试通过;仅当前上游许可证名称不足以关闭。"
"closureCriteria": "固定上游版本/内容差异、完整组件许可与分发 notices,兼容测试通过;仅当前上游许可证名称不足以关闭。",
"workspaceState": "Upstream 3.15.0 LICENSE copied verbatim but contains only the MIT declaration and a promise of a license copy; actual MIT body is absent. Completeness and bundled dependency notices remain open; mobile WebKit destruction also produces a log-store update page error."
},
{
"id": "VENDOR-08",
@@ -6158,6 +6166,25 @@
"test/performance-report.test.js"
],
"resolutionRationale": "The fix enforces an existing observation requirement rather than rounding failed values or relaxing a gate. Exact reverse-adaptation tests preserve the frozen body, deterministic clock tests cover early/overshooting/error paths, and the same installed candidate passes the full native paired protocol in all three engines. Performance review signals remain separate."
},
{
"id": "VCONSOLE-LIFECYCLE-01",
"title": "vConsole 3.15.0 mobile destruction can leave a callback updating a removed log store",
"confirmation": "reproduced",
"status": "open",
"owners": [
"SITE-07",
"SITE-05"
],
"evidence": [
"refactor/changes/2026-09-14-SITE-07-vendor-notices.md",
"refactor/baselines/site-notices-checkpoint.json",
"scripts/site-vendor/manifest.json",
"test/browser/site-vendor.spec.js"
],
"compatibleResolution": "Reproduce the exact delayed callback from fixed upstream source and preserve logging/global/CSS behavior while preventing work on a removed store; do not remove destruction checks or catch page errors to pass.",
"closureCriteria": "A deterministic old-build failure and fixed native three-engine logging/destruction checks with no late errors, plus maintainable source/build provenance and required notices.",
"workspaceState": "First native check: desktop worker 3/3 and mobile Chromium/Firefox pass; WebKit mobile page fails with undefined is not an object (evaluating s.O.get(n).update) after destruction. Upstream log model schedules RAF and reads Store.get(id).update while unbindPlugin deletes the store; exact causal callback remains to isolate."
}
]
}
+6
View File
@@ -1,5 +1,11 @@
# 文档站、示例与生成链清单
SITE-07检查点已将Monaco LICENSE/ThirdPartyNotices和vConsole上游LICENSE原文加入
站点分发,并建立固定文件清单/指纹及只读检查。进一步检查发现vConsole上游文件
只有许可声明,缺其声称附带的MIT全文;不能把“已取得LICENSE”当成完整许可闭环。
Monaco真实TS worker三引擎通过;vConsole销毁在WebKit出现未处理回调错误,继续登记。
原始SITE-01清单及下面的历史未分发描述保留,当前入口见scripts/site-vendor/README.md。
SITE-SMOKE-01 后续已将 build:test 拆为 TS 解析、生成和浏览器运行模块,新增
确定性 examples.json 和 readonly check,替换 100ms done 为实例 ready/错误/清理。
以下 SITE-01 的旧生成器问题属于历史发现;当前维护入口见
+4 -2
View File
@@ -4364,13 +4364,15 @@
"dependsOn": [
"SITE-01"
],
"status": "todo",
"status": "doing",
"risk": "H",
"deliverable": "Monaco/vConsole/console bundle/字体和样本的冻结来源、可复现构建或替代与站点 notices",
"acceptance": "接续 SITE-01 的字节与换行差异证据;完整许可随实际分发,consoleLog/global/CSS/worker 与旧 URL 兼容;缺字体/媒体使用依据明确处置;资产变更后执行编辑器/移动/字幕/示例回归,不以来源指纹替代授权或运行证据",
"evidence": [
"site-inventory.md",
"baselines/site-provenance.json"
"baselines/site-provenance.json",
"changes/2026-09-14-SITE-07-vendor-notices.md",
"baselines/site-notices-checkpoint.json"
]
},
{