Silent1566
|
0b7ebfd087
|
merge: 合并 origin/beta 最新代码(PR#448/#449/#450)并复评修正 py 初始化失败静默与缓存归因文档缺陷
把 origin/beta tip 12d7d559e5 合入 dev2,0 冲突,合并内容相对 beta 中性
(净差异恰为 dev2 自身 6 个路径)。回退类提交零复活:文件级(66 个 revert
删除路径与合并树减 beta 树交集 = 0)与行级(7329 条 revert 删除实质行与 407 条
净新增实质行交集 = 0)双口径均为 0,且检测器注入探针自检 PASS;评估索引行 ID
集合 beta 86 = 合并后 86,零丢失零多余。
复评本轮 4 个已提交未推送的提交与合并交互,3 轮评审发现 2 项必修:
- PyLoader 初始化失败在默认设置下变成完全静默(P1,可观测性回归):
前置提交把 catch 里的 e.printStackTrace() 换成 SpiderDebug.log,而后者每条
重载首行都是 DebugLogStore.acceptsTag(tag),其 enabled 默认 false(只有用户
手动打开调试日志才为真)。默认设置下 py 站源初始化失败既不进诊断日志也
不再进 Logcat,而这里正是站点全空却没有任何线索的唯一解释点。恢复
printStackTrace 与两条 SpiderDebug.log 并存,与兄弟 JsLoader 口径一致。
- docs/integration/spider.md 第 4 层缓存归因错误(P2):原文称 load_module()
命中已导入模块时返回 sys.modules 旧模块对象;实测(CPython 3.10 与 3.14 双
版本复现)load_module() 每次都会重新执行源码,真正复用旧字节码的是
__pycache__ 校验,判据只有源文件的 mtime 与 size。按该双条件精确改写,并
补一行同大小加同 mtime 秒的实测结论。
新增 app/src/test/java/com/fongmi/android/tv/api/loader/PyLoaderDiagnosticsWiringTest.java
作为回归锁,并在断言前剥离注释行,避免把 e.printStackTrace() 注释掉也能通过
而使守卫退化成恒真检查。
Verification: 7 组变异探针全部按预期转红并干净还原(git hash-object 与修复后
版本逐字节相同:PyLoader 11f1404045、SiteViewModel 976a508d5c、JsLoader
97d5761b09);定向单测 SiteViewModelSubmitAfterClearTest 4/4、
PyLoaderDiagnosticsWiringTest 3/3、JarLoaderTest 7/7、LoaderClearQueueTest 1/1,
leanback PlayerControlFocusHelperSeekReturnTest 13/13;双 flavor 与 chaquo Java
编译 BUILD SUCCESSFUL;chaquo/src/test/python 契约测试 36/36 在 CPython 3.10
与 3.14 均 OK;git diff --check 通过;UI token 对比度 38 对 0 失败;gradlew
clean BUILD SUCCESSFUL。全量单测剩余 3 项失败为既有 Windows CRLF 跨行字面量
缺陷(ReaderPlaybackRoutingSourceTest 两项、TmdbSourceOnlyInteractionTest 一项),
相关测试类与被断言的生产文件在 beta、开工前 HEAD、最终树三处 blob 逐一相同,
既不在本任务净差异内也不在 beta 增量内,按范围记录不修。
Task-Guard: C73-beta-merge-review-dev2-20261016
Verification: merge origin/beta 12d7d559e5 into dev2 with 0 conflicts, zero-content-neutral merge (tree diff vs beta = exactly dev2's own 6 paths); 5-layer zero-resurrection evidence (beta 5070 paths missing 0, 3 additions all task-owned test files, 66 revert-deleted files vs merge-minus-beta = 0, 7329 revert-deleted substantive lines vs 407 net-added = 0, assessment ledger row-ID set beta 86 = merged 86) with falsifiable detector self-check PASS; 3 review rounds found 2 must-fix (P1 PyLoader lost its only always-on failure channel because SpiderDebug.log is gated on DebugLogStore.acceptsTag which defaults false, restoring e.printStackTrace alongside the diagnostic-store call; P2 docs/integration/spider.md mis-attributed py staleness to sys.modules when load_module re-executes every time and the real reuse is the __pycache__ mtime+size check), added PyLoaderDiagnosticsWiringTest regression lock; 7 mutation probes all turned red as designed and every probe restored byte-identical via git hash-object (PyLoader 11f1404045, SiteViewModel 976a508d5c, JsLoader 97d5761b09); targeted tests 4/4 + 3/3 + 7/7 + 1/1 + leanback 13/13 pass, dual-flavor and chaquo Java compile BUILD SUCCESSFUL, python contract tests 36/36 on CPython 3.10 and 3.14, git diff --check clean, UI token contrast 38 pairs 0 failures, gradlew clean BUILD SUCCESSFUL; the 3 remaining full-suite failures are pre-existing Windows-CRLF assertion bugs in files byte-identical across beta/pre-task-HEAD/final-tree and are recorded as out of scope
Task-Guard: C73-beta-merge-review-dev2-20261016
|
2026-10-16 13:23:51 +08:00 |
|