公开研究副本:本地绝对路径、实验主机地址已脱敏。NA 保留,Dominator与流量社区不是功能金标;完整可执行库存仍缺失。角色与功能关联是可审核离线推断,未经人工金标或独立外部审查。历史代表截图不认证当次控件对齐。原件 SHA 只认证原件,公开字节 SHA 见发布清单。
Dominator:结构基线保留两种输入口径
定义没有变化
JevRegion.Calculator.prepare/structure(JevRegion.java:71–116)先从多root求可达,再以前驱支配集合交集收敛,建立idom和children;每个非Root Header的子树含Header本身。本轮只保留size≥2,不套成熟门限或nested selection。原生最终图基线复用第一轮经独立NetworkX及删点等价核验的514个非Singleton;没有修改Native定义。
| Run | 原生最终非Singleton | 流量根代理非Singleton | 原生最终State | 历史State | 同Activity入口组 |
|---|---|---|---|---|---|
| omninotes-Rep1 | 35 | 36 | 146 | 156 | 12 |
| omninotes-Rep2 | 43 | 46 | 129 | 140 | 12 |
| odkcollect-Rep1 | 19 | 16 | 49 | 52 | 9 |
| odkcollect-Rep2 | 20 | 21 | 55 | 63 | 9 |
| scarletnotes-Rep1 | 21 | 42 | 91 | 159 | 3 |
| scarletnotes-Rep2 | 18 | 36 | 67 | 133 | 3 |
| wikipedia-Rep1 | 173 | 155 | 438 | 453 | 19 |
| wikipedia-Rep2 | 136 | 122 | 409 | 423 | 19 |
| activitydiary-Rep1 | 22 | 31 | 110 | 150 | 18 |
| activitydiary-Rep2 | 27 | 25 | 123 | 157 | 18 |
A-final与A-flow不能混称
A-final 是归档收尾拓扑与原生roots的精确结构。将真实执行的裸ID投影到这些成员,未出现/退役ID不补alias。它用于描述现有最终结构;不能出现在早期前缀结果中。
A-flow 把同一支配定义放在本轮确认流量图上,以截至当时已出现的连续段首Source作为保守多root代理。StatefulAgent.updateGraph:667–676仅在appActivityJustStarted时加entry tree;Graph:391–405再更新entryStates,现有日志不提供每个历史时刻完整root集合。段首还可能是取证缺口,故A-flow不是精确重演在线root。A-flow有530个非Singleton,前缀同样仅用当时段首,所有结果明确标proxy。
该缺口限制了三算法完全公平的历史根对照。不能利用更保守代理导致的小Region,宣称Infomap全面优于Native。A-final仍是核心结构基线;统一图A-flow作为补充控制。
结构优势与局限的具体差异
ODK Rep2 g11s38→{g11s38,g11s41}原生Region只有2 State、125来源执行、内部10、Pstay8%。实际Download入口109次中只有2次Target在它内。默认Infomap四State社区包含全部109目标;这说明它更贴近这一段实际流量,不证明业务流程完整恢复。
ActivityDiary Rep1 Header g21s63子树5 State、253来源执行;MainActivity来源Add的53次中24个Target在内,编辑与颜色/字段还有其他共享后继。Dominator仍准确描述支配关系,不保证入口条件化功能范围。同功能不同分支在汇合点之前通常互不支配,汇合后若所有root路径经过该点,仍可形成后部子树。
Omni Snooze的组合操作能形成局部子树/社区,但这不能将日期、重复规则操作改判为Ⅰ类。Scarlet高频新建的入口Target可能Singleton,非Singleton结构发现不是功能价值过滤器。
完整Header、成员、进入/离开、真实流量见 region-metrics、各run结构JSON,可切换 查看器。