公开研究副本:本地绝对路径、实验主机地址已脱敏。NA 保留,完整可执行库存恢复为 0。角色与功能关联是可审核离线推断,未经人工金标或独立外部审查。历史代表截图不认证当次控件对齐。原件 SHA 只认证原件,公开字节 SHA 见发布清单。

功能入口的三层探索机会账本

复用既有116个功能×run组,深审40组、1,967次真实入口发生。没有从resource-id或Action Type重新发明功能合并。确认成员、先前pending/UNKNOWN保留;CreateList仅上下文记录,不补为Ⅰ类。全部入口标签继承离线推断,未经人工金标。

State、Action、Result三个层次

  1. State:每次入口的 source/target、真实顺序、版本、局部后续记录;访问与首次观察按全run前缀。State拆分/版本变化不被自动并成新业务。共享State允许重叠。
  2. Action:23,279次完整确认执行与18,926个有目标操作发生事实;functional-action-result-ledger.* 2,792行以局部Concrete键归集,保留真实输入参数、逐次执行ID、目标分布。当前可用/未试Concrete列全为NA,不把历史出现过的控件当永久机会。
  3. Result:每个具体动作的Target、版本转换、新ID三元组、输入文本、模式/对象敏感性。Target不同为“可区分GUI结果”,不是已认证业务功能分支;Target相同也不能证明数据落盘/后端结果一致。all_results_explored=UNKNOWN。

账本和检查点将“已经执行过操作”与“所有结果已探索”分开。model-action-concrete-diversity.csv列出一个version/State/ModelAction下实际执行过的不同identity,不是当时同页同时可用的数量。颜色/日期/动态文本可能增加具体键,不按其数量宣称新业务。

未验证机会如何保留

历史Selection未访问ID是模型机会提示。对每个检查点,只取过去已访问source的最近同version快照,减去之后至检查点已有确认执行的ModelAction,记录age和原enabled-valid-unvisited数量;无法把数量映射到每个ID的enabled/valid,也无法证明旧快照在当前页仍有效。

未来真正执行的这些ID写入独立 historical-opportunity-warnings.csv,132行是跨检查点重复证据,不是132个独立新操作。后来成功只能验证后来机会,不能回填过去身份与有效性。Back模型提示单列action_type,不作为待试具体控件。

边界和复用限制

B沿真实确认执行,GUI ID/timestamp/State/version/事件位置任何断裂即右删失;明确页面/Activity退出、其他Ⅰ入口、QuickFix模式移交分段,并保留退出结果。Save/Back不按名称提前切;固定2/5/10/20步仅对照。不同入口的B片段可共享操作,非互斥分区。

除ODK Download、AD Editor、Omni Settings、Scarlet CreateNote、Wiki Search已有页面线索外,其他冻结功能用同Activity保守片段;MainActivity内功能切换可能漏切。complete只表示观察到分段边界,不能当完整业务访问认证。发生关联表不用于严格因果归因或业务覆盖率。

Run 冻结功能线索 入口次数 B边界已观察 关联新State / 首次ID转换 / 首次局部Concrete 最多相同完整路径 同GUI树
omninotes-Rep1 settings 12 10 4 / 64 / 77 1 16
omninotes-Rep1 set-reminder 49 37 19 / 162 / 165 7 29
omninotes-Rep1 attachment 40 38 5 / 50 / 51 17 5
omninotes-Rep1 search-notes 68 55 30 / 158 / 166 2 40
omninotes-Rep2 search-notes 127 75 29 / 162 / 166 13 31
omninotes-Rep2 attachment 21 18 9 / 50 / 41 2 2
omninotes-Rep2 settings 9 9 9 / 56 / 53 1 12
omninotes-Rep2 set-reminder 21 19 20 / 154 / 161 1 14
odkcollect-Rep1 download 121 112 5 / 20 / 12 77 0
odkcollect-Rep1 drafts 121 118 0 / 2 / 2 116 0
odkcollect-Rep1 start-new-form 121 119 0 / 3 / 2 117 0
odkcollect-Rep1 settings 2 1 3 / 9 / 9 1 5
odkcollect-Rep2 drafts 109 105 1 / 4 / 5 80 0
odkcollect-Rep2 start-new-form 109 104 2 / 11 / 13 78 0
odkcollect-Rep2 download 109 96 2 / 11 / 8 64 0
odkcollect-Rep2 settings 3 2 6 / 40 / 43 1 9
scarletnotes-Rep1 create-note-empty-state 27 22 11 / 165 / 358 2 130
scarletnotes-Rep1 search-notes 34 32 17 / 110 / 121 2 34
scarletnotes-Rep1 settings 16 13 11 / 87 / 97 1 13
scarletnotes-Rep2 create-note-empty-state 134 132 0 / 10 / 8 66 1
scarletnotes-Rep2 search-notes 98 93 8 / 77 / 86 57 27
scarletnotes-Rep2 settings 99 93 11 / 87 / 79 61 7
wikipedia-Rep1 article-gallery 9 8 7 / 39 / 40 1 0
wikipedia-Rep1 find-in-article 24 21 26 / 68 / 80 1 15
wikipedia-Rep1 global-search 29 22 22 / 98 / 98 1 32
wikipedia-Rep1 reading-theme 8 7 12 / 73 / 73 1 1
wikipedia-Rep1 edit-article 7 4 11 / 50 / 49 1 0
wikipedia-Rep2 global-search 55 48 35 / 146 / 155 1 45
wikipedia-Rep2 find-in-article 17 17 7 / 23 / 30 1 3
wikipedia-Rep2 reading-theme 12 9 17 / 101 / 95 1 1
wikipedia-Rep2 article-gallery 6 5 3 / 19 / 20 1 6
wikipedia-Rep2 edit-article 5 5 15 / 69 / 67 1 0
activitydiary-Rep1 add-activity 56 46 5 / 83 / 142 2 5
activitydiary-Rep1 edit-existing-activity 81 72 15 / 124 / 183 1 55
activitydiary-Rep1 settings 22 18 18 / 148 / 145 1 18
activitydiary-Rep1 manage-activities 4 4 1 / 3 / 2 2 0
activitydiary-Rep2 add-activity 63 52 9 / 96 / 93 6 9
activitydiary-Rep2 edit-existing-activity 101 98 4 / 116 / 115 11 65
activitydiary-Rep2 manage-activities 6 6 2 / 7 / 6 1 1
activitydiary-Rep2 settings 12 10 11 / 110 / 117 1 42

S/T/C列是去重执行集合中全run首次观察事件数,退出结果可在内;跨功能行可能重叠,不求和当总覆盖。查看器可逐次检查动作、树、边界和未来验证。