修复静态视觉状态与可见证据

Canvas、context 与图片整体赋值进入状态流并失效旧绑定
无条件 return、throw 与 ESM 依赖失败阻断后续视觉证据
telemetry 仅接受可见 DOM 与可达 JavaScript 状态字段
CSS 资产路径保持大小写并要求命中可见元素
新增视觉反例正例并更新共享决策日志
This commit is contained in:
2026-08-04 16:39:34 +08:00
parent a00b0af348
commit e14130f234
2 changed files with 556 additions and 94 deletions
@@ -6026,3 +6026,11 @@
- dynamic import namespace member 写入保持真实只读失败语义,视觉投影不得把写 target 改造成可变本地;可达写入的 RHS 与后续语句不提供视觉证据,纯 namespace read 继续传播 export demand。
- 身份与 telemetry 扫描只消费可渲染文本、可执行 inline JavaScript 和已链接外部 unit,排除 inert/raw-text、HTML 注释、带 `src` body 与非 JavaScript script。资产路径比较保持大小写,Linux 文件身份不得经 ASCII 小写副本合并。
- 关联:`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/autonomous_completion.rs``docs/technical/【技术方案】AI游戏创作智能体App实施计划-2026-06-24.md`
## 2026-08-04 静态视觉状态流与可见证据收口
- Canvas、2D context 与图片变量统一按 semantic symbol 记录声明和整体赋值事件;重新指向离屏 Canvas、无效 context 或新图片时立即失效旧视觉身份,只有绘制点可证明的当前状态才作证。
- 同一 Program、函数体或普通 block 内,无条件 `return / throw` 之后的语句统一进入不可达区间;ESM dependency 的直接顶层 `throw` 作为初始化副作用排在 importer 前并阻断后续 importer 视觉证据,嵌套函数或恒假分支中的 throw 不扩大阻断范围。
- telemetry 只扫描可见 DOM 文本和 AST 可达的 JavaScripthidden DOM、字符串/注释、恒假分支、未调用函数和 inert/raw-text 内容不得补齐状态字段;已链接 classic/module 单元沿同一可达扫描口径判定。玩法 identity 保留独立的现有识别口径,不能反向补齐 telemetry。
- CSS `url(...)` 的资产路径保持原始大小写解析,stylesheet 证据必须同时命中实际可见元素;未命中 selector、元素自身或祖先 hidden、以及匹配隐藏规则的节点均不作证。
- 关联:`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/autonomous_completion.rs``docs/technical/【技术方案】AI游戏创作智能体App实施计划-2026-06-24.md`