GUITaboo同步等待、Probe历史回写与Top3 Witness专项审查

  1. 有可配置的短同步等待机制,但本轮不是5秒,而是15秒。 配置项ape.jev.probeTimeoutMs默认5000,本轮10条模型Run都设为15000,并传入Semantic Review的总prepare预算;HTTP请求生命周期另为60000。源码:JevRuntime.java:121–143、JevSemanticReview.java:118–180;逐Run配置:run-configs.csv。
  2. 本轮超过5秒仍会继续等待,直到拿到回复或15秒预算到期。 1,030次正式请求中121次完整回执超过5秒,实测await也有121次超过5秒,0次超过8秒;没有SEMANTIC_FAIL_OPEN,全部网络回复在发起review内消费,没有观察到晚到复用。Scarlet Jev确实累计阻塞await 1,273.566秒,其中Gateway队列900.873秒包含在该等待内,不可再相加。原始逐请求链接:request-waits.csv。
  3. 晚到回复有保存和受限复用实现,但不是任意State上的通用异步入账。 超过caller预算不取消retained HTTP;原始字节由后台回调落盘,未立即写Ledger。之后必须在相同State对象/模型版本及匹配GUI、历史revision、候选集合下重新验证才能消费;遇到其他State的实际resumeRetained会取消旧项。进程关闭/容量淘汰/网络生命周期到期也会取消。正式本轮没有走到这条晚到分支,不能声称已在本轮验证成功。详见sync-wait-implementation.md。
  4. 已确认的150条Probe全部有原生图Transition和历史位置,未发现Probe专属回写遗漏。 每条均匹配一个输入完成事件、一个NATIVE_TRANSITION、一个native_edge_id/native_history_position回执,且input_confirmed=true。源码中Probe与普通ModelAction共用appendToActionHistory、markVisited和addTransition路径。未归档内存ActionHistory/每个visitedCount,不能把这部分表述成逐内存对象验真。probe-native-lifecycle.csv。
  5. Statistics step564的重复来自不同合法State/ModelAction池。 step475成功进入Statistics;其输入tree560后来在step575、同版本23下仍是g11s38/g11a627、h5、input_confirmed=true。step564(也是版本23)审核g13s49/g13a696,只读到Select Activity131和Diary142;475未被放进该池,尚未进入Top3排序。step1201来自step1072已接受的PROMOTE;当时池中只有Edit Activities918。1072没有排除项映射快照,三个旧Statistics当时各自映射的最后一段仍为UNKNOWN。详见history-case-traces.md。
  6. Omni Lock没有进Top3,核心是实际历史标签换了语言,而非同文字匹配输给Info。 三次Lock均是Probe:246“Bloquiar”、664“ລັອກ”、1531“Lock”;第一次不是普通APE动作。旧Lock确实在合法池h5/h15。它与Info等都共享title资源ID/Class/Click,已恢复的精确特征得分都为12;没有相同label/word加分,稳定时序和完整特征集多样性选出h1、h3、h4。排序规则未发现执行错误;51个历史项中38个有完整原始描述,13个缺未采样原始文本,完整独立重放的边界已单列。witness-ranking-reproduction.md。
  7. 14 RPM在用户确认15 RPM配额、所有请求共用同一限流器的前提下可行,但本次不修改。 本轮Gateway配置10 RPM、并发租约2,另有一次只提交一条Jev Run的排队脚本;实际全局最短发送间隔6.024秒,60秒窗口最多10次,上游最高并发1。691条同额度Gateway记录=686正式+5条未匹配正式Native的准入调用,无其他Run;平台外共享key请求未知。14 RPM间隔4.286秒,逐请求固定前序发送时刻估算Scarlet/ActivityDiary可少等443.938/236.834秒;这不是吞吐或覆盖提升预测,见jev-rate-limit-audit.md。
  8. 最明确的实现集成问题是“正常软超时”与健康/验收状态未分开。 DEADLINE会永久设healthy=false,Runtime再永久设decisionHealthy=false,最终验收据此判无效;后续成功复用不恢复。已有5000ms历史合成测试确实同时出现放行、成功消费和最终decision_healthy=false。本轮未触发,不改变15条正式验收。缩短预算前应优先澄清并修复这一状态语义,而不是重做全局历史或扩大Witness。源码与历史日志见sync-wait-implementation.md。

数据与范围

本轮Native基线为9a5b577b77a6a87efcd8e6e218693af6faed17ce,native/ape.jar SHA256为c08fdb34321c760112383b9afc2c11360d35f01120259492ea25d39fb95ea370。当前191个Native Java源文件逐字节等于该提交;15条Run的冻结summary均记录同一commit/JAR。保存的构建身份把该源码与该JAR关联,本次另对实际JAR反汇编核对probeTimeoutMs默认5000、submitRetained、awaitUntil和Witness选择调用。Java离线排序使用配套ape-java.jar,没有重新编译或覆盖Native JAR。身份检查见evidence/code-identity.json、DEX、既有构建回执。这不是一次新的完整Android可复现构建证明。

