跳转至

静态 JavaScript 路由清单验证

Issue #4772。限定运行时 b49ee40bf330b7bf1c5180b14dcc104c1c613a8e,树 0e5f8fe2feae1796c340c07c26e0e28e5d4328d8, 集成 main c8ed32853881b08aa83459d4da55a28a4e09b0c8。记录于 2026-10-22T08:30:58.269Z。后续仅验证的提交会更改这些报告。该 JSON 记录 固定了原始输入、精确命令、配置、失败的控制项和历史修订。当前 HEAD 的 GitHub CI 和自动化审查必须单独检查。

最新的 main 契约、选定环境和 ASAR 准入仍由 CLI 与 MCP 共享。staged-code 钩子在格式化之前运行 lint 修复,从而解决了先前 CI 格式失败背后的生成顺序问题。

当前实现与已执行检查

共享的源码分析会产生稳定的路由、出现情况、来源和缺口事实。CLI 与 MCP 使用相同的保留 Evidence 视图,支持过滤、选定字段、批次标识和分页;完整的源 Evidence 仍可访问。覆盖率和显式未知项在紧凑交付和源码删除后依然保留。选定的 CLI 交付需要完整的 Evidence 导出;MCP 的保留情况会在分析前进行检查。不可变快照使用带有父身份检查的弱身份缓存;实时目标状态不会被缓存。

路由扫描复用了语义绑定、变更、字面量字段、引用和真值性检查的所有者逻辑。导航数据所有权会排除查询/搜索/哈希值、被调用者/投影/谓词边以及确定不活跃的分支,同时保留独立的词法路由。注册模式保留可选语法和初始化器范围。无法识别的数组/字符串方法不会成为导航。剩余拷贝排除、未解析投影、变更和循环会保留相应的独立事实或未知项。下一页分类共享一个所有者,涵盖私有文件夹、编码的公开下划线和未解析的拦截上下文。源码范围使用基于 1 的行号、基于 0 的 UTF-16 列号和排他性结束位置。

源码/事实和清单预算均为 8 MiB;可选事实适配实际剩余的合并结果预算。选定页面在其 1 MiB 界限内包含密封摘要。取消会保留先前的事实和 Evidence;工作线程清理和容量故障会保留带类型的结果。

当前集成使用 main 上的规范 Evidence 发布/清理所有者,以及延迟的 MCP 运行时/目录。CLI 交付显式生成 JsonValue,并投影两个发布回执标量,无需克隆完整 Evidence。规范的 web-bundle 状态和坐标所有者取代了重复类型。协调器的解析器-导入边界仍然覆盖在内。

3847 项源码检查和 116 项编译后的公共检查通过,其中包括 245 个扫描器回归、实际完整/紧凑 SDK 配置、两种 JSON Schema 方言、源码选择/删除、保留读取、取消、恢复、真实工作线程以及 CLI/浏览器适配器。当前公共选择还涵盖 ASAR 准入、选定环境、CLI 资源关闭和 Electron 文件作用域;早期启动/发布检查仍固定在其记录的运行时上。选定路径身份以独立的 30 秒原始截止时间运行。类型检查/lint 通过;文档检查在生成后记录在 JSON 中。已包含 main 基线 service-worker 截止时间修正 #6186;它保留了原始的停滞握手断言和测试保护。

一个有效的审查用例暴露了被覆盖的查询字段会隐藏独立路由初始化器:修复前有 7 个修正后的回归用例失败,而 182 个测试通过,其中包括 4 个新的有效/不确定数据控制项。所有权逻辑现在会查阅现有的缓存有效字段读取器。已知的最终槽位或方法会排除被丢弃的引用;未知的展开/计算键仍然保持保守。源码删除后的完整/紧凑 SDK 读取以及两个浏览器适配器均保留独立路由。公共 SDK 断言要求精确的预期计数以及每一个预期路径。该记录保留了失败的验证以及修正后的初始测试工具字段名;无效的工具失败不会被计为缺陷。

第二个审查用例暴露了选定的成员查询数据变成页面路由的问题。6 个直接/计算/可选、别名、嵌套和数组成员用例失败,而 189 个对照组通过。现有的静态成员链辅助函数现位于共享的 AST 所有者中;两者都要求使用方使用它,并且其旧导出已被移除。可选准入检查会在保留之前对每个路径步骤计费。导航源码选择在每个读取处复用规范的候选值来源,并复用与复制初始化器共享的一次选定槽位遍历,而不会声明整个接收者或被调用者命名空间。当前的完整/紧凑保留 SDK 查询和两个浏览器适配器都会排除选定的查询对象,同时保留其独立的兄弟对象。

