公开证据副本:本地路径、实验主机已脱敏;数据与截图拆为站内资源。原件 SHA 只认证原件,公开副本哈希见发布清单。SUPPORTED 是本研究的探索性轨迹关联,未经人工金标或独立外部审查;代表图不认证当次触摸对齐。

跨 State 入口组和共享流程

功能 / Rep 执行 Source State ModelAction Concrete identity Activity精确组 5步支持Header 精确后续State / 子树重合
omninotes.settings / Rep1 12 1 1 4 4 ["g10s48", "g5s13", "g8s20"] 15 / 5
omninotes.settings / Rep2 9 1 1 1 1 ["g6s26", "g9s85"] 11 / 7
odkcollect.download / Rep1 121 1 1 1 1 ["g16s70"] 5 / 1
odkcollect.download / Rep2 109 3 3 3 3 ["g11s38"] 2 / 1
scarletnotes.create-note-empty-state / Rep1 27 8 14 10 10 ["g40s130"] 10 / 10
scarletnotes.create-note-empty-state / Rep2 134 2 3 2 2 [] 1 / 0
wikipedia.global-search / Rep1 29 19 20 7 7 ["g33s149", "g42s213", "g55s302", "g57s310", "g62s343", "g62s344", "g68s440", "g68s441", "g69s447"] 26 / 12
wikipedia.global-search / Rep2 55 35 36 9 9 ["g26s116", "g27s122", "g41s193", "g41s198", "g41s199", "g5s29", "g70s323", "g86s411", "g86s414", "g86s431", "g90s474", "g90s493"] 39 / 21
activitydiary.add-activity / Rep1 56 28 29 3 4 ["g21s63", "g29s91"] 5 / 2
activitydiary.edit-existing-activity / Rep1 81 24 55 34 34 ["g21s63", "g47s168", "g47s169"] 6 / 3
activitydiary.add-activity / Rep2 63 31 33 4 5 ["g27s96"] 4 / 2
activitydiary.edit-existing-activity / Rep2 101 25 68 55 55 ["g27s96"] 1 / 1

完整成员含 Source Activity、State、观察及输入 ModelAction、Concrete identity、resource ID/text/desc/bounds、真实执行次数、全部 Target 分布和支持 Header,见 entry-group-members.csv。这些是功能证据假设,非按 resource ID 或同一 ModelAction 聚类。Scarlet 的另外四个目标编辑器候选池在 pending-scarlet-entry-groups.json,没有为凑Ⅰ数量批量认证。

ActivityDiary:共同 editor,不强制拆成互斥 Region

Rep1 Add 56 次、已有对象编辑 81 次;Rep2 63 / 101 次。编辑组包括第二轮的长按与本轮明确的 ManageActivity 对象行点击。部分输入未成功观察到 editor 或历史目标未知,完整结果分布在 JSON,不把所有这些输入都叫成功开启。

Rep1 的确有 Add 与已有活动长按都到最终 Header g21s63;Rep2 同样到 g27s96。前者还存在 Add 经 g24s69 的字段/冲突处理再进 Header,以及不同 Source State 的 Add/long click 历史。共同 Header 提供可复核关联,不能推出所有创建、编辑模式都完全等价。

Rep 共同历史Target(含旧ID,非全部收尾认证) 共同精确后续控件数 共同精确后续State
Rep1 ["g1s2", "g21s63", "g24s69"] 15 ["g17s53", "g21s63", "g24s69", "g24s70"]
Rep2 ["g16s59", "g27s96"] 4 ["g27s96"]

共享后续是按真实发生中的 (Activity, ActionType, fullName) 精确控件求交,Rep1 15 种、Rep2 4 种,包括颜色控件、Activity 字段、部分 SELECT / Save。对应每次执行 ID 和双方次数在 activitydiary-shared-editor.json。不是仅凭共享 State 推测可执行操作;也不把业务对象名称、初始值、保存/删除后果或新建模式差异抹掉。

quickFixButton1 明示拒绝当前新建并打开同名既有活动,是同 EditActivity 内的发生移交;本轮截断原 Add 归因。quickFixButton2 的归档描述为 Rename deleted activity…,保留为正在编辑流程内的操作,但其业务模式不宣称与普通创建完全相同。代表图显示 Swimming 只说明该 State 有真实历史截图,不能断言每次 New/Edit 的准确画面均相同。

ODK:多个 Source 的真实三步路径

Rep2 Download 有 109 次输入、3 个 Source State:具名文字的 g1s1 / g20s77 与 g19s75 的 get_forms 卡片。它们都可进入连接页 g11s37,再经功能内 Back / Cancel 到 Header g11s38。其中后两种入口在 A0 全集中缺失;回溯距离均为 3。

不同 Source 的具体控件不能天然共用当前 Region Matcher:JevRegionMatcher.java:20–28 要求同 live State、同 ModelAction,再在树中按唯一精确节点绑定。ConcreteActionIdentity.java:5–73 仅保存 action type + canonical fullName,State/Activity 是调用方 scope。JevRegistry.java:367–383,802–828 的跨 State 相关关系需同 Activity 与精确 fullName;不会把 parent card 和 child text、scrollable 祖先差异识别为业务同义。回溯提供额外流程证据,并未改变这些匹配规则。

Omni、Wikipedia 与身份保护/不足

Omni Rep1 Settings 的四种实际语言 identity 来自同一个 Source State g0s2,不是四个跨 State 来源;经两/三步进入 Settings 子 Header。Rep2 才是另一个 run 的来源。Wikipedia 的主页卡片、tab、文章页搜索有不同 Activity / 祖先 / identity,必须分别保留;搜索字段带 planned text 是Ⅲ,不并入Ⅰ开启组。

Scarlet 的匿名 ViewGroup fullName/index 会在不同布局中对应不同底部位置,同 Activity 精确组中实际出现 CreateNote、CreateListNote 和 Main 的不同结果。identity-context-counterexamples.json 给出四个这样的组;既有 exact-related 关系可找出这些记录,但不保证它们是同功能。代表图与输入并非全部同次对齐,不能把观察冲突升级为某种触摸/异步故障的已证因果。

当前语义审核页面使用 JevSemanticReview.java:618,655–695 的当前 State/ModelAction confirmedHistory;JevRegistry.java:315–341 定义其池。属性排序 JevHistoryPairwiseProtocol.java:200–242 只在上游池内评分,不会自动扩展成任意跨 State 的同功能历史。回溯桥接出来的关系不是现有检索已经完成的能力,也不是新的身份系统。