结论:完成 LinuxCNC kinematics WASM ABI 覆盖,并将 web-rtcp-5axis-sim-plan 的 RTCP frame/boundary adapter 接到 xyzac-trt kinematics SDK;Node、build、browser smoke 验证通过。
1031 lines
37 KiB
Plaintext
1031 lines
37 KiB
Plaintext
text34.txt
|
||
|
||
一、接续说明
|
||
|
||
执行时间:2026-06-20 CST
|
||
|
||
本文件作为 `text33.txt` 之后的新接续文件。后续工作以本文件记录的
|
||
下一步计划为入口继续推进;`text33.txt` 保留 handoff external shell
|
||
receipt audit copy/export verification badge 及之前多轮执行记录。
|
||
|
||
本文件同时固化新的推进原则:
|
||
|
||
```text
|
||
下一轮可以继续完成 receipt audit bundle;
|
||
bundle 完成后,停止继续叠加 micro-surface;
|
||
后续转入“整合、命名稳定、减少重复断言”的阶段。
|
||
```
|
||
|
||
当前继续保持项目边界:
|
||
|
||
```text
|
||
LinuxCNC remains the only CNC semantic source
|
||
promotionAllowed=false
|
||
baselineChanging=false
|
||
inventoryBaselineUnchanged=true
|
||
inventory baseline=82/82/77/0
|
||
diagnostics artifact schema unchanged
|
||
release artifact schema unchanged
|
||
```
|
||
|
||
二、当前状态摘要
|
||
|
||
截至 `text33.txt` 最新完成批次,真实浏览器模拟页面已具备一组
|
||
operator-facing handoff external shell view-model:
|
||
|
||
```text
|
||
handoff review packet
|
||
handoff review packet copy/export
|
||
handoff review packet verification
|
||
handoff review packet verification badge
|
||
handoff statusbar snapshot
|
||
handoff statusbar receipt
|
||
handoff statusbar receipt verification
|
||
handoff statusbar receipt badge
|
||
external shell badge snapshot
|
||
external shell badge copy/export
|
||
external shell badge copy/export verification
|
||
external shell bundle
|
||
external shell bundle badge
|
||
external shell receipt
|
||
external shell receipt verification
|
||
external shell receipt verification badge
|
||
external shell receipt audit snapshot
|
||
external shell receipt audit copy/export
|
||
external shell receipt audit copy/export verification
|
||
external shell receipt audit copy/export verification badge
|
||
```
|
||
|
||
最新完成 surface:
|
||
|
||
```text
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditCopyExportVerificationBadge()
|
||
data-diagnostics="handoff-external-shell-receipt-audit-copy-export-verification-badge"
|
||
data-evidence-session-handoff-external-shell-receipt-audit-copy-export-verification-badge
|
||
data-evidence-session-handoff-external-shell-receipt-audit-copy-export-verification-badge-value
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditCopyExportVerificationBadgeText
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditCopyExportVerificationBadgeState
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditCopyExportVerificationBadgeDigest
|
||
```
|
||
|
||
最新验证结果:
|
||
|
||
```text
|
||
git diff --check
|
||
browser_real_simulation_page_smoke=ok
|
||
sim_configs_wasm_node_inventory=ok
|
||
standalone CNC semantics guard complete
|
||
```
|
||
|
||
inventory baseline 仍为:
|
||
|
||
```text
|
||
sim_configs_wasm_node_inventory_executed=82
|
||
sim_configs_wasm_node_inventory_passed=82
|
||
sim_configs_wasm_node_inventory_skipped=77
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
sim_configs_wasm_node_inventory_skip_ASSET_ONLY=65
|
||
sim_configs_wasm_node_inventory_skip_L4_USER_M_PROCESS=1
|
||
sim_configs_wasm_node_inventory_skip_NON_MAIN_CLASS=10
|
||
sim_configs_wasm_node_inventory_skip_UPSTREAM_DEMO=1
|
||
```
|
||
|
||
三、下一轮工作计划:receipt audit bundle
|
||
|
||
继续推进真实浏览器模拟页面 operator-facing external shell 可读性,不改
|
||
inventory baseline。下一轮只做一个收口型 bundle,把 receipt audit snapshot、
|
||
copy/export、verification 和 verification badge 汇总为一个 external shell
|
||
receipt audit bundle,作为外部壳层读取 audit copy/export 状态的推荐入口。
|
||
|
||
```text
|
||
1. 增加 getEvidenceSessionHandoffExternalShellReceiptAuditBundle();
|
||
2. 汇总 auditText、copyText、exportText、verificationText、badgeText、badgeState、digest;
|
||
3. 输出 bundleText / bundleState / digest;
|
||
4. 同步到 diagnostics panel、document.body.dataset 和只读 DOM;
|
||
5. browser smoke 覆盖 blocked / saved ready / restored ready 的 receipt audit bundle;
|
||
6. 不写 release artifact,不改 diagnostics artifact schema;
|
||
7. baseline 继续保持 82/82/77/0。
|
||
```
|
||
|
||
建议 bundle 字段:
|
||
|
||
```text
|
||
apiName=real-browser-simulation-evidence-session-handoff-external-shell-receipt-audit-bundle
|
||
phase=<blocked|ready>
|
||
ready=true
|
||
statusText=verified
|
||
bundleState=<phase>-receipt-audit-bundle-verified
|
||
bundleText=<single shell-readable line>
|
||
auditText=<receipt audit snapshot auditText>
|
||
copyText=<receipt audit copy/export copyText>
|
||
exportText=<receipt audit copy/export exportText>
|
||
verificationText=<receipt audit copy/export verificationText>
|
||
badgeText=<receipt audit copy/export verification badgeText>
|
||
badgeState=<receipt audit copy/export verification badgeState>
|
||
baseline=82/82/77/0
|
||
digest=<digest>
|
||
```
|
||
|
||
四、bundle 后的收敛阶段
|
||
|
||
receipt audit bundle 完成后,后续工作原则上不再继续新增
|
||
`badge-of-bundle`、`receipt-of-bundle`、`verification-of-bundle` 这类
|
||
micro-surface。下一阶段应转为整合和稳定:
|
||
|
||
```text
|
||
1. 确定推荐外部 shell 读取入口;
|
||
2. 梳理 getter / dataset / DOM 命名,确认不再继续漂移;
|
||
3. 把 browser smoke 中重复的字段断言收敛为共享 helper;
|
||
4. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
5. 减少测试复制实现逻辑,只验证主入口一致性、digest、baseline 和关键状态;
|
||
6. 不删除现有公开 surface,除非先记录兼容策略;
|
||
7. 不写 release artifact,不改 diagnostics artifact schema;
|
||
8. baseline 继续保持 82/82/77/0。
|
||
```
|
||
|
||
推荐外部 shell 主入口候选:
|
||
|
||
```text
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditBundle()
|
||
```
|
||
|
||
可保留但不继续扩展的中间入口:
|
||
|
||
```text
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditSnapshot()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditCopyExport()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditCopyExportVerification()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditCopyExportVerificationBadge()
|
||
```
|
||
|
||
五、验证要求
|
||
|
||
下一轮 receipt audit bundle 完成后至少运行:
|
||
|
||
```text
|
||
git diff --check
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
```
|
||
|
||
如改动触及 SDK、docs、release URL workflow 或 artifact 相关路径,再补跑对应
|
||
既有 gate;否则不应扩大 release artifact 或 diagnostics artifact schema。
|
||
|
||
六、注意事项
|
||
|
||
```text
|
||
不要新增 CNC 语义;
|
||
不要改变 LinuxCNC source-of-truth 边界;
|
||
不要提升 skipped inventory;
|
||
不要把 UI/API view-model 写入 release artifact;
|
||
不要修改 diagnostics artifact schema;
|
||
不要继续无界叠加 badge / receipt / verification 链条;
|
||
bundle 后优先做整合、命名稳定、测试去重。
|
||
```
|
||
|
||
七、本轮接续推进:receipt audit bundle 收口入口
|
||
|
||
执行时间:2026-06-20 CST
|
||
|
||
已完成第三节计划的 receipt audit bundle。该能力把 receipt audit snapshot、
|
||
copy/export、verification 和 verification badge 汇总成一个 external shell
|
||
receipt audit bundle,作为后续外部壳层读取 audit copy/export 状态的推荐主入口。
|
||
本轮只新增这一个收口型 bundle,不新增 bundle badge、bundle receipt 或
|
||
bundle verification,不写 release artifact,不改变 diagnostics artifact schema,
|
||
不新增 CNC 语义,也不改变 inventory baseline。
|
||
|
||
新增 UI/API surface:
|
||
|
||
```text
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditBundle()
|
||
data-diagnostics="handoff-external-shell-receipt-audit-bundle"
|
||
data-evidence-session-handoff-external-shell-receipt-audit-bundle
|
||
data-evidence-session-handoff-external-shell-receipt-audit-bundle-value
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleText
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleState
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleDigest
|
||
axis statusbar state handoffExternalShellReceiptAuditBundle*
|
||
```
|
||
|
||
bundle 汇总字段:
|
||
|
||
```text
|
||
auditText
|
||
copyText
|
||
exportText
|
||
verificationText
|
||
badgeText
|
||
badgeState
|
||
baseline=82/82/77/0
|
||
digest
|
||
```
|
||
|
||
blocked 初始 bundle:
|
||
|
||
```text
|
||
phase=blocked
|
||
status=verified
|
||
bundleState=blocked-receipt-audit-bundle-verified
|
||
ready=true
|
||
```
|
||
|
||
保存 / 恢复 virtual HAL session 后的 ready bundle:
|
||
|
||
```text
|
||
phase=ready
|
||
status=verified
|
||
bundleState=ready-receipt-audit-bundle-verified
|
||
ready=true
|
||
```
|
||
|
||
同步位置:
|
||
|
||
```text
|
||
diagnostics panel
|
||
document.body.dataset
|
||
只读 DOM
|
||
browser API
|
||
axis statusbar state
|
||
```
|
||
|
||
边界仍保持:
|
||
|
||
```text
|
||
promotionAllowed=false
|
||
baselineChanging=false
|
||
inventoryBaselineUnchanged=true
|
||
inventory baseline=82/82/77/0
|
||
diagnostics artifact schema unchanged
|
||
release artifact schema unchanged
|
||
```
|
||
|
||
本轮已运行验证:
|
||
|
||
```text
|
||
git diff --check
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
```
|
||
|
||
结果:
|
||
|
||
```text
|
||
browser_real_simulation_page_smoke=ok
|
||
sim_configs_wasm_node_inventory=ok
|
||
standalone CNC semantics guard complete
|
||
```
|
||
|
||
inventory 验证结果仍为:
|
||
|
||
```text
|
||
sim_configs_wasm_node_inventory_executed=82
|
||
sim_configs_wasm_node_inventory_passed=82
|
||
sim_configs_wasm_node_inventory_skipped=77
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
sim_configs_wasm_node_inventory_skip_ASSET_ONLY=65
|
||
sim_configs_wasm_node_inventory_skip_L4_USER_M_PROCESS=1
|
||
sim_configs_wasm_node_inventory_skip_NON_MAIN_CLASS=10
|
||
sim_configs_wasm_node_inventory_skip_UPSTREAM_DEMO=1
|
||
```
|
||
|
||
八、下一步工作计划:整合、命名稳定、测试去重
|
||
|
||
按照本文件开头固化的原则,receipt audit bundle 完成后停止继续新增微型
|
||
handoff surface。下一阶段转入整合、命名稳定、测试去重:
|
||
|
||
```text
|
||
1. 将 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 记录为推荐外部 shell 主入口;
|
||
2. 梳理 handoff external shell getter / dataset / DOM 命名,形成稳定命名清单;
|
||
3. 标记中间入口为兼容保留,不继续派生 badge / receipt / verification;
|
||
4. 抽取 browser smoke 共享 helper,减少重复字段断言;
|
||
5. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
6. 测试重点收敛到主入口一致性、digest、baseline、phase、ready 和关键 state/text;
|
||
7. 不删除现有公开 surface,除非先记录兼容策略;
|
||
8. 不写 release artifact,不改 diagnostics artifact schema;
|
||
9. baseline 继续保持 82/82/77/0。
|
||
```
|
||
|
||
明确禁止的后续扩展:
|
||
|
||
```text
|
||
不要新增 getEvidenceSessionHandoffExternalShellReceiptAuditBundleBadge()
|
||
不要新增 getEvidenceSessionHandoffExternalShellReceiptAuditBundleReceipt()
|
||
不要新增 getEvidenceSessionHandoffExternalShellReceiptAuditBundleVerification()
|
||
不要继续无界叠加 badge / receipt / verification 链条
|
||
```
|
||
|
||
九、本轮接续推进:整理阶段第一轮测试 helper 收敛
|
||
|
||
执行时间:2026-06-20 CST
|
||
|
||
已按第八节原则进入整合、命名稳定、测试去重阶段。本轮不新增 runtime
|
||
surface,不改变 UI/API 行为,不写 release artifact,不改变 diagnostics
|
||
artifact schema,不新增 CNC 语义,也不改变 inventory baseline。
|
||
|
||
本轮完成:
|
||
|
||
```text
|
||
1. 确认 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐外部 shell 主入口;
|
||
2. 在 browser smoke 中抽取共享 helper:
|
||
- HANDOFF_BASELINE
|
||
- assertEqual()
|
||
- assertDatasetValues()
|
||
- assertDomText()
|
||
3. 将 receipt audit bundle 的 dataset / DOM 重复断言收敛到共享 helper;
|
||
4. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
5. 保留中间入口兼容断言,不删除现有公开 surface;
|
||
6. 未新增 BundleBadge / BundleReceipt / BundleVerification。
|
||
```
|
||
|
||
推荐外部 shell 主入口:
|
||
|
||
```text
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditBundle()
|
||
```
|
||
|
||
兼容保留、但不继续派生的中间入口:
|
||
|
||
```text
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditSnapshot()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditCopyExport()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditCopyExportVerification()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditCopyExportVerificationBadge()
|
||
```
|
||
|
||
边界仍保持:
|
||
|
||
```text
|
||
promotionAllowed=false
|
||
baselineChanging=false
|
||
inventoryBaselineUnchanged=true
|
||
inventory baseline=82/82/77/0
|
||
diagnostics artifact schema unchanged
|
||
release artifact schema unchanged
|
||
```
|
||
|
||
本轮已运行验证:
|
||
|
||
```text
|
||
git diff --check
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
```
|
||
|
||
结果:
|
||
|
||
```text
|
||
browser_real_simulation_page_smoke=ok
|
||
sim_configs_wasm_node_inventory=ok
|
||
standalone CNC semantics guard complete
|
||
```
|
||
|
||
inventory 验证结果仍为:
|
||
|
||
```text
|
||
sim_configs_wasm_node_inventory_executed=82
|
||
sim_configs_wasm_node_inventory_passed=82
|
||
sim_configs_wasm_node_inventory_skipped=77
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
sim_configs_wasm_node_inventory_skip_ASSET_ONLY=65
|
||
sim_configs_wasm_node_inventory_skip_L4_USER_M_PROCESS=1
|
||
sim_configs_wasm_node_inventory_skip_NON_MAIN_CLASS=10
|
||
sim_configs_wasm_node_inventory_skip_UPSTREAM_DEMO=1
|
||
```
|
||
|
||
十、下一步工作计划:命名稳定清单与兼容保留说明
|
||
|
||
继续执行整合、命名稳定、测试去重,不新增 runtime surface。下一轮建议把
|
||
handoff external shell 的推荐入口、兼容保留入口、dataset、DOM selector 和
|
||
axis statusbar state 字段整理成稳定命名清单,并继续减少 smoke 中对中间入口的
|
||
重复实现式断言:
|
||
|
||
```text
|
||
1. 在 text34.txt 或专门 docs 中整理 external shell handoff stable naming inventory;
|
||
2. 标明 recommended entrypoint=getEvidenceSessionHandoffExternalShellReceiptAuditBundle();
|
||
3. 标明 compatible retained entrypoints,不继续派生;
|
||
4. 梳理对应 data-diagnostics / data-evidence-session-* / document.body.dataset / axis statusbar fields;
|
||
5. browser smoke 继续优先验证主入口一致性、digest、baseline、phase、ready 和关键 state/text;
|
||
6. 不新增 BundleBadge / BundleReceipt / BundleVerification;
|
||
7. 不写 release artifact,不改 diagnostics artifact schema;
|
||
8. baseline 继续保持 82/82/77/0。
|
||
```
|
||
|
||
十一、本轮接续推进:stable naming inventory 与兼容保留说明
|
||
|
||
执行时间:2026-06-20 CST
|
||
|
||
已按第十节计划整理 handoff external shell stable naming inventory。本轮只更新
|
||
接续文件中的推荐入口、兼容保留入口、dataset、DOM selector 和 axis statusbar
|
||
state 命名说明,不新增 runtime surface,不改变 UI/API 行为,不写 release
|
||
artifact,不改变 diagnostics artifact schema,不新增 CNC 语义,也不改变
|
||
inventory baseline。
|
||
|
||
推荐外部 shell 主入口:
|
||
|
||
```text
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditBundle()
|
||
```
|
||
|
||
推荐主入口状态字段:
|
||
|
||
```text
|
||
apiName=real-browser-simulation-evidence-session-handoff-external-shell-receipt-audit-bundle
|
||
phase
|
||
ready
|
||
statusText
|
||
bundleState
|
||
bundleText
|
||
auditText
|
||
copyText
|
||
exportText
|
||
verificationText
|
||
badgeText
|
||
badgeState
|
||
baseline
|
||
digest
|
||
```
|
||
|
||
推荐主入口 diagnostics / DOM / dataset 命名:
|
||
|
||
```text
|
||
data-diagnostics="handoff-external-shell-receipt-audit-bundle"
|
||
data-evidence-session-handoff-external-shell-receipt-audit-bundle
|
||
data-evidence-session-handoff-external-shell-receipt-audit-bundle-value
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundlePhase
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleReady
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleStatus
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleState
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleText
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleAuditText
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleCopyText
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleExportText
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleVerificationText
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleBadgeText
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleBadgeState
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleBaseline
|
||
document.body.dataset.evidenceSessionHandoffExternalShellReceiptAuditBundleDigest
|
||
```
|
||
|
||
推荐主入口 axis statusbar state 命名:
|
||
|
||
```text
|
||
axisStatusbarHandoffShellReceiptAuditBundleText
|
||
axisStatusbarHandoffShellReceiptAuditBundleState
|
||
axisStatusbarHandoffShellReceiptAuditBundleDigest
|
||
```
|
||
|
||
兼容保留入口:
|
||
|
||
```text
|
||
getEvidenceSessionHandoffExternalShellBadgeSnapshot()
|
||
getEvidenceSessionHandoffExternalShellBadgeCopyExport()
|
||
getEvidenceSessionHandoffExternalShellBadgeCopyExportVerification()
|
||
getEvidenceSessionHandoffExternalShellBundle()
|
||
getEvidenceSessionHandoffExternalShellBundleBadge()
|
||
getEvidenceSessionHandoffExternalShellReceipt()
|
||
getEvidenceSessionHandoffExternalShellReceiptVerification()
|
||
getEvidenceSessionHandoffExternalShellReceiptVerificationBadge()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditSnapshot()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditCopyExport()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditCopyExportVerification()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditCopyExportVerificationBadge()
|
||
```
|
||
|
||
兼容保留策略:
|
||
|
||
```text
|
||
1. 这些入口继续作为 existing public browser API / DOM / dataset surface 保留;
|
||
2. browser smoke 可以继续覆盖关键兼容性,但不再把中间入口作为新增功能扩展点;
|
||
3. 不删除现有公开 surface,除非先记录兼容策略并单独安排迁移;
|
||
4. 不再从这些中间入口派生新的 badge / receipt / verification / bundle 链条;
|
||
5. 新的外部 shell 读取建议优先使用 getEvidenceSessionHandoffExternalShellReceiptAuditBundle()。
|
||
```
|
||
|
||
明确禁止的命名扩展:
|
||
|
||
```text
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditBundleBadge()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditBundleReceipt()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditBundleVerification()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditBundleCopyExport()
|
||
getEvidenceSessionHandoffExternalShellReceiptAuditBundleVerificationBadge()
|
||
```
|
||
|
||
测试收敛原则:
|
||
|
||
```text
|
||
1. 主入口继续验证 phase / ready / statusText / bundleState / bundleText / baseline / digest;
|
||
2. dataset / DOM 断言优先通过 assertDatasetValues() 和 assertDomText();
|
||
3. 中间入口测试保留兼容性,不继续复制实现逻辑;
|
||
4. 三态覆盖继续保持 blocked / saved ready / restored ready;
|
||
5. 后续去重优先从 receipt audit copy/export verification 与 verification badge 断言开始。
|
||
```
|
||
|
||
边界仍保持:
|
||
|
||
```text
|
||
promotionAllowed=false
|
||
baselineChanging=false
|
||
inventoryBaselineUnchanged=true
|
||
inventory baseline=82/82/77/0
|
||
diagnostics artifact schema unchanged
|
||
release artifact schema unchanged
|
||
```
|
||
|
||
本轮未改 runtime / test 行为,仅运行:
|
||
|
||
```text
|
||
git diff --check
|
||
```
|
||
|
||
结果:
|
||
|
||
```text
|
||
git diff --check passed
|
||
```
|
||
|
||
十二、下一步工作计划:继续减少中间入口重复断言
|
||
|
||
继续执行整合、命名稳定、测试去重,不新增 runtime surface。下一轮建议在
|
||
browser smoke 中继续把 receipt audit copy/export verification 与 verification
|
||
badge 的 dataset / DOM 重复断言迁移到共享 helper:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 不新增任何 handoff external shell getter / dataset / DOM selector;
|
||
3. 将 receipt audit copy/export verification 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
4. 将 receipt audit copy/export verification badge 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
5. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
6. 不删除现有公开 surface;
|
||
7. 不写 release artifact,不改 diagnostics artifact schema;
|
||
8. baseline 继续保持 82/82/77/0。
|
||
```
|
||
|
||
十三、本轮接续推进:receipt audit verification 断言去重
|
||
|
||
执行时间:2026-06-20 CST
|
||
|
||
已按第十二节计划继续减少中间入口重复断言。本轮不新增 runtime surface,
|
||
不新增 handoff external shell getter / dataset / DOM selector,不改变 UI/API
|
||
行为,不写 release artifact,不改变 diagnostics artifact schema,不新增 CNC
|
||
语义,也不改变 inventory baseline。
|
||
|
||
本轮完成:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 将 receipt audit copy/export verification 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
3. 将 receipt audit copy/export verification badge 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
4. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
5. 保留中间入口兼容断言,不删除现有公开 surface;
|
||
6. 未新增 BundleBadge / BundleReceipt / BundleVerification。
|
||
```
|
||
|
||
本轮收敛后的 helper 覆盖范围:
|
||
|
||
```text
|
||
receipt audit bundle
|
||
receipt audit copy/export verification
|
||
receipt audit copy/export verification badge
|
||
```
|
||
|
||
边界仍保持:
|
||
|
||
```text
|
||
promotionAllowed=false
|
||
baselineChanging=false
|
||
inventoryBaselineUnchanged=true
|
||
inventory baseline=82/82/77/0
|
||
diagnostics artifact schema unchanged
|
||
release artifact schema unchanged
|
||
```
|
||
|
||
本轮已运行验证:
|
||
|
||
```text
|
||
git diff --check
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
```
|
||
|
||
结果:
|
||
|
||
```text
|
||
browser_real_simulation_page_smoke=ok
|
||
sim_configs_wasm_node_inventory=ok
|
||
standalone CNC semantics guard complete
|
||
```
|
||
|
||
inventory 验证结果仍为:
|
||
|
||
```text
|
||
sim_configs_wasm_node_inventory_executed=82
|
||
sim_configs_wasm_node_inventory_passed=82
|
||
sim_configs_wasm_node_inventory_skipped=77
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
sim_configs_wasm_node_inventory_skip_ASSET_ONLY=65
|
||
sim_configs_wasm_node_inventory_skip_L4_USER_M_PROCESS=1
|
||
sim_configs_wasm_node_inventory_skip_NON_MAIN_CLASS=10
|
||
sim_configs_wasm_node_inventory_skip_UPSTREAM_DEMO=1
|
||
```
|
||
|
||
十四、下一步工作计划:继续收敛 receipt audit snapshot/copy-export 断言
|
||
|
||
继续执行整合、命名稳定、测试去重,不新增 runtime surface。下一轮建议继续
|
||
把 receipt audit snapshot 和 receipt audit copy/export 的 dataset / DOM 重复断言
|
||
迁移到共享 helper:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 不新增任何 handoff external shell getter / dataset / DOM selector;
|
||
3. 将 receipt audit snapshot 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
4. 将 receipt audit copy/export 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
5. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
6. 不删除现有公开 surface;
|
||
7. 不写 release artifact,不改 diagnostics artifact schema;
|
||
8. baseline 继续保持 82/82/77/0。
|
||
```
|
||
|
||
十五、本轮接续推进:receipt audit snapshot/copy-export 断言去重
|
||
|
||
执行时间:2026-06-20 CST
|
||
|
||
已按第十四节计划继续减少中间入口重复断言。本轮不新增 runtime surface,
|
||
不新增 handoff external shell getter / dataset / DOM selector,不改变 UI/API
|
||
行为,不写 release artifact,不改变 diagnostics artifact schema,不新增 CNC
|
||
语义,也不改变 inventory baseline。
|
||
|
||
本轮完成:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 将 receipt audit snapshot 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
3. 将 receipt audit copy/export 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
4. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
5. 保留中间入口兼容断言,不删除现有公开 surface;
|
||
6. 未新增 BundleBadge / BundleReceipt / BundleVerification。
|
||
```
|
||
|
||
本轮收敛后的 helper 覆盖范围:
|
||
|
||
```text
|
||
receipt audit bundle
|
||
receipt audit snapshot
|
||
receipt audit copy/export
|
||
receipt audit copy/export verification
|
||
receipt audit copy/export verification badge
|
||
```
|
||
|
||
边界仍保持:
|
||
|
||
```text
|
||
promotionAllowed=false
|
||
baselineChanging=false
|
||
inventoryBaselineUnchanged=true
|
||
inventory baseline=82/82/77/0
|
||
diagnostics artifact schema unchanged
|
||
release artifact schema unchanged
|
||
```
|
||
|
||
本轮已运行验证:
|
||
|
||
```text
|
||
git diff --check
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
```
|
||
|
||
结果:
|
||
|
||
```text
|
||
browser_real_simulation_page_smoke=ok
|
||
sim_configs_wasm_node_inventory=ok
|
||
standalone CNC semantics guard complete
|
||
```
|
||
|
||
inventory 验证结果仍为:
|
||
|
||
```text
|
||
sim_configs_wasm_node_inventory_executed=82
|
||
sim_configs_wasm_node_inventory_passed=82
|
||
sim_configs_wasm_node_inventory_skipped=77
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
sim_configs_wasm_node_inventory_skip_ASSET_ONLY=65
|
||
sim_configs_wasm_node_inventory_skip_L4_USER_M_PROCESS=1
|
||
sim_configs_wasm_node_inventory_skip_NON_MAIN_CLASS=10
|
||
sim_configs_wasm_node_inventory_skip_UPSTREAM_DEMO=1
|
||
```
|
||
|
||
十六、下一步工作计划:继续收敛 remaining handoff 中间入口断言
|
||
|
||
继续执行整合、命名稳定、测试去重,不新增 runtime surface。下一轮建议继续
|
||
把更早的 handoff external shell / receipt 兼容入口中的 dataset / DOM 重复断言
|
||
迁移到共享 helper,仍以推荐主入口一致性为核心:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 不新增任何 handoff external shell getter / dataset / DOM selector;
|
||
3. 优先收敛 external shell receipt / receipt verification / receipt verification badge 的 dataset / DOM 断言;
|
||
4. 后续再收敛 external shell bundle / bundle badge / copy-export verification 的重复断言;
|
||
5. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
6. 不删除现有公开 surface;
|
||
7. 不写 release artifact,不改 diagnostics artifact schema;
|
||
8. baseline 继续保持 82/82/77/0。
|
||
```
|
||
|
||
十七、本轮接续推进:remaining handoff 中间入口断言去重
|
||
|
||
执行时间:2026-06-20 CST
|
||
|
||
已按第十六节计划继续减少 handoff external shell / receipt 兼容入口的重复断言。
|
||
本轮不新增 runtime surface,不新增 handoff external shell getter / dataset / DOM
|
||
selector,不改变 UI/API 行为,不写 release artifact,不改变 diagnostics artifact
|
||
schema,不新增 CNC 语义,也不改变 inventory baseline。
|
||
|
||
本轮完成:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 将 external shell receipt 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
3. 将 external shell receipt verification 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
4. 将 external shell receipt verification badge 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
5. 将 external shell bundle 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
6. 将 external shell bundle badge 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
7. 将 external shell badge copy/export verification 的 dataset / DOM 断言迁移到 assertDatasetValues() / assertDomText();
|
||
8. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
9. 保留中间入口兼容断言,不删除现有公开 surface;
|
||
10. 未新增 BundleBadge / BundleReceipt / BundleVerification。
|
||
```
|
||
|
||
本轮收敛后的 helper 覆盖范围:
|
||
|
||
```text
|
||
external shell badge copy/export verification
|
||
external shell bundle
|
||
external shell bundle badge
|
||
external shell receipt
|
||
external shell receipt verification
|
||
external shell receipt verification badge
|
||
receipt audit bundle
|
||
receipt audit snapshot
|
||
receipt audit copy/export
|
||
receipt audit copy/export verification
|
||
receipt audit copy/export verification badge
|
||
```
|
||
|
||
边界仍保持:
|
||
|
||
```text
|
||
promotionAllowed=false
|
||
baselineChanging=false
|
||
inventoryBaselineUnchanged=true
|
||
inventory baseline=82/82/77/0
|
||
diagnostics artifact schema unchanged
|
||
release artifact schema unchanged
|
||
```
|
||
|
||
本轮已运行验证:
|
||
|
||
```text
|
||
git diff --check
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
```
|
||
|
||
结果:
|
||
|
||
```text
|
||
browser_real_simulation_page_smoke=ok
|
||
sim_configs_wasm_node_inventory=ok
|
||
standalone CNC semantics guard complete
|
||
```
|
||
|
||
inventory 验证结果仍为:
|
||
|
||
```text
|
||
sim_configs_wasm_node_inventory_executed=82
|
||
sim_configs_wasm_node_inventory_passed=82
|
||
sim_configs_wasm_node_inventory_skipped=77
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
sim_configs_wasm_node_inventory_skip_ASSET_ONLY=65
|
||
sim_configs_wasm_node_inventory_skip_L4_USER_M_PROCESS=1
|
||
sim_configs_wasm_node_inventory_skip_NON_MAIN_CLASS=10
|
||
sim_configs_wasm_node_inventory_skip_UPSTREAM_DEMO=1
|
||
```
|
||
|
||
十八、下一步工作计划:继续收敛 review/statusbar 旧断言
|
||
|
||
继续执行整合、命名稳定、测试去重,不新增 runtime surface。下一轮建议把
|
||
更早的 handoff review packet、statusbar snapshot/receipt 和 external shell
|
||
badge snapshot/copy-export 的重复 dataset / DOM 断言逐步迁移到共享 helper:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 不新增任何 handoff external shell getter / dataset / DOM selector;
|
||
3. 优先收敛 handoff review packet / copy-export / verification / badge 的重复断言;
|
||
4. 继续收敛 statusbar snapshot / receipt / receipt verification / receipt badge 的重复断言;
|
||
5. 继续收敛 external shell badge snapshot / copy-export 的重复断言;
|
||
6. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
7. 不删除现有公开 surface;
|
||
8. 不写 release artifact,不改 diagnostics artifact schema;
|
||
9. baseline 继续保持 82/82/77/0。
|
||
```
|
||
|
||
十九、本轮接续推进:review/statusbar 旧 DOM 断言去重
|
||
|
||
执行时间:2026-06-20 CST
|
||
|
||
已按第十八节计划继续减少 handoff review/statusbar/external shell badge 旧断言。
|
||
本轮不新增 runtime surface,不新增 handoff external shell getter / dataset / DOM
|
||
selector,不改变 UI/API 行为,不写 release artifact,不改变 diagnostics artifact
|
||
schema,不新增 CNC 语义,也不改变 inventory baseline。
|
||
|
||
本轮完成:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 为 handoff review packet / copy-export / verification / badge 与 statusbar snapshot / receipt / receipt verification / receipt badge / external shell badge snapshot / copy-export 提取共享 DOM helper;
|
||
3. 将 blocked / saved ready / restored ready 三态中上述旧 DOM 重复断言迁移到 assertLegacyHandoffReviewStatusbarDom();
|
||
4. 从三态大 if 中删除已被共享 helper 覆盖的旧 DOM querySelector 断言;
|
||
5. 保留对象字段、dataset、兼容公开 surface 和三态覆盖;
|
||
6. 未新增 BundleBadge / BundleReceipt / BundleVerification。
|
||
```
|
||
|
||
本轮收敛后的 helper 覆盖范围:
|
||
|
||
```text
|
||
external shell badge copy/export verification
|
||
external shell bundle
|
||
external shell bundle badge
|
||
external shell receipt
|
||
external shell receipt verification
|
||
external shell receipt verification badge
|
||
receipt audit bundle
|
||
receipt audit snapshot
|
||
receipt audit copy/export
|
||
receipt audit copy/export verification
|
||
receipt audit copy/export verification badge
|
||
legacy handoff review/statusbar DOM
|
||
```
|
||
|
||
边界仍保持:
|
||
|
||
```text
|
||
promotionAllowed=false
|
||
baselineChanging=false
|
||
inventoryBaselineUnchanged=true
|
||
inventory baseline=82/82/77/0
|
||
diagnostics artifact schema unchanged
|
||
release artifact schema unchanged
|
||
```
|
||
|
||
本轮已运行验证:
|
||
|
||
```text
|
||
git diff --check
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
```
|
||
|
||
结果:
|
||
|
||
```text
|
||
browser_real_simulation_page_smoke=ok
|
||
sim_configs_wasm_node_inventory=ok
|
||
standalone CNC semantics guard complete
|
||
```
|
||
|
||
inventory 验证结果仍为:
|
||
|
||
```text
|
||
sim_configs_wasm_node_inventory_executed=82
|
||
sim_configs_wasm_node_inventory_passed=82
|
||
sim_configs_wasm_node_inventory_skipped=77
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
sim_configs_wasm_node_inventory_skip_ASSET_ONLY=65
|
||
sim_configs_wasm_node_inventory_skip_L4_USER_M_PROCESS=1
|
||
sim_configs_wasm_node_inventory_skip_NON_MAIN_CLASS=10
|
||
sim_configs_wasm_node_inventory_skip_UPSTREAM_DEMO=1
|
||
```
|
||
|
||
二十、下一步工作计划:继续收敛剩余旧 dataset 断言
|
||
|
||
继续执行整合、命名稳定、测试去重,不新增 runtime surface。下一轮建议把
|
||
review/statusbar/external shell badge 同一批 surface 在三态大 if 中仍然残留的
|
||
dataset 重复断言继续迁移到共享 helper:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 不新增任何 handoff external shell getter / dataset / DOM selector;
|
||
3. 优先为 review packet / copy-export / verification / badge 提取共享 dataset 断言;
|
||
4. 继续为 statusbar snapshot / receipt / receipt verification / receipt badge 提取共享 dataset 断言;
|
||
5. 继续为 external shell badge snapshot / copy-export 提取共享 dataset 断言;
|
||
6. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
7. 不删除现有公开 surface;
|
||
8. 不写 release artifact,不改 diagnostics artifact schema;
|
||
9. baseline 继续保持 82/82/77/0。
|
||
```
|
||
|
||
二十一、本轮接续推进:review/statusbar 旧 dataset 断言去重
|
||
|
||
执行时间:2026-06-20 CST
|
||
|
||
已按第二十节计划继续减少 handoff review/statusbar/external shell badge 旧 dataset
|
||
断言。本轮不新增 runtime surface,不新增 handoff external shell getter /
|
||
dataset / DOM selector,不改变 UI/API 行为,不写 release artifact,不改变
|
||
diagnostics artifact schema,不新增 CNC 语义,也不改变 inventory baseline。
|
||
|
||
本轮完成:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 为 handoff review packet / copy-export / verification / badge 与 statusbar snapshot / receipt / receipt verification / receipt badge / external shell badge snapshot / copy-export 提取共享 dataset helper;
|
||
3. 将 blocked / saved ready / restored ready 三态中上述旧 dataset 重复断言迁移到 assertLegacyHandoffReviewStatusbarDataset();
|
||
4. 从三态大 if 中删除已被共享 helper 覆盖的一批旧 document.body.dataset 断言;
|
||
5. 保留对象字段、剩余非目标 dataset 断言、兼容公开 surface 和三态覆盖;
|
||
6. 未新增 BundleBadge / BundleReceipt / BundleVerification。
|
||
```
|
||
|
||
本轮收敛后的 helper 覆盖范围:
|
||
|
||
```text
|
||
external shell badge copy/export verification
|
||
external shell bundle
|
||
external shell bundle badge
|
||
external shell receipt
|
||
external shell receipt verification
|
||
external shell receipt verification badge
|
||
receipt audit bundle
|
||
receipt audit snapshot
|
||
receipt audit copy/export
|
||
receipt audit copy/export verification
|
||
receipt audit copy/export verification badge
|
||
legacy handoff review/statusbar DOM
|
||
legacy handoff review/statusbar dataset
|
||
```
|
||
|
||
边界仍保持:
|
||
|
||
```text
|
||
promotionAllowed=false
|
||
baselineChanging=false
|
||
inventoryBaselineUnchanged=true
|
||
inventory baseline=82/82/77/0
|
||
diagnostics artifact schema unchanged
|
||
release artifact schema unchanged
|
||
```
|
||
|
||
本轮已运行验证:
|
||
|
||
```text
|
||
git diff --check
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
|
||
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||
```
|
||
|
||
结果:
|
||
|
||
```text
|
||
browser_real_simulation_page_smoke=ok
|
||
sim_configs_wasm_node_inventory=ok
|
||
standalone CNC semantics guard complete
|
||
```
|
||
|
||
inventory 验证结果仍为:
|
||
|
||
```text
|
||
sim_configs_wasm_node_inventory_executed=82
|
||
sim_configs_wasm_node_inventory_passed=82
|
||
sim_configs_wasm_node_inventory_skipped=77
|
||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||
sim_configs_wasm_node_inventory_skip_ASSET_ONLY=65
|
||
sim_configs_wasm_node_inventory_skip_L4_USER_M_PROCESS=1
|
||
sim_configs_wasm_node_inventory_skip_NON_MAIN_CLASS=10
|
||
sim_configs_wasm_node_inventory_skip_UPSTREAM_DEMO=1
|
||
```
|
||
|
||
二十二、下一步工作计划:继续收敛剩余兼容入口旧断言
|
||
|
||
继续执行整合、命名稳定、测试去重,不新增 runtime surface。下一轮建议继续把
|
||
三态大 if 中剩余的 handoff 兼容入口旧断言按主题拆到共享 helper,优先清理同一批
|
||
surface 仍残留的 dataset / 兼容性重复检查:
|
||
|
||
```text
|
||
1. 保持 getEvidenceSessionHandoffExternalShellReceiptAuditBundle() 为推荐主入口;
|
||
2. 不新增任何 handoff external shell getter / dataset / DOM selector;
|
||
3. 继续清理 review/statusbar/external shell badge 同一批 surface 仍残留的 dataset 旧断言;
|
||
4. 视需要把 operator snapshot / action plan / compact status 的重复 dataset / DOM 断言也迁移到共享 helper;
|
||
5. 保留 blocked / saved ready / restored ready 三态覆盖;
|
||
6. 不删除现有公开 surface;
|
||
7. 不写 release artifact,不改 diagnostics artifact schema;
|
||
8. baseline 继续保持 82/82/77/0。
|
||
```
|