本任务只读15条既有正式ZIP、150条既有Probe审查、Git历史、既有历史合成测试以及Gateway只读数据库的限定字段。没有运行APE、模拟器、模型API、历史测试服务器,没有改限速、算法、Prompt、JAR、平台或既有报告。新增脚本均在本目录。所有方法增量继续引用上一轮已确定的METHOD观测口径,不重新解释为完整APK-wide贡献。

等待量与预算选择

App 条件 HTTP数 实测await累计秒 回执P50/P90/P95/P99秒 await P50/P90/P95/P99秒 Gateway队列秒
activitydiary JEV 243 699.014 2.806/4.697/4.785/5.005 2.806/4.697/4.784/5.005 410.307
activitydiary PURE_APE 0 NA NA/NA/NA/NA NA/NA/NA/NA 0.000
activitydiary STARTLUX 140 146.559 0.943/1.387/2.009/2.112 0.943/1.387/2.009/2.112 8.924
odkcollect JEV 20 70.811 4.640/5.188/5.217/5.217 4.640/5.188/5.217/5.217 47.512
odkcollect PURE_APE 0 NA NA/NA/NA/NA NA/NA/NA/NA 0.000
odkcollect STARTLUX 7 9.873 1.391/2.118/2.262/2.378 1.391/2.117/2.262/2.377 0.569
omninotes JEV 80 152.592 1.389/3.533/4.108/4.609 1.388/3.533/4.107/4.609 55.344
omninotes PURE_APE 0 NA NA/NA/NA/NA NA/NA/NA/NA 0.000
omninotes STARTLUX 97 114.423 1.066/1.833/1.941/2.388 1.066/1.833/1.941/2.388 7.352
scarletnotes JEV 318 1273.566 4.779/5.175/5.234/5.376 4.778/5.175/5.234/5.376 900.873
scarletnotes PURE_APE 0 NA NA/NA/NA/NA NA/NA/NA/NA 0.000
scarletnotes STARTLUX 74 109.616 1.576/1.915/2.056/2.427 1.575/1.915/2.055/2.427 4.901
wikipedia JEV 25 35.008 1.338/1.424/1.514/3.042 1.338/1.422/1.513/3.042 3.115
wikipedia PURE_APE 0 NA NA/NA/NA/NA NA/NA/NA/NA 0.000
wikipedia STARTLUX 26 35.369 1.054/2.051/2.545/2.688 1.054/2.051/2.544/2.687 1.777

五条Pure没有模型请求,分布为NA,不把“无样本”当零延迟。请求回执时间来自Native Result.completed-submitted;await来自同review唯一网络请求的SEMANTIC_REVIEW_TIMING.provider_wait_ns。本轮1,030/1,030均满足唯一请求,逐行与既有性能审查一致;等待事件到消费事件之间未出现普通选择。并非将所有HTTP延迟盲目相加认定阻塞,而是另有await实测和同步调用路径证据。

预算秒 完整回执≤预算 /1030 完整回执>预算 /1030 纯await截尾量秒 prepare完成≤预算 /1030 prepare数值尾长秒
3 641 389 612.507 627 711.297
5 909 121 18.793 830 51.445
8 1030 0 0.000 1030 0.000
10 1030 0 0.000 1030 0.000

纯await截尾量为Σmax(实测await−预算,0),仅是冻结请求轨迹的离线等待尾部。真正配置约束包括本地prepare;prepare数值尾长为Σmax(prepare−预算,0),含本地和处理部分,既非全部可抢占时间,也不可与await截尾相加。5秒下纯await总尾长18.793秒(Scarlet17.364、Activity0.301、ODK1.128),3秒为612.507秒。预算更短可能让APE换页面、取消或重发,不能据此预测普通动作增加多少。

历史与Witness的结论边界

文件与复核入口

用户要求的11个文件均在本目录;另有逐请求等待、150条原生生命周期、51条Witness排名、全局限流重放和原始证据摘录。建议先读本文件,再读同步等待、历史案例与Witness三个专项。

复现:在仓库根目录依次执行python reports/guitaboo-runtime-history-audit-20261107/build_audit.py、python reports/guitaboo-runtime-history-audit-20261107/analyze_details.py、python reports/guitaboo-runtime-history-audit-20261107/write_reports.py。Java helper只调用配套冻结Java JAR的纯排序方法;原始Gateway记录使用本目录已保存快照。初次限定字段数据库快照与DEX导出命令分别记录在evidence/global-jev-calls.json与evidence/dex-command.json。

验收及原件保护结果:validation.json。本报告提出建议,未实施修复。