先前一个运行时的公共批次触发了两个原始的 30 秒 schema 截止时间。那次失败的尝试、成功的隔离重跑以及它们的合并资源成本都固定记录在 JSON 中。当前执行单独运行 schema 有效性,其他 18 个套件一起运行,选定路径身份单独运行,并保留原始断言和截止时间。

在最新修复之前,5 个原型/自有属性用例失败,而 198 个用例通过。字段所有者现在复用了现有的 AST 原型 setter 谓词。Setter 保留未解析的继承关系,但不能覆盖计算/简写的自有键;setter 数据引用不会作为自有键写入而被丢弃。直接、成员和解构查询选择共享此所有者。完整/紧凑历史 SDK 读取和两个浏览器适配器都会排除原型形状的查询负载。该运行时保留了 main 的整数 schema 分配优化,并集成了最新的 main 契约、共享键控排序和保留父节点的解析器。唯一的合并冲突是分析视图描述:完整的上游文本以及精确的路由视图句子均被保留。当前目录变更和新的客户端/schema 检查单独记录在 JSON 中。

后续审查发现,生命周期身份资格中保留的字段在查询读取前已被证明会被替换。八个用例失败,而 206 个对照组通过。成员读取和直接标识符现在都使用规范的值流来源或绑定快照作为其读取位置。未知顺序保留可能的来源;已知替换排除过期的来源。绑定一次的重复数据删除被移除,因为不同的读取可能选择不同的值;语法循环和资源边界仍然保留。删除后的两个 SDK 配置文件和两个浏览器适配器都保留了通过成员和直接变量替换的独立路径,而实际替换载荷和更早/可能的查询数据仍然被排除。

进一步审查通过条件别名、未知数组成员和嵌套接收者别名重现了四个失败,而 215 个对照组通过。共享的变更生产者现在区分已证明的接收者身份和可能的别名。规范的读取时选择在丢弃原始值或被取代的前缀之前,同时要求身份和顺序。延迟引用路径保留该证明和赋值值的来源;重复数据删除包含确定性。通过读取自身别名的直接写入仍然证明替换。删除后的两个公共 SDK 配置文件和两个浏览器适配器覆盖了一个不同的不确定别名载荷,而不声称整个接收者。

CI 还捕获了我们在无关的 Dart ABI 广告中的集成回归:lint 移除了一个斜杠转义,使该模式在 JavaScript v 模式下无效。ABI 模式现在将斜杠编码为十六进制码点,与现有的可移植模式一致,并且在 lint 修复下保持稳定。原始广告模式客户端测试包含在此次资格认证中。先前关于转义和非转义字符类在客户端间等价的推断被撤回;不声称任何 Dart 提供者执行。被中断的被取代的本地运行和失败的 CI 保留在 JSON 记录中。

两个后续审查用例重现了十一个失败,而 222 个对照组通过:被展开清除的可能查询字段变成了页面,选中的成员配置声称了无关的兄弟字段。选中的槽位遍历现在使用规范的可能对象/数组引用所有者;精确字段仍然证明正的目标。配置所有权通过相同的遍历保留成员和复制的初始化器路径。条件容器选择重用现有的值边/真值规则。正常路径推进偏移量;异常路径扩展在分配之前计费,节点/路径访问限制循环。

这也暴露了一个规范的计算键覆盖缺陷:一个独立的语义分析回归在所有者修复之前以未知覆盖失败,并在此后保留其原始字面量。更早的未知计算值被后来的明确槽位排除;仅有后来的 setter 配对的 getter 仍然保持可能。访问器和条件容器对照组通过。删除源后的两个 SDK 配置文件和两个浏览器适配器排除了一个不同的可能查询载荷,并以精确计数保留了所选配置的独立兄弟字段。不支持的项目化配置保留明确的缺口。实际的 SDK 工具定义在结构上与先前合格的运行时相同。

下一次审查重现了两个增长的 getter 投影,耗尽了 8 MiB 路由预算并隐藏了一个独立路由。一个现有的直接读者黄金测试也保留了被覆盖的计算键备选方案;更早的选定测试矩阵遗漏了该生产者套件。三个用例失败,241 个对照组通过,包括一个有限重复 getter 对照组。源顺序期望现在与共享所有者的明确覆盖规则一致。

