ODK Rep2:Download局部群与Rep1对照

本轮只分析既有 Pure 归档,不启动设备、Provider、GPU 或新实验,不处理 Android Smoke 的设备锁,不修改 Native、Probe、APE 决策或 SUPPRESS。所有入口语义均为既有离线探索性 Oracle 推断,human_confirmed=false,在线确认数为 0。下文“入口组”“功能切换”均须按这一证据等级理解;不是新的人审金标。

执行序号 #n = trace.order + 1,不是 Native step,也不是 JSONL 行号。每条记录保留这三者及 transition_id。社区编号在各 Snapshot 内局部有效,跨时刻使用真实成员交集与 lineage。截图为真实归档像素,大多只是同 State 的历史代表图,不认证当次动作的原子对齐;MISSING 和 UNKNOWN 不补造。

维度 Rep1 最终C001 Rep2 最终C004
成员 14(含首页) 4(不含首页)
Source /预算 1797 / 86.64% 345 / 15.92%
内部 / 流入 / 流出 1746 / 51 / 51 230 / 115 / 115
P(stay) 97.16% 66.67%
内部Back / Back退出 830 / 2 109 / 109
外邻社区 / 每成员 12 / 0.857 2 / 0.500
完整群停留n / P90 / max 20 / 19.1 / 29 115 / 3.0 / 11
段内重入 49 10
直接Target入口组n / 发生数 7 / 815 3 / 113
主要入口占比 / 熵 14.85% / 2.802 96.46% / 0.249
未归因Source比例 47.69% 4.93%
动作标签UNKNOWN 2.78% 1.45%

4个成员是什么

State GUI角色 截图 Activity Source次 内部入/出 外部入/出 证据/限制
g11s37 Connecting to Server 对话框 图 org.odk.collect.android.activities.FormDownloadListActivity 219 111/217 108/2 真实图和 Download 入口;Back 存在自环,不能全当退出
g11s38 Download form 空列表 图 org.odk.collect.android.activities.FormDownloadListActivity 120 114/7 6/113 真实图为空列表,主要 Back 返回首页
g11s41 Download 列表排序弹层 图 org.odk.collect.android.activities.FormDownloadListActivity 5 5/5 0/0 真实图和排序动作
g20s82 Form list download failed 错误对话框 图 org.odk.collect.android.activities.FormDownloadListActivity 1 0/1 1/0 真实图;有一条 Sent 标签冲突,保留冲突而不纠正记录

主要Action与每条发生序号仍在State证据表、首页所有边及可点击播放器。

入口、内部转换和退出

Download组entry-005共109次,107→Connecting g11s37、2→空列表g11s38,Target 109/109位于最终4-State群。截断后326个Source步骤,323在群内=99.08%;108个完整确切Source返回,中位3步、最大6步,1个在下一既有入口处截断。

注意“入口后停留”和“整个社区停留”是两个口径:社区115个完整片段,中位/P90均3,max11;入口片段遇到Refresh会提前截断,不能混用。Back内部109、退出109;109条自环也保留,不能把Back一概当退出。

典型首页进入序列Main —g1a8→ g11s37 —Back→ g11s37 —g11a202 (Cancel)→ g11s38 —Back→ Main,在确切首页Source的完整片段中84次,例如#432—#435、#444—#447。Connecting自环与后续空列表反映本run观测到的实际执行链,不对网络时序作未经记录的因果断言。

边界也不是完全纯净

最终群直接Target命中113次:Download109、Refresh3、Sent1;Download占96.46%,并非100%。#1762(原始JSONL行5054,Native step1858)g1s1 —g1a7(Sent)→ g20s82的Target GUI为“Form list download failed”。保留Native事实和既有标签冲突,不能默改成Download,也不能凭此确定是异步网络、动作错绑还是抽象复用。原记录

历史稳定性

基线截止# Download群规模 成员
250 5 g11s37,g11s38,g11s39,g11s40,g11s41
500 5 g11s37,g11s38,g11s39,g11s40,g11s41
541 5 g11s37,g11s38,g11s39,g11s40,g11s41
750 5 g11s37,g11s38,g11s39,g11s40,g11s41
1000 5 g11s37,g11s38,g11s39,g11s40,g11s41
1083 3 g11s37,g11s38,g11s41
1250 3 g11s37,g11s38,g11s41
1500 3 g11s37,g11s38,g11s41
1625 3 g11s37,g11s38,g11s41
1750 3 g11s37,g11s38,g11s41
2000 4 g11s37,g11s38,g11s41,g20s82
2167 4 g11s37,g11s38,g11s41,g20s82

因此4-State是最终结果,早期5-State含g11s39,g11s40,#1083检查点变成3-State,#2000加入错误框变成4-State;没有把最终4成员冒充全程不变。

两条轨迹为何不同

两Rep的ODK APK SHA相同(333f9458d4a00d1418a27c8b8ab34b59350b1bcb2905c9bd80cd4f4205ceb1f5),Native JAR SHA也相同;归档seed分别为545930993和746994860。原运行起止时间与身份在manifest中,不将本轮离线复算当作重新执行。

Rep1晚期Download截图有“All question types”已列出/勾选的表单,两Download State仅114次Source,多数短进短出;首页与其他分支的反复往返把它们内化进大群。Rep2观察到Connecting、空列表、失败框,在Download群内部有230次转换,包含Back自环与Cancel等事件,并经115条外出边返回外层,其最终局部群与主干分开。

Rep2另有13-State首页混合群,Source1,539、内部1,404,覆盖多个主页分支;不能说Rep2没有导航枢纽。两次的状态实例、连接结果和实际局部流量不同,是可查的解释依据;随机种子只是归档身份,未被当作唯一原因。Back敏感性中Rep2降低权重后最终群为6成员,仍不含首页,说明敏感性也不是“减Back总会更像功能”。