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总会更像功能”。