Repository navigation
feat(script-sandbox): import map 裸说明符按页面映射解析,github home 404 清零 - #117
Merged
Merged
Conversation
leizongmin
added a commit
that referenced
this pull request
Oct 10, 2026
PR 正文图片引用此前无机械校验,PR #117 对比表残留运行目录相对路径漏发布 (附件 URL 被另起一行挂在页脚后)。fix: - checkBody 拒绝非附件 URL 的 ![…] 引用(draft 阶段即拦本地/相对路径; 围栏代码块内的示例不拦截) - ready 门禁对每个附件 URL 逐个探活(GET 首块字节,2xx + 图片魔数/类型, 15s 超时,无凭据);verifyPresentation 增加可注入探针供离线测试 - 合并回执新增 head_branch/branch_deleted(保留须记 branch_kept_reason, 待分支最后一个 PR 合并时删除);verify-delivery 拒绝缺失记录的合并回执, 历史回执走 legacy 放行 - github-delivery.md/workflow.md 同步契约与回执字段说明 验证:scripts 117/117 测试通过(含 3 个新增用例:本地路径拒绝、探活拒绝、 探活魔数判定);lei-pre-commit-guard PASS(6 文件 +96/-7,0 发现)。 Co-Authored-By: Claude Code <noreply@anthropic.com>
leizongmin
added a commit
that referenced
this pull request
Oct 10, 2026
PR description 的前后对比表只有图片时读者难以理解差异(用户 2026-10-09 反馈: 光看图不容易看明白)。模板与交付契约要求每个图片行紧邻上方有一行纯文字描述 (前/后列各一句,两图相同时说明为何相同是预期);检查器在配对核验中机械校验 该行存在(两格非空、无图片引用、非表头/分隔行),缺失即拒绝。 PR #117 正文已同步加描述行;脚本测试 118 全绿(新增缺失/错位/嵌图/空格四变体)。 Co-Authored-By: Claude Code <noreply@anthropic.com>
leizongmin
force-pushed
the
site-opt/20261008-github
branch
2 times, most recently
from
October 10, 2026 04:57
fa7e546 to
a2479f7
Compare
leizongmin
added a commit
that referenced
this pull request
Oct 10, 2026
PR 正文图片引用此前无机械校验,PR #117 对比表残留运行目录相对路径漏发布 (附件 URL 被另起一行挂在页脚后)。fix: - checkBody 拒绝非附件 URL 的 ![…] 引用(draft 阶段即拦本地/相对路径; 围栏代码块内的示例不拦截) - ready 门禁对每个附件 URL 逐个探活(GET 首块字节,2xx + 图片魔数/类型, 15s 超时,无凭据);verifyPresentation 增加可注入探针供离线测试 - 合并回执新增 head_branch/branch_deleted(保留须记 branch_kept_reason, 待分支最后一个 PR 合并时删除);verify-delivery 拒绝缺失记录的合并回执, 历史回执走 legacy 放行 - github-delivery.md/workflow.md 同步契约与回执字段说明 验证:scripts 117/117 测试通过(含 3 个新增用例:本地路径拒绝、探活拒绝、 探活魔数判定);lei-pre-commit-guard PASS(6 文件 +96/-7,0 发现)。 Co-Authored-By: Claude Code <noreply@anthropic.com>
leizongmin
added a commit
that referenced
this pull request
Oct 10, 2026
PR description 的前后对比表只有图片时读者难以理解差异(用户 2026-10-09 反馈: 光看图不容易看明白)。模板与交付契约要求每个图片行紧邻上方有一行纯文字描述 (前/后列各一句,两图相同时说明为何相同是预期);检查器在配对核验中机械校验 该行存在(两格非空、无图片引用、非表头/分隔行),缺失即拒绝。 PR #117 正文已同步加描述行;脚本测试 118 全绿(新增缺失/错位/嵌图/空格四变体)。 Co-Authored-By: Claude Code <noreply@anthropic.com>
实现 WHATWG HTML import map 解析(exact-key + trailing-slash 前缀键;未命中保持 resolve_document_url 原路径,URL 形态零漂移),并挂钩模块解析全链: - script-sandbox 新增 import_map.rs(parse_from_page/resolve/resolve_mapped,规范锚 注释 + 单测);ModuleRegistry::set_import_map(默认 None,零行为变化); resolve_registered_specifier 单点挂钩 transform_import 全形态,静态/动态 import 同按本代 map - engine 新增 extract_import_map_json,从页面 HTML 提取 `<script type="importmap">` - renderer:js_worker SetDomSnapshot 每代重取 map(无 map/解析失败整张不注册,不跨页 污染),ExecuteModule、动态 import 回调、collect_module_deps 消费;script_prefetch 静态依赖展开同样先过 resolve_mapped(修复活体裸键 404 波的最后一个 mapless 提交方); page_scripts 预取路径同型 - browser:tab_js_worker 三消费点 + tab_scripts 快照预取路径同型挂钩 验证: - 离线编译探针:github.com 捕获的全部 83 个模块资产 83/83 编译 OK(基线 12/18,6 个 裸说明符 ERR 资产全消除);无 map 时 12 个原 OK 资产编译产物逐字节不变(零漂移) - 活体 github.com home:裸键 join fetch 0(修复前 20+ 个 404,react 等 6 键全命中 映射 URL)、全日志 0 个 4xx/5xx、0 exceptions、bodyTextLength 136302 与基线逐字节 相同;repo-vscode 0 异常/0 requestFailed - 测试:新增 import map 单测与 renderer 预取映射判别测试;renderer 231、 script-sandbox 314+10、engine 2937(1 例深嵌套栈溢出为既存环境失败,stash 后 clean HEAD 同败)、integration 785、browser 焦点套件 5/6(1 例既存失败,clean HEAD 同败) - cargo fmt --check 无 diff;cargo clippy --workspace --all-targets -D warnings 通过 Co-Authored-By: Claude Code <noreply@anthropic.com>
PR 正文图片引用此前无机械校验,PR #117 对比表残留运行目录相对路径漏发布 (附件 URL 被另起一行挂在页脚后)。fix: - checkBody 拒绝非附件 URL 的 ![…] 引用(draft 阶段即拦本地/相对路径; 围栏代码块内的示例不拦截) - ready 门禁对每个附件 URL 逐个探活(GET 首块字节,2xx + 图片魔数/类型, 15s 超时,无凭据);verifyPresentation 增加可注入探针供离线测试 - 合并回执新增 head_branch/branch_deleted(保留须记 branch_kept_reason, 待分支最后一个 PR 合并时删除);verify-delivery 拒绝缺失记录的合并回执, 历史回执走 legacy 放行 - github-delivery.md/workflow.md 同步契约与回执字段说明 验证:scripts 117/117 测试通过(含 3 个新增用例:本地路径拒绝、探活拒绝、 探活魔数判定);lei-pre-commit-guard PASS(6 文件 +96/-7,0 发现)。 Co-Authored-By: Claude Code <noreply@anthropic.com>
react-core(pricing cmi chunk)正文含 react-router 开发警告字符串,`export const
__webpack_modules__={…}` 巨型声明整包进 split_from_clause 裸扫,串内
`from \`react-router/dom\`` 被切成幻影静态依赖:collect_module_deps fetch 404 →
__zw_compile_module 返空 → 模块 "Module not found" → 站点 chunk 三连重试报
`Loading chunk cmi failed`;prefetch 层同幻影另发 `script fetch failed`。
r7 不触发(模块树止步裸键 404,react-core 从未编译);P6 深化加载后暴露。
Chrome 不切字符串内 import 文本故 0 异常。
修复:按 ECMA-262 ImportClause/#sec-exports 先验语句形态——import 子句仅
`{`/`*`/引号/IDENT+from|`,`,再导出仅 `{`/`*`;不合形态整句跳过,from 裸扫不再
触达声明正文(合法绑定子句无字符串词法形态)。
验证:
- 红态探针:真实 react-core 275KB 提取恰 `["react-router/dom"]`;修复后 0
- 新增 5 单测:react-core 形态最小复现、import/export 两侧幻影拒收、默认/组合/
命名空间/字符串/压缩真实形态不误伤
- sandbox 319P / renderer 231P / browser bin 483P(5 失败经 stash 循环确证既有,
非本轮引入);fmt/clippy 全绿,见任务证据 gate-rust-quality-p6b.log
- 本修复后 pricing 活体仍余 5 个 react-partial chunk 失败(Module not found:
react),根因为动态 import 路径漏接页面 import map,由后续提交修复
Co-Authored-By: Claude Code <noreply@anthropic.com>
github lazy chunk(chunk-lazy-react-partial-*-<hash>.js)静态 import 裸说明符
(`import*as r from"react"`),依赖 github 页面 import map 解析。P6 只给静态入口
路径(execute_module_in_sandbox)接了 map;动态 import 的 __zw_compile_module
回调自建 ModuleRegistry 未接——transform_import → resolve_registered_specifier
的 map 阶段 miss → registry.get("react") 失败 → "Module not found: react" →
回调吞为空串 → __zw_load_module 抛错 → 站点 Rspack 重试 3 次报 Loading chunk
failed。pricing 5 个 react-partial chunk 全部此根因(其静态 import 为裸说明符;
共享 chunk 经静态图编译不受影响)。Chrome 用原生 import map 故正常。
离线端到端复现(replica 探针:真实 chunk + github 页面 map,逐镜像回调链):
fetch ×8 ✓ → collect ✓ → compile FAIL "Module not found: react";接 map 后
5/5 chunk compile ok(kq9/u2l/7gn/xy/jdp)。
修复:renderer js_worker 与 browser tab_js_worker(同源拷贝)的编译回调
registry 统一 set_import_map(镜像静态路径的 P6 接线位)。
验证:
- replica 5/5 chunk PASS(离线端到端)
- script-sandbox 新增 compile 级回归测试:无 map 判别失败(错误点名裸说明符)
+ 有 map 内联成功(test_compile_dependency_iife_resolves_bare_specifier_
via_import_map)
- sandbox 319P / renderer 231P / browser bin 483P(5 失败经 stash 循环确证既有,
非本轮引入);fmt/clippy 全绿,见任务证据 gate-rust-quality-p6b.log
- 活体 pricing/home 复测见任务证据(t2n 轮)
Co-Authored-By: Claude Code <noreply@anthropic.com>
PR description 的前后对比表只有图片时读者难以理解差异(用户 2026-10-09 反馈: 光看图不容易看明白)。模板与交付契约要求每个图片行紧邻上方有一行纯文字描述 (前/后列各一句,两图相同时说明为何相同是预期);检查器在配对核验中机械校验 该行存在(两格非空、无图片引用、非表头/分隔行),缺失即拒绝。 PR #117 正文已同步加描述行;脚本测试 118 全绿(新增缺失/错位/嵌图/空格四变体)。 Co-Authored-By: Claude Code <noreply@anthropic.com>
reset 路径反转 R384「生产态 shim 后装」安装序:ResetDocumentState 臂重放 shim
后,下一 SetDomSnapshot 跨代际全量 native install 无条件
global.set("HTMLElement") 覆盖 shim ctor 桥。此后 class X extends HTMLElement
(github turbo FrameElement、react-partial)经 polyfill _ceRunCtor 升级时
super() 落 native ctor:upgrade_node_id() 为空 → this 绑到新建的 detached div,
ctor 体字段落在被丢弃的构造产物上 → createElement 产物仅原型正确,读 delegate
即 Object.getPrototypeOf(undefined) TypeError(t2e..t2g 四轮 beacon 裁决;
tab_js_worker 持久 context 不触发,不受影响)。
修复(共享路径,通用机制):part03.js 桥块登记
globalThis.__zwShimHTMLElementCtor(同代唯一 closure 的桥函数对象锚点);
js_worker SetDomSnapshot 臂在跨代 install 之后重申同一对象——_zwCeExisting
消费与 WC-M1 分支语义原样保留。reset 臂 shim 重放保留(4 个在库测试钉
「reset 后世界可用」契约,__zw_begin_script 由 shim 提供);不可用二次 eval
整体补装(customElements 存在守卫产生 closure 割裂)。
测试:js_worker 新增 renderer_js_worker_ce_upgrade_survives_cross_gen_native_install
(真实 worker 命令环驱动 snapshot→reset→snapshot,define + createElement 断
ctor 体 own property;自然红 left:"false" → 修复后绿);engine part49 钉
ce-vendors polyfillWrapFlushCallback 相容面(主/子 registry 双挂)。同批带上:
part06.js Document ParentNode 读侧四 getter(exc2:behaviors
document.firstElementChild.classList TypeError)、bridge_tests 注册 part49。
活体验证(t2n,19:58:03 release 二进制):home exc1 特征 0(基线 2)、
repo-vscode 0 exceptions/consoleErrors/requestFailed、DOM 文本与基线逐字节同
(136302);错误面前移一层为 connectedCallback 递归环(P13,另切片)。
门禁:fmt 0 diff;clippy --workspace --all-targets -D warnings exit 0;renderer
lib 241(含 main 侧新钉)/ engine 2973 / ce_ 166 全绿;git diff --check 净。
make test 8 腿(workspace 腿 900s→2700s 墙钟补跑,资源守卫参数非 oracle):
A–G 全绿;leg H(quickjs renderer --lib)238/239——唯一失败
finish_page_load_fires_body_onload_r2946 为既存 main 侧 quickjs 组合缺口(判别
实验:stash 暂存后干净 HEAD 同败 30.26s vs 30.27s;同管线 r2941 过 → 故障面在
body-handler 反射的 quickjs 行为),非本切片回归,已记问题池 P14 另切片修复。
注:本机 harness shell 缺 ~/.profile 的 BINDGEN_EXTRA_CLANG_ARGS(rquickjs-sys
bindgen 资源头目录),workspace 级 clippy/test 需显式 export,机器级缺口为
libclang-common-18-dev 未装、无 sudo 修复。
Co-Authored-By: Claude Code <noreply@anthropic.com>
leizongmin
force-pushed
the
site-opt/20261008-github
branch
from
October 10, 2026 04:58
a2479f7 to
6243f7f
Compare
首版 key 记账(_ceUpgraded[sel-key])在 proxy 缓存失效(导航清空、R52 移除清理) 后重建的同 sel 元素被永久跳过升级——无原型无 ctor 空壳,github repo 页动态 apply 常态触发 hydration 中断(Execution timeout 30000ms 簇)。改为 WeakMap 按元素对象 身份记账:不触 proxy trap、无跨元素键碰撞、可 GC;升级一次性语义不变(define 重走 /upgrade 重走/innerHTML attach 不重放 ctor),重建 proxy 正常重放升级(与无修复 HEAD 行为一致且重放面严格更小)。 测试:wc_m1_ce_upgrade_once_reentrancy 扩至 w1-w9(重走不重放/define 前已连补派/ reentrancy 环一步收敛/re-connect 重派/同 tag 多实例逐实例升级);wc_m1_ce_customized_ builtins 预期更新为钉死 D/F define 全文档重走不重放已升级元素(旧预期含两组重放 序列,即本修复针对的回归形态)。zero-engine lib 2959 通过 0 失败;fmt、workspace clippy -D warnings 通过。 Co-Authored-By: Claude Code <noreply@anthropic.com>
PR #117 双审查返修:base 的初始 attributeChangedCallback 派发由非法 ctor 重放 携带;P13 一次性记账消灭重放后,克隆/innerHTML 升级面丢失组件属性初始化回调 (lit/stencil 依赖该路径)。将初始派发收口进升级原语 _ceRunCtor(walk/clone/ R365/R366/createElement 六调用点统一覆盖),spec「upgrade a custom element」 enqueue step 顺序 ctor→attr;walk 面独立派发点移除,避免双重派发。 新增测试钉:wc_m1_ce_clone_initial_attr(未升级元素在升级点 ctor+携带属性 初始 attr 恰好一次、重走不重放;克隆腿同时钉定本引擎既有延迟升级时序)与 test_document_parent_node_read_getters(TV-F3:Document ParentNode 读侧四 getter + classList 可达性)。zero-engine lib 2961 测试全绿。 Co-Authored-By: Claude Code <noreply@anthropic.com>
leizongmin
marked this pull request as ready for review
October 11, 2026 02:29
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 3d6904cf-b231-4204-a19d-e08704d71720) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
解决了什么
本 PR 按切片累积交付 github.com 打开链路的四个兼容性根修与交付工具改进。打开 github.com 曾出现四层问题,自上而下逐一根修:
1. import map:裸说明符映射
页面经
<script type="importmap">把react、react-dom等裸说明符映射到 githubassets 哈希 URL;ZeroWeb 之前不解析 import map,模块加载器把裸说明符按相对路径 join 成无效 URL,整组 404(home 一次加载 20+ 个),依赖这些模块的页面行为静默中止。实现 WHATWG HTML import map 解析与全链挂钩:
script-sandbox新增import_map.rs:exact-key + trailing-slash 前缀键解析;未命中映射键保持原resolve_document_url路径(URL 形态零漂移)。ModuleRegistry增set_import_map(默认None,无 map 时行为不变),在 specifier 解析单点挂钩,静态 import 与动态import()同按本代 map。engine新增extract_import_map_json提取页面 import map。js_worker快照换代重取 map(无 map/解析失败整张不注册,不跨页污染);模块执行、动态 import 回调、依赖收集消费同一 map;script_prefetch预取队列的静态依赖展开同样先过映射(活体 404 波的最后一个未映射提交方)。tab_js_worker/tab_scripts同型挂钩。2. 静态 import 提取器形态先验
github react-core(275KB webpack 产物)正文含
export const __webpack_modules__={…},其字符串内的from \react-router/dom`被提取器整句裸扫from切成幻影依赖 → fetch 404 →__zw_compile_module` 返空 → "Loading chunk cmi failed after 3 retries"(切片 1 深化模块树后暴露,pricing 控制台异常的单一根因)。修复:ImportClause/再导出形态先验——不合绑定子句形态的整句跳过(TC39 #sec-imports/#sec-exports),from 裸扫不再触达声明正文。5 个新单测(真实 react-core 形态最小复现红→绿、import/export 两侧幻影拒收、真实形态不误伤)。
3. 动态 import 编译回调接入页面 import map
react-partial 等经 webpack
import("./"+t.u(e))运行时动态加载 chunk,该路径的编译回调此前不消费页面 import map,动态说明符裸键 join 404。修复后动态 import 回调与静态执行同按本代 map 解析(切片 1 的 ModuleRegistry 单点已就位,此处补回调侧消费)。4. reset 路径 shim HTMLElement 桥重申 + Document ParentNode getters
exc1:
ResetDocumentState臂重放 shim 后,下一SetDomSnapshot跨代际全量 native install 无条件global.set("HTMLElement")覆盖 shim ctor 桥 →class X extends HTMLElement(turbo FrameElement、react-partial)经 polyfill_ceRunCtor升级时 super() 落 native ctor、upgrade_node_id()为空 → ctor 体字段落在被丢弃的构造产物 →Object.getPrototypeOf(undefined)TypeError 簇(t2e..t2g 四轮 beacon 裁决;tab_js_worker 持久 context 不触发)。修复(共享路径):part03.js 桥块登记
globalThis.__zwShimHTMLElementCtor(同代唯一 closure 的桥函数对象锚点);js_worker SetDomSnapshot 臂跨代 install 后重申同一对象,_zwCeExisting消费与 WC-M1 分支语义原样保留;reset 臂 shim 重放保留(4 个在库测试钉「reset 后世界可用」契约)。回归钉renderer_js_worker_ce_upgrade_survives_cross_gen_native_install(真实 worker 命令环驱动 snapshot→reset→snapshot,自然红left:"false"→ 修复后绿)。同批:engine part49 钉 ce-vendorspolyfillWrapFlushCallback相容面(主/子 registry 双挂);part06.js 补 Document ParentNode 读侧四 getter(exc2:behaviorsdocument.firstElementChild.classListTypeError,活体可见)。5. 交付工具
delivery-check.mjs:draft 拒绝非附件 URL 的图片引用(2026-10-09 本 PR 对比表漏替换实测)、ready 阶段附件逐个探活(2xx + 图片魔数)、对比表图片行强制紧邻纯文字描述行;合并确认后删除远端 head 分支(串行 PR 复用时记录保留原因)。本 PR 截图按该门禁交付。6. CE 升级一次性记账(P13)
exc1 修复后错误面前移一层:自定义元素注册表条目同 selector 重建时(页面动态再注册/同代重升级),升级路径无按实例的一次性标记——已升级元素被重跑构造器产出的空壳顶替(字段丢失),且 connectedCallback 内触发的再入升级形成递归环(2026-10-09 home 活体:5× RangeError Maximum call stack,栈形
_ceUpgradeSubtree → _ceUpgradeNode → connectedCallback → Proxy.get自指,伴 2× Execution timeout + 1× Compile error)。修复(规范路径,part03.js):升级一次性记账改为按元素实例 WeakMap(
_ceUpgraded)——构造器执行前标记、重入直接返回原实例(对应 html.spec.whatwg.org/multipage/custom-elements.html「upgrade-a-custom-element」将元素标记为 upgraded 的语义);初始attributeChangedCallback与connectedCallback连接门按同源状态判定,不依赖构造产物替换;子树升级遍历预捕获 next,抗遍历中 DOM 变异。同 selector 重建空壳回归以真实 worker 命令环测试钉死(part29.rs:重建后实例字段完整、构造器恰好执行一次)。返修(c446329b9,缺陷首轮 F1):初始
attributeChangedCallback派发收口进升级原语_ceRunCtor(walk/clone/R365/R366/createElement 六升级面统一覆盖,walk 面独立派发点移除避免双重派发)——base 的初始派发由非法构造器重放携带,P13 消灭重放后克隆/innerHTML 升级面曾丢失组件属性初始化回调(lit/stencil 依赖该路径);现符合「upgrade-a-custom-element」enqueue step 顺序(构造器→初始 attr→connected)。7. 交付工具补充
p13fix门禁组合子:matched-pair 同日构建对照(构建确定性:两次独立构建四二进制逐字节相同)、负载采样旁车(时序敏感捕获与/proc/loadavg同录)、官方捕获负载窗口约束——2026-10-10 实测共享机器负载峰值(load≈4.4-5.7)可在无修复与修复二进制上同现 P13 签名伪影(低负载重测两者皆干净),门禁捕获因此强制低负载窗口 + 负载留证。怎么验证
bodyTextLength136302 前后逐字节相同。react-router/domfetch failed 与 cmi 重试失败清零(见 pricing 对照表)。cargo fmt --check0 diff;cargo clippy --workspace --all-targets -D warnings通过;make test8 腿(workspace 腿墙钟 900s→2700s 补跑,资源守卫参数非 oracle):A–G 全绿;leg H(quickjs renderer --lib)238/239——唯一失败finish_page_load_fires_body_onload_r2946为既存 main 侧 quickjs 组合缺口(判别实验:干净 HEAD 同败;同管线 r2941 过 → 故障面在 body-handler 反射的 quickjs 行为),非本切片回归,已记问题池独立修复。<script type=module>加载面,该宿主尚未接模块加载,导入超出本切片边界;以等价本地单测覆盖,宿主接入列入后续测试面切片。P13 切片补充:
wc_m1_ce_upgrade_once_reentrancy(w1-w9:重入/重放/子树升级矩阵)+ renderer 回归钉(真实 worker 命令环 snapshot→重建→snapshot),修复前红(空壳实例)→ 修复后绿。wc_m1_ce_clone_initial_attr(未升级元素在升级点构造器+携带属性初始 attr 恰好一次、重走不重放;克隆腿同时钉定本引擎既有延迟升级时序——cloneNode 不同步构造,与 base 同源)与test_document_parent_node_read_getters(TV-F3:Document ParentNode 读侧四 getter + classList 可达性,即 exc2 原生 TypeError 面)。zero-engine lib 2961 全绿;fmt 0 diff;workspace clippy -D warnings 通过;工程门禁六腿 + 目标门禁四检查在返修后 head 重跑全 PASS(候选 manifest r2 94226a32,捕获输出 p13fixp2-/p13fix2- 前缀,r1 官方证据封存不动;repo PNG 与锚点 822abdf8 仍逐字节同)。还有什么问题
__zw_dispatch_link_event路径 30s Execution timeout 签名:2026-10-10 晚 github 内容变体(react-core.3792 形态)下无修复与修复二进制同现,与页面内容双稳定态切换相关(当晚 18:05/19:25 稳定、19:0x 漂移,留档);shim 链接事件分发为何被阻塞 30s 根因待查(新问题池卡片)。modulepreload提示的加载风暴拖慢渲染进程(P11,既存已知问题,非本 PR 引入)。_ceUpgraded/_ceConn记账(缺陷首轮 F2,low):升级一次性不变式在该路径未闭合,与 base 同源非回归、重入环仍一步收敛;_ceUpgraded为 shim IIFE 闭包局部量,Rust 侧无法直书(单测不可构造),已记问题池后续切片处理。优化前后截图
场景 1 / 检查点:github.com pricing 页首屏(800×600,headless,等待 150s——P11 饱和簇口径需要长等待窗)
react-router/domfetch failed +Loading chunk cmi failed after 3 retries×2)react-router/domfetch failed + cmi×2),该异常已由本 PR 在日志层清零(见"怎么验证"切片 2);后图为返修后构建的 150s 帧——页面内容与导航结构已可见但样式未起(modulepreload 饱和簇挤压样式与模块处理,属既有 P11 开放簇,页面级恢复由 t-p11 下一切片承载。场景 2 / 检查点:github.com home 首屏(800×600,headless,等待 60s)
Object.getPrototypeOf(undefined)TypeError +document.firstElementChild.classListTypeError(exc1/exc2 根修对象)场景 3 / 检查点:github.com home 首屏(800×600,headless,等待 60s——切片 1 模块层证据,2026-10-09 午前捕获)
react等被 join 成无效 URL),依赖模块加载静默中止——问题在网络层,图面看不出来173bb91c0工作区前身(js_worker 已挂 map、预取层未挂——裸键 404 波活跃)/ 返修后 c446329 r2 构建(2026-10-10 快速捕获 60s)场景 4 / 检查点:github.com home 首屏(800×600,headless,patient 口径等待 60s;P13 matched-pair 同日构建对照)
独立审查
未解决阻断项:0。
报告保留在本地运行目录;以上为报告记录,独立性与交付就绪另由门禁核验。
各报告要点:
🤖 Generated with Claude Code
Note
Medium Risk
Changes module resolution and custom-element upgrade semantics on hot paths (renderer/browser JS workers and DOM shim); regressions could break real sites like github.com, though coverage is heavy. Delivery script changes only affect optimizer PR workflow.
Overview
Adds WHATWG import map support end-to-end so bare module specifiers (e.g.
react) resolve via page<script type="importmap">during prefetch, static module compile, and dynamicimport()—including newimport_map.rs, HTML extraction, and worker snapshot wiring in browser/renderer.Tightens ES module static-import extraction with import/re-export clause shape guards so webpack bundle strings are not mistaken for dependencies (fixes phantom
frommatches).Fixes github.com-style custom elements issues: shim
polyfillWrapFlushCallback, re-assert shimHTMLElementafter cross-navigation native install, P13 per-instance upgrade-once (_ceUpgraded) with initialattributeChangedCallbackin the upgrade path, and Document ParentNode read getters (firstElementChild, etc.).Site-optimizer delivery gates now require GitHub attachment URLs in draft, probe attachments at ready, caption rows above screenshot tables, and record post-merge remote branch deletion on merge receipts.
Reviewed by Cursor Bugbot for commit c446329. Bugbot is set up for automated code reviews on this repo. Configure here.