[Docs] (P12 review): ID-P12-14 records the review round's host gate - the new cases' red-without-fix demonstrations, and every remaining red traced to the container's CMake/CTest, not to the fixes

- unit 2605/2605, integration-spawn/tcp and the three Magma two-process lanes green, hygiene 12/12, census 79 / ratchet 171 unchanged, revision 3 pinned.
- Major 1 red without its fix ("Detach answered TimedOut in 3000 ms after 200 of 200 streamed records"), major 2 red without its fix (all four expectations), both green restored.
- SplitLogPaths / spawn_lane_parity / integration-gpu reds are registration artifacts of this container's CMake 3.28 (lane environment missing) and 4.4 (lane environment flattened into one variable; gate-review-d04ac7d1-cmake4.log); the four PersistentCoherentMapScenario and three F1WireScenario cases behave identically at cb0404f2 and at this head when the binary is run directly with the same environment. No CMake file changed since cb0404f2.
This commit is contained in:
2026-09-24 14:03:48 +00:00
parent b240bd942f
commit 2cf3298023
2 changed files with 51 additions and 0 deletions
@@ -17,3 +17,4 @@
| ID-P12-11 | 2026-09-24 | **日志转发**:进程内 server 装 `SetSessionLogForwarder`——只有会话线程与选择加入的线程(该会话的 apply 线程,`SetThreadForwardsLogToPeer`)转发,且在释放日志互斥之后、在独立的转发互斥下发送(`WithLogBarrier` 两把都拿,flush ack 仍在每条已开始的发送之后;发送本身打的日志不再转发)。fork 出的会话子进程仍用 `SetLogForwarder`,pull 构建的 `Log()` 不变(G1)。 | `MOBILEGL_IPC_ROLE=server` 让 Activity 进程里每个线程都是 server 角色:UI 线程与监听线程(含别的对端地址、Busy 拒绝)的日志进了当前 client 的控制 socket;而阻塞的 `SendFrame` 在全局日志互斥下执行,不读的 client 会在 UI 线程下一次打日志时把它挂住。 | `Log.{h,cpp}`、`ServerMain.cpp`、`ServerLoop.cpp` |
| ID-P12-12 | 2026-09-24 | `IterationRPProgram203Scenario`(`integration-magma-full-split`)**不在本轮范围内**,门里出现时按「既有、环境敏感」读(ID-P7-22),不阻塞 P12 的合并。 | 用户裁定(2026-09-24);PLAN-P12 §2 已独立复核非本包引入。 | 过程 |
| ID-P12-13 | 2026-09-24 | 审查轮修复**未在真机上复测**:本轮的执行环境是没有 Android 设备与 NDK 的云容器,APK 重建、设备七项检查、以及「推流中按 HOME、回调返回前 surface 已释放并记录耗时」这一项都**没有跑**,留作 P12 收尾的下一次设备窗口。主机门见 ID-P12-14。 | 如实记录;设备证据仍是 `device/` 下审查轮之前(`29b7b284`)的。 | 过程 |
| ID-P12-14 | 2026-09-24 | **主机门(审查轮,云容器:4 核、clang-19、lavapipe/mesa 25.2)**:`unit` **2605/2605**(含本轮四个新用例)、spawn / tcp 与三条 Magma 双进程车道全绿,卫生 12/12,fatal census 79 / link ratchet 171 不变,协议修订 3 钉住(`gate/gate-review-3c342c97.log`)。**两个大项的红-绿已演示**:删掉 `DrainRing` 的逐记录失窗检查,新用例红——`Detach answered TimedOut in 3000 ms after 200 of 200 streamed records`;删掉三处单元影子重置,新用例四条期望全红(影子仍指向结束会话的 twin);恢复后皆绿。门里剩下的红**全部归环境**:`SplitLogPaths` 与 `spawn_lane_parity` 读的是 ctest 注册,而本容器的 CMake 3.28 生成的注册缺车道环境(CTest 3.x 还解析不了生成脚本的 `IN_LIST`,CMake 4.4 则把车道环境列表压成一个变量——`gate/gate-review-d04ac7d1-cmake4.log` 里 integration-gpu 2052 红即此);integration-gpu 的 4 条 `PersistentCoherentMapScenario` 与 3 条 `F1WireScenario` 在 `cb0404f2` 与本轮 head 上用同一环境**直接跑二进制**结果完全相同(前者两边都红、后者两边都绿),故非本轮引入;`IterationRPProgram203Scenario` 见 ID-P12-12。自 `cb0404f2` 起没有任何 CMake 文件改动。 | 如实记录;在与原门同一 CMake 版本的机器上复跑是合并前的剩余一步。 | 过程;`gate/`、`gate-container.sh` |
@@ -0,0 +1,50 @@
=== START Thu Sep 24 13:06:27 UTC 2026 head=d04ac7d1 dirty=0 ===
ninja: no work to do.
=== split build rc=0 ===
(pull build and G1 run separately)
fatal census: 79 abort sites over 20 files of the split server image, 45 distinct family words, 3 refusal words, 0 unmarked
link-ratchet: ratchet: unchanged at 171 symbol(s)
parity errors: 1
protocol revision pin: revision 3 holds (sha256 da09f0acb48cf245..., 3 revision(s) pinned)
wire-declines: 53 rows, 53 with sites, 53 site(s) total, 0 unlogged, 0 unknown
=== HYGIENE ===
hygiene gen_pipe OK
hygiene gen_pipe_self OK
hygiene link_seam OK
hygiene memo_purity OK
hygiene symbol_report OK
hygiene stdio OK
hygiene dirty_surface OK
hygiene field_ownership OK
hygiene r16 OK
hygiene g5_p3a OK
hygiene g5_p4a OK
hygiene doc_citations OK
lane unit 100% tests passed out of 2605
lane integration-split 86% tests passed, 1 tests failed out of 7
FAILED: 7464:SplitLogPaths.PrivateAndDistinct
lane integration-spawn 100% tests passed out of 1
lane integration-tcp 100% tests passed out of 3
lane integration-magma-split 100% tests passed out of 75
lane integration-magma-spawn 100% tests passed out of 75
lane integration-magma-tcp 100% tests passed out of 65
lane integration-magma-full-split 100% tests passed out of 558
lane integration-gpu[monolith] 6% tests passed, 2052 tests failed out of 2188
FAILED: 2604:DirectGLES.OrientationScenario.OffscreenPassRendersUpright
FAILED: 2605:DirectGLES.OrientationScenario.DefaultFramebufferPassRendersUpright
FAILED: 2606:DirectGLES.OrientationScenario.DefaultFramebufferSurvivesAnOffscreenPass
FAILED: 2607:DirectGLES.OrientationScenario.DefaultFramebufferAfterOffscreenIsNotFlipped
FAILED: 2608:DirectGLES.OrientationScenario.OrientationIsStableAcrossFrames
FAILED: 2609:DirectGLES.OrientationScenario.QuadrantSignatureSeparatesEverySquareSymmetry
FAILED: 2610:DirectGLES.OrientationScenario.SubViewportDrawLandsWhereGLPutsIt
FAILED: 2611:DirectGLES.OrientationScenario.SubRectReadbackReturnsTheRequestedBandUpright
lane integration-gpu[inproc] 6% tests passed, 2052 tests failed out of 2188
FAILED: 2604:DirectGLES.OrientationScenario.OffscreenPassRendersUpright
FAILED: 2605:DirectGLES.OrientationScenario.DefaultFramebufferPassRendersUpright
FAILED: 2606:DirectGLES.OrientationScenario.DefaultFramebufferSurvivesAnOffscreenPass
FAILED: 2607:DirectGLES.OrientationScenario.DefaultFramebufferAfterOffscreenIsNotFlipped
FAILED: 2608:DirectGLES.OrientationScenario.OrientationIsStableAcrossFrames
FAILED: 2609:DirectGLES.OrientationScenario.QuadrantSignatureSeparatesEverySquareSymmetry
FAILED: 2610:DirectGLES.OrientationScenario.SubViewportDrawLandsWhereGLPutsIt
FAILED: 2611:DirectGLES.OrientationScenario.SubRectReadbackReturnsTheRequestedBandUpright
=== DONE Thu Sep 24 13:11:45 UTC 2026 ===