随后的审查表明,后缀长度不足以作为递归证明:两个有限 getter 链被标记为循环,将查询数据泄漏为页面路由;243 个对照组通过。该推断被撤回。选值遍历现在使用值/查找/完成帧:评估每个规范返回引用路径,清除其未完成的接收者/键,然后恢复调用者的成员路径。作用域访问映射保留独立的结果汇。后缀长度启发式和后缀连接已被移除。三个有限/嵌套用例与真正的直接/相互递归 getter 和有限重复选择一起通过。删除后的两个保留 SDK 配置文件和两个浏览器适配器排除了不同的有限 getter 查询载荷,同时保留精确的独立路由和实际的循环缺口。 当前源码资格认证覆盖 全部 133 个 JavaScript 域套件外加八个相关套件。它在精确的暂存源树上运行;提交钩子使该树保持不变,因此提交后未不必要地重复其源测试。新的构建依赖公共和真实工件工作流在冻结的运行时上运行。

真实生产输入与预言机

67 个保存的生产脚本中的每一个都通过生产隔离 worker 重新哈希并重新分析,使用一个语义投影节点、512 MiB worker 老生代空间和现有的 15 秒源码截止时间。应用程序源码作为数据读取。本次资格认证未重用任何源码事实。

首页捕获 脚本数 字节数 完成数 路由检查点 根模式数
nextjs-org 29 1,533,098 28 28 0
shadcn-ui 38 2,465,078 36 37 18

整个任务成本为 207.348 秒 / 313.847 CPU 秒 / 502,669,312 字节峰值家族 RSS。之前固定的运行时 972c5ad86 全 worker 运行耗时 277.184 秒 / 409.684 CPU 秒。这些是单独的观测值,不是时间分布。更早的配对源耗时观测值仍固定在其测量的修订版中,记录于 JSON。没有受控的因果消融或重复计时研究,因此源修正和主集成都不被赋予性能原因。配置的截止时间和部分/不可用事实是明确的。零个受支持的根 Next 模式并不表示零个应用路由。惰性/仅服务器代码、可达性和完整应用路由分母仍然未知。

对 86,218 字节的 shadcn 生产代码块 进行的独立直接字节级检查,恰好发现 18 个带引号的 /docs 模式,包括 12 个直接 href 属性。 SHA-256:45c6ead1e08cc578464e7a0c6b2e6764d7af83f99039e291f288a971b988b3fc。 每个全新的 SDK 和浏览器验证器都需要完整的、已排序的 18 模式 oracle、原始来源标识、来源出处以及完整保留的 Evidence。

自有 Chromium 156.0.8078.4 通过 Runtime.compileScript/persistScript 在空白本地页面上编译了该源码,但没有运行它。 实际 CLI 和官方 SDK 的 analyze_web_bundle 调用通过 CDP 被动捕获了它,并返回全部 18 个模式、原始 URL 和 SHA-256。 源码解析完整,枚举部分完成,应用覆盖情况未知。 自有进程和 temporary-profile 清理均成功。 成本:10.379 秒 / 13.481 CPU 秒 / 2,091,114,496 字节峰值进程族 RSS。

等效 SDK 任务成本

两个全新会话都以置信度、机制和来源出处列出 /docs 模式,保留完整 Evidence,执行三次保留的后续读取,并导出 Evidence。 它们断言相同的完整父级 Evidence 标识。 测量包含插桩,并使用完整的输入公告。

交付 已使用声明 + 所有调用/回复,tokenx 完整目录 + 所有调用/回复,tokenx 任务资源
完整 1,934,534 3,035,567 13.785 秒 / 18.104 CPU 秒 / 1,356,595,200 字节峰值进程族 RSS
选定 58,902 1,159,935 12.243 秒 / 15.909 CPU 秒 / 1,303,572,480 字节峰值进程族 RSS

Tokenx 统计实际公告的 schema、参数和完整 SDK 回复,包括导出和后续操作;它估算 token 数量,而非实际模型用量。 初始化、JSON-RPC 封装以及单独的 token 计数插桩成本仍未测量。 进程/会话均为全新,操作系统缓存处于热状态;没有进行文件系统缓存刷新、重复统计计时研究,也没有声称稳定的延迟/分析加速。 默认紧凑公告成本未被测量。 CPU 为负载进程族的 wait-rusage 增量,RSS 每 20 毫秒对所有后代任务进行采样。 重型任务在两个 CPU 上顺序运行,带有 8 GiB 进程族 RSS/420 秒保护。 未触发任何资格守卫。

JSON 保留了先前的失败、源所有者更正及其准确的前后修订。 历史 CI/审查并不能确立当前 head。 私有 issue 样本、完整应用路由、实时路由执行、外部云客户端以及 Windows/macOS provider 执行仍未验证。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 rea2/rea